本 Skill 实现 企微 → Knot → CodeBuddy → 企微 的完整闭环研发流程。
核心交互模式:
一句话流程:
企微发 TAPD 链接 → 自动分析+设计 → 企微通知评审 → 企微回复通过/修改 → 自动编码+提交 → 企微推送 MR
| 配置项 | 说明 |
|---|---|
| -------- | ------ |
| Client 工具 | 开启文件读写、命令执行、代码搜索 |
| 云工作区 | 绑定包含 beian.tencentyun.com 项目的工作区 |
| TAPD MCP | 配置 TAPD MCP,填入工蜂 token |
| 工蜂 MCP | 配置工蜂 MCP,填入工蜂个人访问令牌 |
| Knot 消息通知 MCP | 配置企微消息通知 MCP,填入群聊 chatid |
| 企微机器人 | 在企微群添加 Knot 消息推送机器人或 Knot 智能机器人 |
当用户消息包含以下任一特征时,激活此技能:
tapd.woa.com 的 URLpwd
ls composer.json app/ routes/ config/
git status
git branch -a
确认:
beian.tencentyun.com 项目目录中(PHP Laravel 项目)如果环境异常,通过企微通知用户:
⚠️ 工作区环境异常: [问题描述]
请检查后重新发送任务。
从用户消息中提取 TAPD URL,解析 workspace_id 和 story_id:
URL 格式: https://tapd.woa.com/tapd_fe/{workspace_id}/story/detail/{story_id}
调用 TAPD MCP:
stories_get 获取需求标题、描述、状态、自定义字段comments_get 获取历史评论git fetch origin master
git checkout master
git pull origin master
git checkout -b feature/{NNN}-{feature-name}
分支号 {NNN} 从需求名或已有分支递增。必须从 master 最新代码创建。
创建 specs/{branch-name}/spec.md,包含:
[NEEDS CLARIFICATION](最多 3 个)如有 [NEEDS CLARIFICATION],通过企微逐个询问:
📋 需求澄清 (1/N)
关于 [具体问题],请确认:
A. [推荐选项]
B. [备选选项]
C. 其他(请说明)
请直接回复选项或说明。
每次只问一个问题,收到回复后更新 spec.md,再问下一个。
stories_update 将 spec.md 内容写入需求描述comments_create 添加评论: 【需求分析阶段】spec.md 已生成并同步stories_update 流转状态到 status_7(需求已评审)自动进入阶段 2,无需等待。
读取相关目录了解现有架构:
routes/ - 路由定义app/Http/Controllers/ - 控制器app/Models/ - 模型app/Services/ - 服务层config/ - 配置文件创建 specs/{branch-name}/plan.md,包含:
stories_update 流转到 status_38(方案设计),填写 custom_field_67(迭代目标)stories_update 将 plan.md 写入 custom_field_147(方案设计字段)通过企微发送方案评审通知:
🚧 方案评审 - {需求标题}
📌 TAPD: https://tapd.woa.com/tapd_fe/{workspace_id}/story/detail/{story_id}
📄 方案摘要:
{plan.md 的关键要点,3-5 行}
📝 涉及修改:
{列出要修改/新建的文件清单}
请回复:
✅ "通过" - 开始编码
📝 "修改: [修改意见]" - 修改方案后重新评审
然后停止执行,等待用户在企微回复。
根据用户企微回复:
如果回复"通过"/"OK"/"可以"等肯定词:
stories_update 流转到 status_39(方案已评审)custom_field_82(开发工作量)、custom_field_133(方案评审人)如果回复"修改: xxx"或包含修改意见:
创建 specs/{branch-name}/tasks.md,按实施步骤拆分任务,粒度 0.5-3 天。
调用 tasks_create 为每个任务创建 TAPD 子任务,关联父需求。
stories_update 流转到 planned(已排期),填写 custom_field_160(QTA集成 = "否")自动进入阶段 4。
将当前子任务流转到 progressing(进行中)。
按 tasks.md 逐任务实施:
编码规范:
git add .
git commit -m "feat: {功能描述} --story={story_id}"
git push origin feature/{NNN}-{feature-name}
调用工蜂 MCP create_merge_request:
feature/{NNN}-{feature-name}masterfeat: {需求标题} --story={story_id}done(已完成)comments_create 添加评论:```
【开发阶段】代码已提交,MR 已创建
```
通过企微发送最终交付通知:
✅ 需求开发完成 - {需求标题}
📌 TAPD: https://tapd.woa.com/tapd_fe/{workspace_id}/story/detail/{story_id}
🔀 MR: {MR链接}
🌿 分支: feature/{NNN}-{feature-name}
📝 改动摘要:
{列出修改/新建的文件及简要说明}
⏭ 后续操作:
1. Code Review MR
2. 本地验证测试
3. 合入 master
| 阶段 | 目标状态 | 状态码 | 必填字段 |
|---|---|---|---|
| ------ | ---------- | -------- | ---------- |
| 阶段 1 完成 | 需求已评审 | status_7 | - |
| 阶段 2 开始 | 方案设计 | status_38 | custom_field_67 |
| 评审通过 | 方案已评审 | status_39 | custom_field_82, custom_field_133 |
| 阶段 3 完成 | 已排期 | planned | custom_field_160 |
| 阶段 | 状态 | 状态码 |
|---|---|---|
| ------ | ------ | -------- |
| 创建 | 未开始 | open |
| 开发中 | 进行中 | progressing |
| 完成 | 已完成 | done |
| 工具来源 | 工具名 | 用途 |
|---|---|---|
| ---------- | -------- | ------ |
| TAPD MCP | stories_get | 获取需求详情 |
| TAPD MCP | stories_update | 更新需求状态/字段 |
| TAPD MCP | comments_get | 获取需求评论 |
| TAPD MCP | comments_create | 创建评论 |
| TAPD MCP | tasks_create | 创建子任务 |
| TAPD MCP | tasks_update | 更新子任务状态 |
| 工蜂 MCP | create_branch | 创建分支 |
| 工蜂 MCP | create_merge_request | 创建 MR |
| Knot 消息通知 MCP | send_message | 企微群发送消息通知 |
| iWiki MCP(可选) | getDocument | 获取 iWiki 文档 |
| 工具 | 用途 |
|---|---|
| ------ | ------ |
| 文件读取 | 读取项目代码文件 |
| 文件写入 | 创建/修改代码文件 |
| 命令执行 | 执行 Git、Shell 命令 |
| 代码搜索 | 搜索项目中的代码模式 |
本 Skill 通过企微实现以下交互:
| 时机 | 消息内容 |
|---|---|
| ------ | ---------- |
| 环境异常 | ⚠️ 告警 + 修复建议 |
| 需求澄清 | 📋 逐个问题 + 选项 |
| 方案评审 | 🚧 方案摘要 + TAPD链接 + 等待回复 |
| 开发完成 | ✅ MR链接 + TAPD链接 + 改动摘要 |
| 用户回复 | 系统行为 |
|---|---|
| ---------- | ---------- |
| "通过" / "OK" / "可以" / "继续" | 方案评审通过,进入编码 |
| "修改: xxx" / 包含修改意见 | 修改方案,重新评审 |
| "A" / "B" / "C" / 具体说明 | 需求澄清回答,更新 spec |
| 错误场景 | 处理方式 |
|---|---|
| ---------- | ---------- |
| TAPD 状态流转失败 | 检查必填字段,企微通知用户 |
| 代码冲突 | 自动 merge master,冲突时企微通知 |
| MCP 调用失败 | 重试 1 次,仍失败则企微通知 |
| 工作区离线 | 企微通知用户检查工作区状态 |
@Knot机器人 帮我开发这个需求 https://tapd.woa.com/tapd_fe/10132091/story/detail/xxx
@Knot机器人 分析这个需求并生成方案,暂不开发 https://tapd.woa.com/tapd_fe/10132091/story/detail/xxx
通过
或
修改: 1. 校验逻辑应该放在 Service 层而不是 Controller 2. 需要增加单元测试
在 https://knot.woa.com 创建智能体时,按以下步骤配置:
beian.tencentyun.com 项目目录版本: 2.0.0
最后更新: 2026-03-11
维护者: yowucai
共 1 个版本