Claude Code Dispatch - AI 任务分发工具

Claude Code Dispatch - AI 任务分发工具

整理时间: 2026-02-17 09:00
来源: 群聊消息
整理人: AI助手

摘要

Claude Code Dispatch 是一个一键分发开发任务到 Claude Code 的工具,支持自动完成通知、Agent Teams 团队协作模式。通过 Telegram 发送丰富的任务完成报告,包含测试结果、文件列表、执行时长等信息。无需轮询,不浪费 Token,任务完成后自动通知。


一、核心特性

特性 说明
🔥 Fire-and-forget 分发任务后即可离开,任务完成后自动通知
🤖 Agent Teams 自动将任务拆分为并行的开发 + 测试 Agent
📱 Telegram 通知 丰富的完成报告,包含测试结果、文件列表、耗时
🔄 三层回调 Telegram 消息 → Webhook 唤醒 → 心跳降级
🎯 自动回调检测 在工作区放置 dispatch-callback.json 即可自动配置
🛡️ 生产验证 100+ 真实任务测试,所有边缘情况已处理

二、架构设计

2.1 工作流程

dispatch.sh
    ↓
写入 task-meta.json
    ↓
启动 Claude Code (通过 claude_code_run.py PTY 包装器)
    ↓
[Agent Teams 模式: Lead 拆分任务 → Dev + Testing Agents 并行运行]
    ↓
Claude Code 完成任务 → Stop Hook 触发
    ↓
notify-hook.sh 读取 meta + 输出
    ↓
写入 latest.json
    ↓
发送 Telegram 通知
    ↓
通过 webhook 唤醒 AGI
    ↓
写入 pending-wake.json (降级通知)

2.2 核心组件

组件 说明
dispatch.sh 任务分发脚本
claude_code_run.py PTY 包装器,解决非 TTY 环境下的挂起问题
notify-hook.sh 通知脚本
task-meta.json 任务元数据
latest.json 完整结果

三、快速开始

3.1 安装

git clone https://github.com/win4r/claude-code-dispatch.git
cd claude-code-dispatch
chmod +x scripts/*.sh scripts/*.py

3.2 配置 Hook

在 Claude Code 设置中配置 hook 脚本路径:

# 编辑 ~/.claude/settings.json
# 详见 docs/hook-setup.md

3.3 分发任务

简单任务:

bash scripts/dispatch.sh \
  -p "Build a Python CLI calculator with Click" \
  -n "calc-cli" \
  -w /path/to/project \
  --permission-mode bypassPermissions

带 Telegram 通知:

bash scripts/dispatch.sh \
  -p "Build a REST API with FastAPI" \
  -n "my-api" \
  -g "<your-telegram-group-id>" \
  -w /path/to/project \
  --permission-mode bypassPermissions

Agent Teams 模式(并行开发 + 测试):

bash scripts/dispatch.sh \
  -p "Build a weather CLI with API, caching, and colored output" \
  -n "weather-cli" \
  -g "<your-telegram-group-id>" \
  --agent-teams \
  --permission-mode bypassPermissions \
  -w /path/to/project

四、参数说明

参数 简写 必填 说明
–prompt -p 任务描述
–name -n 任务名称(用于追踪)
–group -g Telegram 群组 ID(通知)
–workdir -w 工作目录(默认当前目录)
–agent-teams 启用 Agent Teams 模式
–teammate-mode 显示模式:auto / in-process / tmux
–permission-mode 权限模式:bypassPermissions / plan / acceptEdits
–allowed-tools 工具白名单(如 “Read,Bash”)
–model 模型覆盖
–callback-group 回调 Telegram 群组
–callback-dm 回调 Telegram 用户 ID
–callback-account Telegram 机器人账户名

五、Agent Teams 模式

5.1 工作原理

当启用 --agent-teams 时,分发脚本会注入指令让 Lead Agent:

  1. 拆分任务 - 将任务拆分为并行子任务
  2. 分配测试 Agent - 分配专门的 Testing Agent 编写和运行测试
  3. 并行执行 - Testing Agent 与 Dev Agent 并行运行
  4. 验收标准 - 所有测试通过才认为任务完成

5.2 实测结果

项目 Agent 数量 测试数 耗时
Weather CLI 4 (api, formatter, testing, lead) 42 passed 5m34s
Calculator CLI 3 (dev, testing, lead) 18 passed 3m12s
REST API 4 (routes, db, testing, lead) 31 passed 7m45s

六、自动回调检测

6.1 配置方式

在工作区根目录放置 dispatch-callback.json

DM 机器人:

{
  "type": "dm",
  "dm": "<telegram-user-id>",
  "account": "<bot-account-name>"
}

群组机器人:

{
  "type": "group",
  "group": "<telegram-group-id>"
}

仅 Webhook 唤醒:

{
  "type": "wake"
}

6.2 优势

  • 放置配置文件后,分发任务时无需额外回调参数
  • 自动检测配置,无需手动传参

七、结果文件

所有结果存储在 data/claude-code-results/

文件 内容
latest.json 完整结果(输出、任务名、群组、时间戳)
task-meta.json 任务元数据(提示词、工作目录、状态、耗时)
task-output.txt Claude Code 原始输出
pending-wake.json 心跳降级通知
hook.log Hook 执行日志

八、与 OpenClaw 集成

该工具设计为可与 OpenClaw 集成:

集成点 说明
Telegram 通知 通过 OpenClaw message send 发送
AGI 唤醒 通过 /hooks/wake webhook 唤醒
多 Agent 编排 通过 OpenClaw 的 agent 系统实现

九、注意事项

  1. 必须使用 PTY 包装器 - 直接运行 claude -p 在非 TTY 环境会挂起,claude_code_run.py 通过 script(1) 处理此问题

  2. Hook 触发条件 - Hook 会在所有 Claude Code 运行时触发,不仅仅是分发的任务。Hook 会验证元文件的新鲜度


十、相关资源


整理备注

本文档基于 GitHub 项目 Claude Code Dispatch 整理,包含了工具特性、架构设计、快速开始指南、参数说明及 Agent Teams 模式介绍。