Dev & Engineering rust-cliterminal-uimulti-providerbrowser-automationa2a-protocollocal-memorytelegram-bottask-scheduling

OpenCrabs Terminal Agent

A Rust single-binary terminal agent that combines multi-provider AI, local tools, channels, and autonomous task execution.

FollowAgents review · FARS-2.1
Not recommended
53/ 100 5-point scale 2.7 / 5
1 2 3 4 5 6
Per-dimension scores and reasoning
1Trust13 / 29 · 2.2/5

Evidence: README claims zero telemetry, local data storage, API keys cleared with zeroize, but no code-level verification. Subagents with auto-approve and autonomous self-improvement (self_improve without human approval) indicate high permissions. Dependency audit has ignore list but no full vulnerability details. External effects include network calls, file operations, bash execution, but user confirmation mechanism unclear. Rollback only mentions backups, not detailed. Source attribution: author identified, but publisher unverified. Deductions: lack of code evidence for security claims, auto-approve and autonomous improvement reduce least privilege and user confirmation scores.

2Reliability8 / 14 · 2.9/5

Evidence: README and Cargo.toml descriptions consistent, feature list detailed, but no test results or runtime verification. Dependencies pinned, but some from git references, availability depends on upstream. Failure messages: README mentions diagnostic logs, but no specific error handling examples. Deductions: static review cannot verify runtime reliability, failure message evidence insufficient.

3Adaptability10 / 18 · 2.8/5

Evidence: Target users are developers, scenarios include terminal use, multi-channel integration, local LLMs. Capability boundaries described in README, but trigger precision (e.g., command triggers) not detailed. Environment fit: supports multiple platforms, but no specific system requirements. Deductions: trigger precision evidence insufficient, environment fit details limited.

4Convention10 / 18 · 2.8/5

Evidence: README structure clear, includes installation, configuration, usage. Naming stable, version number clear. Examples and FAQ present, but known limitations not explicitly listed. License MIT, but changelog not provided. Maintenance responsibility: author identified, but no contribution guide or maintenance plan. Deductions: missing known limitations and changelog, maintenance responsibility evidence insufficient.

5Effectiveness9 / 13 · 3.5/5

Evidence: Output usability high, provides multiple output formats (documents, voice). Marginal value: advantages over Node.js frameworks, but no performance benchmarks. Cost-benefit: claims zero telemetry and local processing, but no cost analysis. Deductions: lack of runtime data to support effectiveness claims.

6Verifiability3 / 8 · 1.9/5

Evidence: Claims in README not backed by code references or test evidence. Cross-source corroboration: only README, no other sources. Fact-inference separation: not clearly distinguished. Deductions: all claims unverified, lack traceability.

Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision 3a53794e4ce5
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
Before you use it
  • Auto-approve subagents and autonomous self-improvement may pose security risks; use with caution.
  • Dependency audit ignore list lacks detailed explanations; users should review themselves.
  • Security claims in README (e.g., zero telemetry) are not code-verified; treat with caution.
Review evidence [1][2][3][4][5]
See the full review method →

What does this agent do, and when should you use it?

OpenCrabs is a Rust-based terminal agent with a TUI, interactive CLI, non-interactive `run` command, and headless daemon mode. Its documented local boundary includes workspace files, SQLite-backed sessions, brain files, and local memory, while model requests are made directly over HTTPS. The repository describes multi-provider model access, tool execution, child-agent orchestration, browser CDP automation, cron jobs, and an A2A HTTP gateway. It also documents integrations for Telegram, WhatsApp, Discord, Slack, and Trello, with session or channel-specific context isolation. It fits technical users who want one locally operated terminal interface for coding, file work, research, and channel automation, but the supplied material does not verify an installation path or every operational claim.

