Ductor:用 Telegram 远程遥控 Claude Code / Codex / Gemini CLI——"穷人版 OpenClaw"?
> 来源: https://github.com/PleasePrompto/ductor
> PyPI: https://pypi.org/project/ductor/
> 作者: PleasePrompto
> 语言: Python 3.11+,~8000 行代码
> 日期: 2026-03-16
📌 一句话总结
Ductor 是一个 Python 工具,让你通过 Telegram(或 Matrix)远程控制本机运行的 Claude Code / Codex CLI / Gemini CLI。不代理 API、不伪造 header,直接把官方 CLI 当子进程跑,消息通过 Telegram 中转。支持实时流式输出、多会话、Cron 任务、Webhook、Docker 沙箱和子 Agent。
🏗️ 工作原理
你的手机 (Telegram)
↓ 消息
Telegram Bot API
↓
ductor (Python, 运行在你的服务器/电脑)
↓ 子进程调用
claude / codex / gemini CLI(官方二进制)
↓ 流式输出
ductor 捕获输出 → 实时编辑 Telegram 消息
核心思路:不走 API,直接用你的 CLI 订阅(Claude Max $100/月 无限用量等),把 Telegram 当遥控器。
✨ 功能全景
5 层交互架构
| 层级 | 功能 | 类比 |
|---|---|---|
| **Single Chat** | 1:1 私聊 = 一个 CLI 会话 | 就像开一个终端 |
| **Group Topics** | Telegram 论坛主题 = 隔离上下文 | 多个终端 tab |
| **Named Sessions** | 同一聊天内的具名会话 | `tmux` 会话 |
| **Background Tasks** | 后台委托长任务 | `nohup` / `&` |
| **Sub-Agents** | 完全独立的 bot 实例 | 另一台机器 |
其他特性
- 实时流式:Telegram 消息实时编辑(跟你看 ChatGPT 打字一样)
- Provider 切换:
/model命令随时切 Claude/Codex/Gemini - 持久记忆:Markdown 文件,跨会话保留
- Cron 定时任务:时区支持,结果路由到发起聊天
- Webhook:外部系统触发 Agent 工作
- Docker 沙箱:可选,代码在容器内运行
- 多语言:EN/DE/NL/FR/RU/ES/PT
- 跨工具 Skill 同步:
~/.claude//~/.codex//~/.gemini/共享 - 双重白名单:user_id + group_id,未授权群自动退出
🔄 Ductor vs OpenClaw
这是最重要的对比——因为 OpenClaw 做的事跟 Ductor 高度重叠。
| 维度 | Ductor | OpenClaw |
|---|---|---|
| **核心思路** | 用 Telegram 遥控官方 CLI | 统一的 AI Agent 框架 |
| **AI 接入** | 只能用官方 CLI(Claude Code/Codex/Gemini) | API 直连 50+ 模型提供商 |
| **渠道** | Telegram + Matrix | Discord/Telegram/WhatsApp/Signal/IRC/Slack/飞书/QQ... |
| **底层机制** | 子进程 → 正则解析 CLI 输出 | 原生 API 调用 |
| **工具/Skills** | 依赖 CLI 自带工具 | 丰富的内置工具 + ClawHub 生态 |
| **记忆** | Markdown 文件(简单) | MEMORY.md + 语义搜索(深度) |
| **Cron** | ✅ 有 | ✅ 有 |
| **Webhook** | ✅ 有 | ✅ 有 |
| **多 Agent** | Sub-agents(独立 bot 实例) | Agent 绑定 + ACP 子 Agent |
| **安装** | `pipx install ductor` | `npm install -g openclaw` |
| **配置** | JSON + 向导 | JSON + 向导 |
| **沙箱** | Docker sidecar | Docker / 内置沙箱 |
| **成本** | **免费用 CLI 订阅额度** | API 按 token 计费 |
| **代码量** | ~8K 行 Python | 大型 TypeScript 项目 |
Ductor 的独特优势
1. 利用 CLI 订阅:Claude Max ($100/月) 不限量,不按 token 计费。Ductor 让你通过 Telegram 远程用这个额度
2. 零 API 成本:不需要 API key,不花 token 钱
3. 官方 CLI 全部能力:Claude Code 的文件编辑、Codex 的代码执行等,全部保留
Ductor 的劣势
1. 依赖 CLI 可用性:如果 Anthropic 改了 CLI 输出格式,ductor 就坏了
2. 解析脆弱:正则 + 子进程 vs 原生 API → 更容易出错
3. 渠道少:只有 Telegram + Matrix
4. 生态小:没有 ClawHub、没有插件市场
5. 功能上限:CLI 能做什么就做什么,无法扩展
💡 与我们的关联
1. 我们不需要它
我们已经有 OpenClaw,功能更完整、渠道更多、生态更好。Ductor 能做的事 OpenClaw 全能做。
2. 但它的 "CLI 订阅套利" 思路值得借鉴
Claude Max $100/月无限用量 vs API 按 token 计费——对于高频使用场景,CLI 订阅实际上更便宜。OpenClaw 的 ACP 后端(通过 Claude Code CLI)其实已经在利用这一点。
3. 5 层交互架构设计不错
Single Chat → Topics → Sessions → Tasks → Sub-Agents 的分层设计很清晰,值得参考。OpenClaw 的 Agent 绑定 + 频道系统做了类似的事,但 ductor 的 "Named Sessions" 概念(同一聊天内的隔离上下文)是个好 idea。
4. 适合的场景
如果一个人只用 Telegram + 只用 Claude Code + 有 Claude Max 订阅,ductor 是比 OpenClaw 更轻量的选择。但凡需要多渠道、多模型、深度记忆——就需要 OpenClaw。
📊 评分
| 维度 | 评分(/10) |
|---|---|
| 技术实现 | 7.0 — 子进程控制 CLI 的方案巧妙但脆弱 |
| 功能完整度 | 7.5 — Cron/Webhook/Docker/Sub-Agent 都有 |
| 文档质量 | 8.0 — README 写得很详细 |
| 实用价值 | 6.5 — 对 Claude Max 用户有价值,其他场景有限 |
| 与我们的关联 | 5.0 — 我们有 OpenClaw,不需要它 |
| **综合** | **7.0** |
报告由深度研究助手自动生成 | 2026-03-16
来源: https://github.com/PleasePrompto/ductor