skills/liangdabiao/dingtalk-cli-workflow/dingtalk-workflow-multi-agent-dev

dingtalk-workflow-multi-agent-dev

Installation
SKILL.md

多编程代理协同 (dingtalk-workflow-multi-agent-dev)

支持竞赛模式、分工模式、流水线模式三种工作模式,通过钉钉追踪任务和结果。 此 Skill 主要编排 Claude Code Agent Tool 的多代理能力,钉钉作为任务管理和通知层。

触发方式

"并行开发"  "多代理"  "竞赛模式"  "分工模式"  "流水线协作"  "代码对比"  "多Agent开发"

三种工作模式

模式 适用场景 代理数量 执行方式 类比
竞赛 需要最优方案 2-3个 同一任务,各自完成,AI对比选优 奥运会
分工 多个独立任务 按任务数 不同任务,并行完成 车间流水线
流水线 复杂功能,需质量保障 2-3个 代码→审查→测试,顺序协作 代码审查链

数据初始化

首次使用时,自动创建 aitable 数据表:

# 创建 Base
dws aitable base create --name "多代理开发" --yes -f json
# 返回 baseId,记为 <mad-base-id>

# 创建 2 张表
dws aitable table create --base-id <mad-base-id> --name "开发任务" --yes -f json
# 返回 tableId,记为 <tasks-table-id>

dws aitable table create --base-id <mad-base-id> --name "竞赛记录" --yes -f json
# 返回 tableId,记为 <competition-table-id>

# 添加业务字段(表创建后自动带一个"标题"primaryDoc字段,需额外添加业务字段)
dws aitable field create --base-id <mad-base-id> --table-id <tasks-table-id> --fields '[{"fieldName":"任务描述","type":"text"},{"fieldName":"工作模式","type":"text"},{"fieldName":"分配代理","type":"text"},{"fieldName":"状态","type":"text"},{"fieldName":"结果摘要","type":"text"},{"fieldName":"推荐方案","type":"text"},{"fieldName":"耗时","type":"number"},{"fieldName":"创建时间","type":"date"},{"fieldName":"完成时间","type":"date"}]' --yes -f json

dws aitable field create --base-id <mad-base-id> --table-id <competition-table-id> --fields '[{"fieldName":"关联任务","type":"text"},{"fieldName":"代理名称","type":"text"},{"fieldName":"评分","type":"number"},{"fieldName":"优点","type":"text"},{"fieldName":"缺点","type":"text"},{"fieldName":"是否推荐","type":"text"},{"fieldName":"代码路径","type":"text"}]' --yes -f json

表1: 开发任务 (dev_tasks)

字段名 类型 说明
任务描述 文本 任务详情
工作模式 文本 竞赛/分工/流水线
分配代理 文本 Opus/Sonnet/Haiku(逗号分隔)
状态 文本 待执行/进行中/已完成/失败
结果摘要 文本 输出概要
推荐方案 文本 竞赛模式下的推荐方案
耗时 数字 执行时间(秒)
创建时间 日期 任务创建时间
完成时间 日期 任务完成时间

表2: 竞赛记录 (competition_records)

字段名 类型 说明
关联任务 文本 关联的开发任务描述
代理名称 文本 参赛代理(Opus/Sonnet/Haiku)
评分 数字 AI 评分(0-10)
优点 文本 该方案优点
缺点 文本 该方案缺点
是否推荐 文本 是/否
代码路径 文本 代码文件路径

工作模式

模式 1: 竞赛模式

触发: "用竞赛模式帮我实现用户登录模块" / "两个代理各写一份"

工作流:

Step 1: 解析任务描述

Step 2: 使用 Agent Tool 启动 2-3 个子代理并行执行
├── Agent 1 (Opus): 执行任务...
├── Agent 2 (Sonnet): 执行任务...
└── Agent 3 (Haiku): 执行任务...(可选)

Step 3: 收集所有代理结果

Step 4: AI 对比评估
├── 代码质量(完整性、规范性)
├── 功能实现(是否满足需求)
├── 性能考虑
├── 安全性
└── 综合评分

Step 5: 选择推荐方案

Step 6: 保存记录
├── dws aitable record create → 开发任务
├── dws aitable record create → 各代理竞赛记录(批量)
└── dws todo task create → 如需要后续工作

Step 7: 发送结果通知
└── dws chat message send-by-bot → 竞赛结果汇报

输出格式:

## 竞赛结果:用户登录模块

### 方案 A(Claude Opus 4.6)
- 方案:JWT + Refresh Token
- 优点:完整性好,含密码强度校验
- 缺点:代码量较大
- 评分:8.5/10

### 方案 B(Claude Sonnet 4.6)
- 方案:Session-based 认证
- 优点:简洁清晰,易于理解
- 缺点:缺少密码强度校验
- 评分:7.0/10

### 推荐:方案 A(Opus)
JWT 方案更符合现代最佳实践。

总耗时:120s

模式 2: 分工模式

触发: "我有3个任务要并行做:修bug #123、写登录页面、优化SQL查询" / "分工模式"

工作流:

Step 1: 解析任务列表

Step 2: 为每个任务分配代理(AI 自动分配或用户指定)
├── 任务1 → Agent 1
├── 任务2 → Agent 2
└── 任务3 → Agent 3

Step 3: 使用 Agent Tool 并行启动所有代理

Step 4: 收集结果

Step 5: 保存记录
├── dws aitable record create → 批量保存开发任务
└── dws todo task create → 如有后续待办

Step 6: 发送结果汇报
└── dws chat message send-by-bot

