Claude Code Task

🚀 异步 AI 代理调度与消息投递系统

异步后台运行 Claude Code,自动投递结果到 Telegram/WhatsApp,支持复杂多步骤自动化任务,具备严格的线程安全路由与端到端验证机制。

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

使用说明

Claude Code 异步任务调度系统

核心用法

本技能提供了一套完整的异步任务编排框架,允许用户在后台启动 Claude Code 执行复杂任务,并将结果自动推送到指定的通讯渠道(Telegram DM 线程或 WhatsApp 群组)。核心入口为 run-task.py 脚本,通过 nohup 实现进程隔离,避免执行超时限制。

关键操作模式

1. 后台异步执行:使用 nohup 启动任务,主进程立即返回,Claude Code 在 detached 模式下运行
2. 文件化任务注入:所有任务文本必须写入临时文件,通过 $(cat /tmp/prompt.txt) 传入,避免 shell 引号转义问题

3. 线程安全路由:Telegram 任务必须使用 agent:main:main:thread:<THREAD_ID> 格式的 session key,系统会自动验证路由一致性,阻止误投递到主聊天

4. 端到端验证流程--validate-only 模式可在实际启动前验证路由配置,确认 session-idthread-idtarget 三者匹配

通知管道

系统实现了五级通知机制:

  • 🚀 启动通知(静默 HTML 格式,含可展开任务引用)
  • ⏳ 心跳保活(每 60 秒,显示运行时长、token 消耗、工具调用数、活跃子代理数)
  • 📡 任务中更新(通过 /tmp/cc-notify-{pid}.py 脚本,Claude Code 主动调用)
  • ✅/❌/⏰/💥 完成/错误/超时/崩溃通知(HTML 格式,含结果引用)
  • 🤖 代理续接(通过 openclaw agent --deliver 唤醒同一会话,保持对话连续性)

显著优点

  • 零 API 成本:Claude Code 运行在 Max 订阅($200/月)上,不消耗 OpenClaw API tokens
  • 防误投机制--telegram-routing-mode 默认为 auto,会阻止非线程 session key 启动线程任务,宁可失败也不静默错投
  • 会话连续性:支持 --resume 续接 Claude Code 会话,--session-label 人工命名便于追踪
  • 可靠性设计:超时保护(SIGTERM→SIGKILL)、崩溃捕获、PID 追踪、重复唤醒去重(wake_id + 输出哈希)
  • 多平台支持:WhatsApp 群组与 Telegram DM 线程均有完整支持,渠道自动检测

潜在缺点与局限性

  • 不适合即时交互:任务启动后即脱离当前会话,无法实时追问,需等待唤醒或主动查询
  • Telegram 格式陷阱parse_mode="Markdown" 会被 Telegram 拒绝(CommonMark ** 不兼容),必须使用 HTML 模式
  • Git 依赖:目标项目必须初始化为 git 仓库(脚本自动 git init 但可能不符合预期)
  • Python 3.9 语法限制:源码使用 Optional[X] 而非 X | None,维护者需注意兼容性
  • 调试复杂度:线程路由失败时仅返回 Invalid routing,需手动检查 sessions_list 和本地会话文件定位问题

适合人群

  • 需要执行 >1 分钟的复杂代码分析、重构、研究任务
  • 需要跨平台(Telegram/WhatsApp)异步接收 AI 结果的工作流
  • 多步骤自动化场景(Claude Code 可调用子代理完成子任务)
  • 对消息投递可靠性有高要求,能接受"宁可失败不静默错误"的严格模式

常规风险

  • 路由误配导致消息丢失:若 thread_idsession_uuid 不匹配,任务会被拒绝启动,但旧版本或强制模式可能错投到主聊天
  • 敏感信息泄露run-task.py 的日志路径 /tmp/cc-*.log 为全局可读写,多用户环境需注意隔离
  • token 消耗不可控:长任务可能消耗大量 Claude Code 额度,建议设置 --timeout--max-iterations
  • 唤醒死循环iterate 模式下若未正确检测完成条件,可能无限续接;系统要求"可见决策消息"作为强制缓冲
  • prompt 注入防护:严禁在任务文本中硬编码 bot token 或 curl 命令,Claude Code 会拒绝执行

Claude Code Task 内容

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