GitHub - PleasePrompto/ductor: Control Claude Code, Codex CLI and Gemini CLI from Telegram. Live streaming, persistent memory, cron jobs, webhooks, Docker sandboxing.
Summary
Ductor is a Python tool that exposes Claude Code, Codex CLI, and Gemini CLI through a Telegram (or Matrix) bot - running the official CLIs as subprocesses with zero API spoofing. It adds persistent memory, named sessions, background tasks, cron scheduling, webhooks, Docker sandboxing, and multi-agent delegation on top of existing subscriptions like Claude Max.
Key Insight
- Uses official CLI binaries as subprocesses, not SDK patches - compliant with provider ToS and works with any active subscription (Claude Max, etc.), no separate API key required
- Multi-context architecture: private chat, Telegram group topics, named sessions, and background tasks each maintain isolated conversation state while sharing a single
~/.ductor/workspace - Cron + webhooks enable fully autonomous, unattended agent runs - e.g. daily reports, scheduled research tasks, metric digests - with results routed back to specific chats or topics
- Cross-agent delegation: a Claude agent can hand off subtasks to a Codex or Gemini sub-agent, each with its own workspace, memory, and config
- State is entirely plain files (JSON + Markdown) - no database, portable, easy to inspect and back up