输出格式:

## 分工任务完成

| 任务 | 代理 | 状态 | 耗时 |
|------|------|------|------|
| 修 bug #123 | Agent1 (Sonnet) | 完成 ✓ | 45s |
| 写登录页面 | Agent2 (Opus) | 完成 ✓ | 120s |
| 优化SQL查询 | Agent3 (Haiku) | 完成 ✓ | 60s |

总耗时 120s(串行需 225s,加速 1.9x)

模式 3: 流水线模式

触发: "用流水线模式重构这个模块" / "代码→审查→测试"

工作流:

Step 1: 解析任务

Step 2: 按流水线阶段分配代理
├── 阶段1: 代码编写 → Opus(最强代码能力)
├── 阶段2: 代码审查 → Sonnet(平衡效率和质量)
└── 阶段3: 补充测试 → Haiku(快速执行)

Step 3: 顺序执行
├── Agent 1 (Opus): 编写/重构代码 → 输出代码
├── Agent 2 (Sonnet): 审查代码 → 输出审查意见和改进建议
└── Agent 3 (Haiku): 根据审查结果补充测试 → 输出测试代码

Step 4: 汇总结果
├── 代码文件路径
├── 审查发现的问题和改进
└── 测试覆盖情况

Step 5: 保存记录并通知

输出格式:

## 流水线结果:模块重构

### 阶段 1(Opus):重构代码 ✓
- 重构了 3 个文件,优化了数据流
- 耗时:90s

### 阶段 2(Sonnet):代码审查 ✓
- 发现 3 个改进建议:
  1. 错误处理不完整
  2. 缺少输入验证
  3. 建议提取公共方法
- 耗时:60s

### 阶段 3(Haiku):补充测试 ✓
- 新增 12 个测试用例,全部通过
- 覆盖率提升到 85%
- 耗时:45s

总耗时:195s

模式 4: 任务历史回顾

触发: "之前的开发任务有哪些" / "竞赛历史" / "开发记录"

工作流:

Step 1: 查询任务记录
└── dws aitable record query --base-id <mad-base-id> --table-id <tasks-table-id> --limit 50 --yes -f json

Step 2: 格式化输出历史

dws CLI 命令参考

创建多代理开发

dws aitable base create --name "多代理开发" --yes -f json
dws aitable table create --base-id <mad-base-id> --name "开发任务" --yes -f json
dws aitable table create --base-id <mad-base-id> --name "竞赛记录" --yes -f json

保存开发任务

dws aitable record create --base-id <mad-base-id> --table-id <tasks-table-id> --records '[{"cells":{"标题":"实现用户登录模块","任务描述":"实现用户登录模块","工作模式":"竞赛","分配代理":"Opus,Sonnet","状态":"已完成","结果摘要":"JWT方案胜出","推荐方案":"方案A(Opus)","耗时":120,"创建时间":"2026-04-06","完成时间":"2026-04-06"}}]' --yes -f json

保存竞赛记录

dws aitable record create --base-id <mad-base-id> --table-id <competition-table-id> --records '[{"cells":{"标题":"用户登录模块-Opus方案","关联任务":"用户登录模块","代理名称":"Opus","评分":8.5,"优点":"完整性好","缺点":"代码量大","是否推荐":"是"}},{"cells":{"标题":"用户登录模块-Sonnet方案","关联任务":"用户登录模块","代理名称":"Sonnet","评分":7.0,"优点":"简洁清晰","缺点":"缺密码校验","是否推荐":"否"}}]' --yes -f json

查询历史

dws aitable record query --base-id <mad-base-id> --table-id <tasks-table-id> --limit 50 --yes -f json
dws aitable record query --base-id <mad-base-id> --table-id <competition-table-id> --limit 100 --yes -f json

创建后续待办

注意: dws todo task create 服务端偶发 NPE(errorCode 999),失败时需重试一次。仍失败则仅保存在 aitable 中。

dws todo task create --title "根据竞赛结果整合最优代码" --priority "20" --yes -f json
# 失败时重试:仍失败则将待办信息存入 aitable 开发任务表的结果摘要中

发送通知

dws chat message send-by-bot --robot-code "bot_code" --group "openConversationId" --title "开发任务完成" --text "竞赛结果:方案A(Opus)胜出,评分8.5/10" --yes

联动 Skill

联动 Skill 数据交互 说明
content-pipeline 内容创作任务 多代理并行创作内容
morning-brief 提供开发进度 晨间简报展示进行中的开发任务

注意事项

  1. 所有 dws 命令必须加 --yes 标志
  2. 多代理执行依赖 Agent Tool(子代理),需要足够的计算资源
  3. 竞赛模式建议 2-3 个代理,过多会增加对比成本
  4. 流水线模式每个阶段的输出是下一阶段的输入,必须顺序执行
  5. 代理推荐分配策略:Opus 处理复杂逻辑,Sonnet 处理中等任务,Haiku 处理简单任务
  6. 所有开发任务和竞赛记录存入 aitable,便于回顾和学习
  7. 此 Skill 与钉钉平台关联最小,主要编排 Claude Code Agent Tool
  8. dws todo task create 服务端偶发 NullPointerException,失败时重试,仍失败则仅保存在 aitable 中

已知问题

  • dws todo task create 偶发服务端 NPE(errorCode 999):需重试一次。若重试仍失败,将待办信息保存到 aitable 开发任务表的结果摘要字段中,确保不丢失后续工作项。
Weekly Installs
1
GitHub Stars
7
First Seen
Apr 14, 2026