English | 한국어
Agent Control Plane from your palm
Fulcrum is an agent orchestrator that lets you command multiple Claude Code instances from Telegram, with offline resilience and swappable message brokers.
- Deterministic Orchestration — routing and state management with zero LLM tokens
- Port/Adapter Architecture — swap SQLite for Redis with a single config change
- Ralph Loop — periodic session resets with external memory restoration
- Crash Recovery — automatic agent restart with unprocessed command replay
- Telegram Interface — command agents from your phone with
#agent-name message
# Clone
git clone https://github.com/your-username/fulcrum-acp.git
cd fulcrum-acp
# Setup (requires Python 3.14+ and uv)
uv sync --all-extras
# Run tests
make ci# SQLite broker (default)
docker compose up -d
# With Redis broker
docker compose --profile redis up -d# Show system status
flc status
# Send a command to an agent
flc send coder "analyze the project structure"
# Restore from a git repo (clone + docker compose up + healthcheck)
flc restore https://github.com/your-username/fulcrum-acp.gitAll configuration lives in fulcrum.yaml. Secrets are referenced via
environment variables (${FULCRUM_HMAC_SECRET}), never hardcoded.
Switch the message broker with a single line:
broker:
adapter: "sqlite" # or "redis"Clean Architecture with 4 layers:
Adapters → Ports → Use Cases → Domain
Dependencies always point inward. Domain has zero external dependencies.
See docs/architecture.md for details and docs/fulcrum-prd.md for the full specification.
- Python 3.14+ (asyncio)
- FastAPI + uvicorn
- SQLite (WAL mode) + aiosqlite
- python-telegram-bot
- Redis (optional, for multi-PC scaling)
- Docker + Docker Compose
This project is not affiliated with Fulcrum (mobile data collection platform).