Skip to main content

CrabAgent - AI Agent Platform with dual-mode (CLI + Serve)

Project description

๐Ÿฆ€ CrabAgent

AI Team Command Center โ€” Build a team of specialized AI agents that learn and improve over time. Delegate, parallelize, and watch them work in real-time from terminal or browser.

CrabAgent is a local-first AI agent platform. Run it from any project directory via CLI or browser. Your data stays local, your API keys are encrypted, and you pick any LLM provider.


Why CrabAgent

Unlike other agent platforms where agents are "temporary workers who forget everything," CrabAgent's agents learn and evolve:

Capability What it means
๐Ÿง  Self-Evolving Agents Agents auto-extract lessons from every task โ€” rule engine catches patterns, LLM reflection analyzes strategies. The more you use them, the smarter they get.
๐Ÿค– AI Team Custom agent profiles with per-agent tool whitelists and model overrides. Delegate, parallelize, or run multi-step pipelines.
๐Ÿ“Š Agent Growth Tracking View each agent's stats: task count, success rate, lessons learned, common task categories. ctrl+space agent_stats
โฑ Scheduled + Real-time Agents run on cron schedules or react to @mentions. Real-time streaming of every agent's output.
๐Ÿฆ€ Snapshots Auto-snapshot files before changes. Roll back anytime without Git.
๐Ÿ”’ Local-first All data stays on your machine. API keys encrypted at rest. No telemetry.

Quick Start

pip install 'crabagent[serve]'

crabagent init

# TUI โ€” interactive REPL with slash commands
crabagent

# TUI (legacy single-panel)
crabagent --old

# Web UI
crabagent --serve          # โ†’ http://localhost:5210
                           # Default login: admin / xcl1989

# Single-query CLI
crabagent "organize this directory"
crabagent -p deepseek -m deepseek-chat "write a Python script"

Self-Evolving Agents

This is CrabAgent's core differentiator. Agents don't just execute tasks โ€” they learn from every execution.

How it works

Sub-agent completes task
    โ”‚
    โ”œโ”€ Rule Engine (instant)
    โ”‚   โ””โ”€ High iterations (>80% max) โ†’ "Decompose complex tasks, use fewer tools per step"
    โ”‚
    โ””โ”€ LLM Reflection (~1-3s)
        โ”œโ”€ Extracts concrete, actionable insights:
        โ”‚   "When searching Chinese news, use English keywords on DuckDuckGo for better results"
        โ”‚   "For error-prone sites, prefer web_scrape with direct URLs over web_search"
        โ”œโ”€ Auto-filters generic/noise responses ("completed in X steps")
        โ”œโ”€ Also learns from failures: captures what went wrong and how to avoid it
        โ””โ”€ Source: llm

Knowledge persistence

  • Team Knowledge: Tech stack, architecture decisions, user preferences โ€” auto-injected into every session
  • Agent Lessons: Per-agent concrete insights grouped by category (Pitfalls / What Worked) โ€” loaded before similar tasks
  • Task Records: Every execution logged (success, elapsed time, tokens, iterations)

Tracking growth

# TUI
/agent_stats coder
# โ†’ ๆ€ปไปปๅŠก: 23  ๆˆๅŠŸ็އ: 91%  ๅนณๅ‡่€—ๆ—ถ: 14s
# โ†’ lessons: 18 (่ง„ๅˆ™: 3, LLM: 15)

# Web UI
# โ†’ Agent Team โ†’ Learning Stats: click agent name to see stats + all lessons

---

## AI Team

### Built-in agents

| Agent | Role | Best For |
|-------|------|----------|
| ๐Ÿ” Researcher | Web research | Search, browse, data collection |
| ๐Ÿ“Š Analyst | Data analysis | Comparison, pattern detection, reports |
| ๐Ÿ’ป Coder | Code expert | Write, review, debug, refactor |
| ๐Ÿ“ Writer | Content writer | Write, edit, translate, format |

### Delegation

