Claude Code Task

🤖 后台运行 Claude Code,自动推送结果到聊天工具

在 WhatsApp/Telegram 后台异步运行 Claude Code,自动推送进度与结果,零 OpenClaw Token 消耗,适合长时编程、代码库研究等复杂任务。

收藏
5k
安装
1.5k
版本
1.2.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

Claude Code Task 是一个后台异步任务调度器,将 Claude Code(Anthropic 的 AI 编程助手)以 nohup detached 模式运行,并通过 WhatsApp 或 Telegram 自动推送任务状态与最终结果。核心工作流为:用户通过 shell 命令启动任务 → Claude Code 在后台执行 → 每 60 秒发送心跳 ping → 任务完成/失败/超时后推送结果 → 同时唤醒 OpenClaw Agent 进行二次分析与总结。

启动方式(关键安全实践):

  • 必须使用 nohup 避免 2 分钟 exec 超时杀死进程
  • 必须先将任务文本写入文件,再用 $(cat file) 读取——直接内嵌任务文本会因引号、换行符、特殊字符导致 shell 解析崩溃
  • 通过 --session 参数中的密钥模式(如 whatsapp:group:<JID>telegram:user:<ID>)自动识别通知渠道

通知管道(5 类事件):

| 事件 | WhatsApp | Telegram DM Thread | 说明 |
|------|----------|-------------------|------|
| 🚀 启动 | 直接发送 | `send_telegram_direct` HTML 静默 | 任务开始确认 |
| ⏳ 心跳 | 每 60s 直接发送 | 每 60s 直接发送(静默)| 进程存活确认 |
| 📡 CC 中途更新 | 不支持 | 磁盘脚本 `/tmp/cc-notify-{pid}.py` | Claude Code 主动报告进度 |
| ✅/❌/⏰/💥 结果 | 直接 + sessions_send 唤醒 Agent | `send_telegram_direct` HTML + `openclaw agent` 唤醒 | 任务终态 |
| 🤖 Agent 总结 | sessions_send 自动路由 | `openclaw agent --session-id` 唤醒后发送 | 二次分析(Telegram 版进入主聊,非线程)|

显著优点

1. 零 Token 成本:Claude Code 运行在 Max 订阅($200/月)而非 API 计费模式,长时任务不产生 OpenClaw Token 消耗
2. 后台可靠运行:nohup + PID 文件管理 + 自动清理,支持 2 小时默认超时(可自定义),SIGTERM/SIGKILL 分级终止

3. 全渠道覆盖:WhatsApp 群组、Telegram 私聊、Telegram DM Threaded Mode 均支持,后者通过 message_thread_id 直接调用 Bot API 绕过 OpenClaw message 工具的线程路由限制

4. 防注入设计:Claude Code 中途更新通过预写磁盘脚本实现,避免在 prompt 中硬编码 bot token 触发安全拒绝

5. 会话恢复:支持 --resume 续接之前的 Claude Code 会话,配合 --session-label 与 JSON 注册表实现上下文延续

潜在缺点与局限性

1. Telegram Agent 总结位置偏移openclaw agent --session-id 唤醒的 synthetic message 缺少 currentThreadTs,Agent 总结发送到主聊而非 DM 线程,需用户切换查看
2. WhatsApp 静默通知缺失:WhatsApp 协议不支持静默标志,所有通知均带声音,夜间/密集任务可能干扰

3. 解析模式陷阱:Telegram parse_mode="Markdown" 与 CommonMark **bold** 语法不兼容,会导致消息 400 错误丢失;系统已改用 HTML 模式或纯文本规避

4. session_send 黑名单:HTTP /tools/invoke 层面禁止 sessions_send,必须通过 CLI openclaw agent 绕过,增加了实现复杂度

5. Git 依赖:Claude Code 要求项目目录为 git 仓库,非 git 项目需自动初始化,可能污染工作区

适合人群

  • 需要长时间后台代码分析/重构的开发者(单次任务可达数小时)
  • 通过即时通讯工具接收异步 AI 结果的远程团队
  • 使用 Claude Code Max 订阅且希望隔离 Token 计费的成本敏感用户
  • 需要会话上下文延续的复杂多步工作流(研究 → 实现 → 测试)

常规风险

| 风险类型 | 等级 | 说明 |
|---------|------|------|
| 命令注入 | 中 | 虽强制文件中转 prompt,但若用户手动拼接命令仍可能注入;需严格遵守 `$(cat file)` 模式 |
| 敏感信息泄露 | 中 | `/tmp/cc-notify-{pid}.py` 包含 bot token,虽 600 权限且 finally 清理,但 tmpfs 持久化期间可被同机其他进程读取 |
| 会话 ID 泄露 | 低 | `sessions_send` 与 `--notify-session-id` 传递的 UUID 若被截获,可导致消息重放或会话劫持(需配合 OpenClaw 权限模型)|
| 资源耗尽 | 低 | 未限制并发任务数,PID 目录堆积可能导致 inode 压力;Stale PID 自动清理机制缓解 |
| Telegram API 限流 | 低 | 直接调用 `api.telegram.org` 无本地队列,高频心跳可能触发 Flood Wait(实践中 60s 间隔安全)|

Claude Code Task 内容

手动下载zip · 20.5 kB
run-task.pytext/plain
请选择文件