A user submits work through the TUI, opencrabs agent, or opencrabs run <prompt>; the agent can use file I/O, bash, web search, browser CDP, memory search, cron, and dynamic tools, while storing chats, tool history, and sessions in SQLite. It registers skills from ~/.opencrabs/skills/<name>/SKILL.md, loads HTTP or shell tools from ~/.opencrabs/tools.toml, and manages them with tool_manage. Its child-agent workflow uses spawn_agent, wait_agent, send_input, close_agent, and resume_agent; its A2A gateway exposes JSON-RPC 2.0 message/send, message/stream, tasks/get, and tasks/cancel. Results can be terminal responses, generated XLSX/DOCX/PDF/PPTX files, images, channel messages, or scheduled-job output.

  1. A solo developer working in a local repository who wants a TUI agent to inspect files, run bash, and use installed tools such as git or Docker.
  2. An engineering team that needs per-session model selection across OpenAI, Anthropic, OpenRouter, Gemini, or OpenAI-compatible endpoints, including fallback providers.
  3. A channel automation owner who needs to receive files, images, or voice messages in Telegram, Discord, or Slack and return analysis or generated documents.
  4. A personal operations user who wants a headless daemon to run cron jobs, heartbeats, or an autonomous /goal loop.
  5. A tester who needs CDP-driven navigation, clicking, typing, screenshots, and content extraction in an installed Chromium-based browser.
  6. An integrator connecting task exchange or streaming messages with other A2A Protocol RC v1.0 agents.

What are this agent's strengths and limitations?

Pros
  • It is positioned as one Rust binary with TUI, CLI, and daemon interfaces rather than only a library or chat surface.
  • The documentation lists multiple provider paths—OpenAI, Anthropic, GitHub Copilot, OpenRouter, Gemini, Ollama, LM Studio, and OpenAI-compatible APIs—with per-session model selection and fallbacks.
  • Its documented local boundary includes SQLite sessions, brain files, embeddings, and tool execution; the README explicitly states zero telemetry and identifies the categories of outbound traffic.
  • It combines channel bots, browser CDP, A2A JSON-RPC, dynamic tools, SKILL.md skills, and cron scheduling in one process.
  • Split panes, parallel sessions, and typed child agents target concurrent coding and research work.
Limitations
  • The supplied content does not include a verifiable installation or build command, so first deployment, supported operating systems, and release acquisition cannot be established from it.
  • Model calls, web search, GitHub operations, browser automation, and dynamic HTTP tools can all make external network requests; local execution does not mean every workflow is offline.
  • Telegram, WhatsApp, Discord, Slack, Trello, voice, image, and browser features each require their own credentials, accounts, model keys, or system setup.
  • Browser automation is limited to Chromium-based browsers; the README explicitly says Firefox is unsupported because it lacks CDP support.
  • Some features depend on optional external components or services: scanned PDFs need poppler, PPTX generation needs python-pptx when available, and voice paths have backend-specific dependencies.
  • Recursive self-improvement is marked experimental, and self_improve can modify brain files without human approval, which requires deliberate governance before adoption.

How do you install or deploy this agent?

The supplied material does not provide a verifiable binary download, package-manager, Cargo, or Docker installation command, so a copyable installation procedure cannot be confirmed. Once an opencrabs executable is available, run opencrabs init to initialize configuration and opencrabs onboard for the setup wizard. Configure credentials for the chosen model provider through the wizard or keys.toml.

How do you use this agent?

After configuration, run opencrabs to start the default TUI, or run opencrabs run <prompt> for a one-shot unattended task. Use opencrabs status for a system overview and opencrabs doctor to check configuration, provider connectivity, database, brain files, channels, and PATH tools. For channel-only operation without a UI, run opencrabs daemon.

How does this agent compare with similar options?

The README compares OpenCrabs with Node.js agent frameworks such as Open Claw. It positions OpenCrabs as a native Rust single binary with no Node.js runtime, local SQLite storage, outbound HTTPS, and zero telemetry. The stated size, security, and cost advantages will depend on the actual version, selected provider, and deployment environment.

FAQ

Do I have to buy access from one specific model provider?
No. The documentation lists several cloud providers, GitHub Copilot and Codex CLI subscription paths, plus Ollama, LM Studio, and other OpenAI-compatible endpoints. Actual availability depends on configuration and credentials.
What data leaves the machine?
The README says chats, sessions, memory, tool records, and configuration stay local. Messages sent to model providers, optional search queries, GitHub CLI activity, browser automation, and dynamic HTTP tool requests can leave the machine.
Can it run on a server without a terminal UI?
Yes. The documented opencrabs daemon mode runs channels without the TUI, and the CLI includes service-management commands.
Can tool execution get stuck?
The README says it rejects interactive commands that could hang and short-circuits repeated failing bash commands. You should still configure approval and access policies appropriate to your environment.

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents