我做了一个 Req2Code,让 Codex、Claude Code 和 Cursor
从多平台工作项选择一路走到规划分析、开发、测试与人工发布审批
“让 AI 开发不只会改代码,还能被选择、被追踪、被审核,并且只在明确批准后发布。”
Req2Code 0.10.0 · Alpha · Python 3.10+
GitHub - XiuxianCoder/Req2Code: 需求,缺陷到开发一个工作流搞定 · GitHub
AI 已经会写代码,但“从需求到发布”仍然断着
需求可能在 TAPD,也可能散落在飞书文档、多维表格或电子表格中;代码在本地仓库,开发过程发生在 Codex、Claude Code 或 Cursor,测试结果又散落在终端和聊天记录里。AI 编码能力越来越强,但团队真正关心的不只是代码有没有改出来,而是这次解决了什么、测试是否可信,以及谁批准了最终提交。
最初,我也尝试过让一个工具再去调用另一个代码智能体 CLI。很快就发现,这种“智能体套智能体”的方式既重复消耗上下文,也让模型选择、会话复用和错误恢复变得复杂。更直接的做法,是让当前已经打开项目的代码智能体继续负责开发,而 Req2Code 只补齐它缺少的需求入口、流程状态和人工门禁。
一句话定位 Req2Code 把从需求选择到发布确认的流程,直接嵌入正在写代码的 AI 对话。
它想解决的六个真实问题
- 工作项搬运成本高:复制 TAPD 或飞书标题容易,完整说明、验收范围、优先级、负责人、选择字段甚至图片经常遗漏。
- 候选数据污染上下文:一次把几百条需求和 Bug 全部发给模型,既浪费 Token,也可能让智能体误读未选择的内容。
- 仓库和分支容易说不清:有人希望一个工作项一个分支,也有人会把多个需求和缺陷放在同一分支完成。
- 批量工作缺少开发前规划:哪些简单、哪些高风险、改动是否重叠、哪些适合同一分支,往往要靠人临时判断。
- 开发结果缺少统一审核材料:代码 Diff、解决方案、测试命令、验收结果和剩余风险没有集中呈现。
- 提交与推送太容易提前发生:AI 完成开发后不应该默认直接 push,尤其不能静默推到 main 或 master。
最值得强调的能力:把研发流程嵌进代码智能体对话
Req2Code 最突出的不只是连接了 TAPD 和飞书,而是把需求源配置、工作项复选、批量规划分析、开发任务交接、测试审核和发布确认,直接嵌入当前代码智能体的对话流程。开发者不必离开 Codex、Claude Code 或 Cursor,再打开另一套流程后台。
角色 | 核心职责 | 在 Req2Code 中的表现 |
Skill | 告诉 AI 应该怎么走流程 | 规定选择、开发、测试、收尾、审核和发布顺序。 |
MCP | 连接私有数据并保存流程状态 | 读取 TAPD 与飞书、保存运行记录、生成报告并执行审批门禁。 |
MCP Apps UI | 把交互界面渲染到兼容宿主的对话中 | 承载私密配置、工作项复选、批量规划报告、开发审核和二次发布确认。 |
当前代码智能体 | 理解并修改当前项目 | Codex、Claude Code 或 Cursor 完成分析、编码、测试和修复。 |
Skill 负责约束流程,本地 MCP 负责连接私有数据、保存状态和执行审批门禁,MCP Apps UI 在兼容宿主中把配置、选择、审核与发布确认界面渲染到对话内,当前代码智能体继续负责理解仓库、开发和测试。它不需要重新启动第二个 Codex 或 Claude Code;当前会话已经掌握的项目结构、编码约定和测试环境可以直接复用,减少上下文切换、重复分析和 Token 消耗。
图 1:Req2Code 从需求选择到人工发布的主链路(工作项选择后可先进行批量规划分析)
一个或一批需求,具体是怎样跑完的?
- 选择并私密配置需求来源。首次使用时先选择 TAPD、飞书或 Mock,再新增或复用命名项目配置。TAPD 支持开放应用 OAuth2/API 账号 Basic;飞书使用自建应用 App ID/App Secret。凭据只保存在本机。
- 识别并筛选工作项。TAPD 直接读取需求和 Bug;飞书文档按结构解析,多维表格由当前智能体识别不固定字段。Req2Code 读取完整数据表,再依据状态映射在本地过滤已解决项。
- 勾选、分析或确认一个或多个任务。配置页只负责进入需求源;工作项加载后,选择器支持类型、状态、搜索和多选,并集中提供“分析所选”“分析全部未解决”“自动开发全部未解决”和直接开发入口。
- 先看规划,再决定范围。规划报告按简单到困难列出改动内容、建议方案、测试、依赖、风险、执行顺序和可合并分组;需要调整时可重新获取需求并再次选择。
- 当前智能体直接开发和测试。Codex、Claude Code 或 Cursor 继续理解已经打开的项目,修改代码、补充测试并修复相关失败,不再嵌套调用第二个编码智能体。
- 逐工作项生成中文审核材料。每个需求或缺陷分别列出解决方案、实际修改、关联文件、测试证据、验收结论和剩余风险。
- 两阶段人工发布确认。第一次只代表审核通过,不执行 Git;第二次明确展示目标分支并再次确认后,才允许提交和非强制推送。
飞书多维表格:字段不固定,也能识别待办
多维表格经常由不同团队自由设计列名。Req2Code 会把字段名、字段类型、单选/多选列的全部配置项和少量样例交给当前智能体,只让它判断哪些列对应标题、问题描述、类型、状态、优先级、负责人和验收条件。凭据和完整记录不进入聊天。
为了避免飞书视图中的临时筛选隐藏待办记录,Req2Code 调用记录接口时不传 view_id,而是读取完整数据表,再根据智能体确认的状态字段在本地过滤终态。AI 解析按钮会自动发送分析任务,结果返回后在当前对话位置直接打开新的选择器。
第一步:只把“明确授权的范围”交给 AI
候选工作项会先留在 Req2Code 的私有组件数据中。用户确认开发或主动发起规划分析前,完整候选列表不会进入模型上下文。飞书多维表格只有在用户点击 AI 解析后,才自动发送一个简短分析 ID;智能体通过只读工具取得字段定义、选择项和少量样例,返回结构化映射后,新的选择器会直接出现在当前对话位置。
图 2:工作项选择器支持需求/Bug 分类、多选、搜索和详情摘要
默认行为未指定仓库和分支时,直接使用当前打开的项目、保持当前已检出分支,并且不自动 pull。
第二步:先看规划报告,再决定开发范围
工作项加载完成后,可以只分析勾选项,也可以分析当前全部未解决项。当前智能体先只读理解仓库,再为每项给出 1-5 难度、预计改动、解决方案、测试建议、依赖、风险和从简单到困难的执行顺序。
分析报告直接显示在对话内,支持一键复制完整 Markdown。若发现范围不合适,点击“重新获取需求”即可从原配置拉取最新待办,并在当前对话底部打开新的选择器,无需重新填写平台凭据。
如果点击“自动开发全部未解决”,规划报告生成后会继续交给当前智能体开发和测试;“自动”仍然停在人工审核,不会自动提交或推送。
第三步:让当前智能体把开发和测试做完整
Req2Code 生成的 task brief 不只是一个标题。它包含最终选中需求或缺陷的完整字段、说明和验收内容,也包含当前仓库、基线 SHA、分支策略、测试要求和“禁止提前提交/推送”的安全规则。当前智能体据此分析影响范围、完成全部工作项、补充测试,并按工作项整理可审核证据。
对于团队常见的批量场景,Req2Code 同样支持多个需求和 Bug 共用一个明确指定的开发分支;对于本地项目,分支留空则完全保持当前分支。是否同步代码也必须由用户明确选择,不会静默执行 pull。
第四步:开发完成先给人看,不直接 push
智能体完成实现和测试后,会调用 Req2Code 收尾。Req2Code 保存测试证据、重新检查 Git 基线和 Diff 指纹,并自动打开中文审核界面。审核者可以按工作项查看“为什么这样改”“具体改了什么”“测试是否通过”“是否满足验收条件”和“还有哪些风险”。
图 3:审核界面按工作项呈现解决方案、变更文件、测试证据和验收结果
重要边界进入 waiting_approval 只代表可以审核;此时 Git 历史和远程仓库仍然没有新提交。
第五步:提交和推送必须再确认一次
第一次点击“审核通过”不会产生 Git 操作。只有进入第二个发布确认框,用户才会看到准确的发布分支;如果目标是 main 或 master,界面还会额外警告。确认发布时,服务端会再次校验当前分支、基线 HEAD、远程地址、Diff 指纹和远程分支 SHA,现场发生变化就停止发布,而不是强行覆盖。
图 4:第二次确认才会解锁提交和非强制推送
它尤其在意这些安全边界
- 不替用户选择:未确认的 TAPD 或飞书候选项不会直接进入模型上下文。
- 不静默更新代码:默认不 fetch、不 pull、不切分支;同步必须明确授权。
- 不允许智能体提前提交:开发和审核阶段持续禁用 push URL,并通过基线校验识别意外提交。
- 不使用强制推送:审核通过后执行普通提交和非强制 push,远程现场不一致则失败。
- 凭据不进入聊天:TAPD 与飞书凭据通过本机私有 UI 交给 MCP 服务,本地配置目录默认被 Git 忽略。
- 审核结果可追踪:运行状态、工作项结果、测试证据、Diff 指纹和报告快照都会保存。
目前支持哪些使用方式?
使用环境 | 当前支持情况 | 交互方式 |
Codex 桌面版 | 已完成端到端验证 | 对话内 MCP Apps UI |
Codex CLI | 支持 | 终端文字降级 |
Cursor | 支持标准 Skill + MCP 接入 | 客户端支持时使用 MCP Apps,否则降级 |
Claude Code | 支持标准 Skill + MCP 接入 | 文字报告或外部审核页降级 |
Codex 桌面版是目前完成端到端实测的 UI 参考宿主。Cursor 和 Claude Code 使用同一套 Skill 与 MCP 能力;自定义 HTML 的呈现取决于宿主支持,不支持时会降级为文字选择、中文报告或外部审核页,但人工审批边界保持不变。
安装并开始使用
普通用户需要 Python 3.10+、Git 和 uv。安装 Req2Code 后,集成命令会同时安装 Skill 并注册本地 MCP,不需要手工编辑 Codex、Claude Code 或 Cursor 配置文件。
uv tool install "git+https://github.com/XiuxianCoder/Req2Code.git"
req2code integrate codex
# 或:req2code integrate claude
# 或:req2code integrate cursor
重启宿主或新建一个智能体会话后,在要开发的项目中输入:
使用 $req2code-workflow,打开 Req2Code,让我选择需求平台和需要解决的工作项。
没有配置时,Req2Code 会先打开私密配置界面;已有配置时,先选择 TAPD、飞书或 Mock,再选择对应项目。飞书多维表格可选择准确的数据表并启动 AI 字段解析。工作项加载后可以先分析所选或全部未解决项,也可以直接或自动进入开发;确认后的任务会自动发送给当前智能体,不需要再次手工点击输入框发送。
当前阶段与下一步
Req2Code 当前处于 Alpha 阶段,核心闭环已经覆盖:TAPD 与飞书配置和读取、飞书文档/多维表格/电子表格解析、多工作项选择、批量规划分析、自动开发全部未解决、报告复制与重新选择、完整任务简报、当前智能体开发测试、逐工作项中文审核、两阶段提交推送门禁,以及本地运行记录和项目记忆。自动化测试覆盖 Python 3.10、3.11 和 3.12。
接下来会继续完善分发和真实宿主兼容性,增加更多需求平台适配,扩展 Cursor 与 Claude Code 的界面回归,并补齐稳定版发布所需的 LICENSE、版本发布和安全说明。
项目不是 CI/CD 的替代品Req2Code 负责把需求、智能体开发、测试证据和人工审批串起来;团队仍应保留代码评审、分支保护和 CI 检查作为第二道控制。
写在最后
我做 Req2Code 的出发点很简单:既然 Codex、Claude Code 和 Cursor 已经足够擅长理解项目、修改代码和运行测试,那么真正需要补齐的,就不是再造一个编码智能体,而是把需求入口、上下文边界、过程记录和人工发布审批做好。
如果你也在尝试把 TAPD、飞书、Git 和代码智能体接进真实研发流程,欢迎试用、提出建议,或者分享团队最希望自动化的那一步。
如果 Req2Code 对你有帮助,欢迎在 GitHub 点一个 Star
github.com/XiuxianCoder/Req2Code
让 AI 开发从“能写代码”,走向“可安全进入真实工作流”。