- `@researcher find competitor pricing` โ€” @mention auto-delegates
- Click an agent from the toolbar to insert a mention
- `/delegate` command for interactive agent selection
- `delegate_parallel` runs multiple agents simultaneously
- `run_pipeline` chains agents with dependencies

### Real-time monitoring

- ๐ŸŸฃ **Running** โ€” live step count and timer
- ๐ŸŸข **Done** โ€” elapsed time, tokens, iterations
- ๐Ÿ”ด **Error** โ€” error summary
- Web: right-side Task Board with split-pane result comparison

---

## More Features

### ๐Ÿ–ผ๏ธ Multimodal
Paste, upload, or drag images. Auto-detects vision models.

### ๐ŸŒ Browser Automation
`pip install 'crabagent[browser]'` + `playwright install chromium`

Open https://news.ycombinator.com and show top 5 stories Search "Python async" on Google


### ๐Ÿ”Œ MCP Client
Connect external MCP servers (stdio + HTTP). Tools auto-discover.

### ๐Ÿ“‹ Scheduled Tasks

Remind me every day at 11:00 to drink water Check product page every 30 minutes, notify if price drops


### ๐Ÿฆ€ Snapshots
Auto-snapshot before file changes. Roll back with `/molt rollback <id>`.

### ๐Ÿ”ง Custom Plugins
Drop a `.py` file in `.crabagent/tools/`:

