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:
- 拆分任务 - 将任务拆分为并行子任务
- 分配测试 Agent - 分配专门的 Testing Agent 编写和运行测试
- 并行执行 - Testing Agent 与 Dev Agent 并行运行
- 验收标准 - 所有测试通过才认为任务完成
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 系统实现 |
九、注意事项
-
必须使用 PTY 包装器 - 直接运行
claude -p在非 TTY 环境会挂起,claude_code_run.py通过script(1)处理此问题 -
Hook 触发条件 - Hook 会在所有 Claude Code 运行时触发,不仅仅是分发的任务。Hook 会验证元文件的新鲜度
十、相关资源
整理备注
本文档基于 GitHub 项目 Claude Code Dispatch 整理,包含了工具特性、架构设计、快速开始指南、参数说明及 Agent Teams 模式介绍。