Personal AI agent daemon accessible via Telegram. Built on Claude, with persistent memory, skill learning, and extensible tool orchestration. The agent's internal codename is Anima; that is the name it answers to.
Developed privately (181 commits, April-May 2026); history filtered from the private original; personal and unrelated material removed.
- Answers questions, runs commands, manages files, searches the web
- Remembers across sessions (hybrid vector+keyword memory with dream consolidation)
- Learns new skills from successful task patterns (extraction, probation, routing feedback)
- Schedules recurring tasks (cron) and runs background compute during idle time
- Processes documents and images natively; audio/video workflows are CLI-backed and dependency-gated
- Browses websites and tests apps through local CLI/MCP tooling such as OpenCLI and Maestro when installed
- Runs multi-source social research through local tools such as last30days when installed
- Self-diagnoses via
/doctor, gracefully interrupts on new messages
Runtime-registered builtin tools, skills, 12-layer security, and 3-tier memory with dream synthesis. Optional CLI tools (ffmpeg, pandoc, gh, opencli, aria2c, tesseract, maestro, whisper, last30days) are invoked through bash when installed and are reported by /doctor as available or degraded. Agent loop with stuck detection, failure diagnosis, effort scaling, graceful user interrupt, and trajectory-based learning.
src/
index.ts # CLI entry + Telegram bot orchestration
agent/ # Agent loop, effort scaling, stuck detection, verification, trajectory
tools/ # Tool registry, builtins, MCP client, executor, document processing
memory/ # Hybrid search, dream consolidation, decay, embeddings, integrity
skills/ # Loader, extractor, versioning, probation, routing, quality gate, dedup
security/ # 12 composable layers (injection, leak, redact, SSRF, Rule of Two)
providers/ # Anthropic SDK + provider chain (retry, cache, cost guard, recording)
telegram/ # Bot, streaming bridge, commands, access control, flood control
autonomy/ # Cron scheduler, sleep-time compute, heartbeat
sandbox/ # Docker container execution with network proxy
config/ # Zod-validated YAML + env config
db/ # SQLite wrapper (WAL, FTS5, sqlite-vec)
resilience/ # Disk monitoring, auto-cleanup
service/ # launchd/systemd process supervision
workspace/ # Git-backed workspace initialization
utils/ # Logger (pino), EventBus
- Node.js >= 22
- pnpm >= 10
- Ollama (for embeddings)
- Docker (optional, for sandbox)
pnpm install
cp config.example.yaml config.yaml
# Edit config.yaml with your API keys, or set via env:
# GOD__LLM__API_KEYS, GOD__TELEGRAM__BOT_TOKEN, GOD__TELEGRAM__ALLOWED_USER_IDSpnpm build
node dist/index.js start # Start the daemon
pnpm dev # Development mode (tsx)
pnpm test # Run tests
pnpm typecheck # Type check
pnpm lint # LintYAML config with environment variable overrides (GOD__SECTION__KEY format):
GOD__LLM__API_KEYS="sk-ant-..."
GOD__TELEGRAM__BOT_TOKEN="..."
GOD__TELEGRAM__ALLOWED_USER_IDS="[123456]"
GOD__SEARCH__API_KEY="..." # Brave Search (optional, DDG fallback)
GOD__MEMORY__EMBEDDING__MODEL="qwen3-embedding:0.6b"| Command | What it does |
|---|---|
/opus /sonnet /haiku |
Switch model |
/status |
System status (model, cost, tools, tasks) |
/doctor |
Health diagnostics (14 checks) |
/autonomy 0|1|2|3 |
Set autonomy level (supervised → full trust) |
/effort low|medium|high|off |
Override effort scaling |
/dream |
Trigger memory consolidation |
/memory |
Show memory contents |
/recall on|off |
Toggle active memory recall |
/sandbox on|off |
Toggle Docker sandbox |
/approvals |
List/remove tool approvals |
/reset |
Clear conversation history |