```python
name = "hello"
description = "Say hello"
parameters = {"type": "object", "properties": {"name": {"type": "string"}}, "required": ["name"]}
requires_permission = False

def run(name: str) -> str:
    return f"Hello, {name}!"

CLI / TUI Commands

Command Description
/exit, /quit Exit
/help Show help
/clear Clear context
/model [name] Switch model
/models List models
/provider [cmd] Manage providers
/sessions / /session [id] List / load sessions
/new New conversation
/agents [cmd] Agent team management
/agent_stats <name> Agent growth stats
/delegate [@agent] [task] Delegate task
/memory [list|search|clear] Team memory
/skills / /skill <name> List / show skills
/molt [cmd] Snapshots
/todo [cmd] Task list
/export Export to Markdown
/image <path> [msg] Send image
/runs [agent] View agent run history
/abort Abort current agent (Ctrl+C)

Configuration

Variable Default Description
CRAB_DB_URL sqlite+aiosqlite:///./crabagent.db Database URL
CRAB_JWT_SECRET Auto-generated JWT signing key
CRAB_SERVE_HOST 0.0.0.0 Serve host
CRAB_SERVE_PORT 5210 Serve port
CRAB_MAX_ITERATIONS 50 Max agent iterations
CRAB_MAX_TOKENS 4096 Max response tokens
CRAB_BROWSER_HEADLESS true Browser headless mode
CRAB_WEB_PROXY (empty) HTTP proxy for web_search & web_scrape

v0.7.2 Highlights

  • ๐Ÿ–ฅ๏ธ Dual-Panel TUI โ€” New prompt_toolkit-based full-screen TUI: scrollable output panel (mouse wheel + PageUp/Down/Home/End), persistent input area that auto-grows with content, and real-time status bar. Default mode (crabagent), use --old for legacy TUI.
  • ๐Ÿ–ฑ๏ธ Mouse Text Selection โ€” Hold Shift + mouse drag to select text in the output area. Ctrl+C copies to clipboard (macOS pbcopy / Linux xclip).
  • ๐Ÿ’ฌ Interactive Popup Menus โ€” /model, /sessions, /provider now show scrolling selection popups with arrow key navigation, instead of printing long lists.
  • ๐Ÿง  Streaming Thinking โ€” Agent reasoning (THINKING_DELTA) streams in real-time to the output panel, dim italic style.
  • ๐Ÿ’ก Completions Menu โ€” Slash command autocomplete appears as a floating completions menu above the input area.

v0.7.1 Highlights

  • ๐Ÿ“Š Pipeline Dashboard โ€” Real-time pipeline visualization: see active pipelines with step progress, agent cards with running counts, and growth charts. History pipelines auto-collapsed.
  • ๐Ÿ”„ AgentRun Persistence โ€” New agent_runs table tracks every agent/pipeline execution with full metadata (tool calls, elapsed time, tokens, iterations). API endpoints for run history and per-agent growth stats.
  • ๐Ÿ› Streaming Fix โ€” TEXT_DELTA and THINKING_DELTA events are no longer throttled/dropped by SSE forwarder. TEXT_DONE handler now uses full text from backend to ensure complete message display.
  • ๐Ÿ›  Tool Display Fix โ€” delegate_parallel arguments with nested objects no longer show [object Object] in the UI.
  • ๐Ÿ“ก RunRecorder โ€” EventBus subscriber that creates agent_runs records for pipeline, main, and sub-agent executions in real-time.

v0.7.0 Highlights

  • ๐Ÿง  Learning quality overhaul โ€” LLM reflection now extracts actionable insights (tool tricks, pitfalls, domain tips), no more "completed in X steps" noise. Failure learning added โ€” agents learn from mistakes too.
  • ๐ŸŒ Web proxy support โ€” CRAB_WEB_PROXY=http://127.0.0.1:7890 for web_search/web_scrape (critical for users behind firewalls).
  • ๐Ÿ“Š Learning Dashboard โ€” View each agent's task stats and past lessons directly in the Web UI Agent Team panel.
  • ๐Ÿ“ก Sub-agent persistence โ€” Completed sub-agents stay visible in the Dashboard for 30 minutes after finishing.

Installation

pip install 'crabagent[serve]'          # Web UI + API
pip install 'crabagent[browser]'        # Browser automation
pip install 'crabagent[dev]'            # Testing + linting
# Development
make install            # Build frontend + install (editable)
ruff check src/ tests/  # Lint
ruff format src/ tests/ # Format
pytest                   # Run tests

Project Structure

CrabAgent/
โ”œโ”€โ”€ src/crabagent/
โ”‚   โ”œโ”€โ”€ cli/           # CLI entrypoint + TUI
โ”‚   โ”œโ”€โ”€ core/agent/    # Agent loop, tools, compression, agents
โ”‚   โ”œโ”€โ”€ core/mcp/      # MCP client manager
โ”‚   โ””โ”€โ”€ serve/         # FastAPI + API + scheduler
โ”œโ”€โ”€ frontend/          # React SPA
โ””โ”€โ”€ crabagent.db       # SQLite database

License

GNU Affero General Public License v3 (AGPLv3) for non-commercial use. Commercial use requires a separate license. Contact the author.

See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

crabagent-0.7.2.tar.gz (497.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

crabagent-0.7.2-py3-none-any.whl (438.4 kB view details)

Uploaded Python 3

File details

Details for the file crabagent-0.7.2.tar.gz.

File metadata

  • Download URL: crabagent-0.7.2.tar.gz
  • Upload date:
  • Size: 497.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for crabagent-0.7.2.tar.gz
Algorithm Hash digest
SHA256 c3025c0acefa1bbbffd9f2b5ac2cbf719c21504758b03b6022c75e8a9821e85e
MD5 f0bf7e9abdb584847cf0e5409c926e5c
BLAKE2b-256 afa289afe35376dca0ff7e317287facc26b0f9ff87482184ac2506253c2ca86e

See more details on using hashes here.

File details

Details for the file crabagent-0.7.2-py3-none-any.whl.

File metadata

  • Download URL: crabagent-0.7.2-py3-none-any.whl
  • Upload date:
  • Size: 438.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for crabagent-0.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 73b799ff05d8042c9f5d8d2ffdb55712f5359cc169fac26d99042efa0a1bf663
MD5 838e39f45e3e74ff27318d4bce07afc3
BLAKE2b-256 b0894243b0308a3e8de227f150367fa0d4606fbbe12dc0f797e0391d6c0322f6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page