在 DSH 生态中,将 Issue 转化为 PR 时,往往缺乏中间过程的可控性与可回溯性。dsh-issue2pr 是一个全局工作流插件,旨在通过结构化的 11 阶段流水线,将 Issue 到 PR 的过程转化为一系列具备输入契约、失败信号、可回滚产物与可独立审查 Artifacts 的步骤。
该插件由 LONGSASASASASA 维护,遵循 MIT 许可证,旨在提供一份“可审查的系统”,而非单纯的文本生成。
核心功能¶
插件覆盖了从 Issue 分析到 PR 构建的全过程,核心能力包括:
- 11 阶段全链路流水线:覆盖 Issue 分析 → 检索 → 代码理解 → 根因假设 → 任务规划 → 编码 → 补丁管线 → 测试 → 审查 → PR 构建。
- 人工复核门控:在 P5 / P6 / P9 / P11 设置四道门控,必须经过 approve 放行或 reject 打回处理。
- 产物证据链:每个阶段落盘编号产物(如
01-issue-analysis.),支持独立审查与打回重做。 - 可回滚机制:Patch Pipeline 带有台账,只撤销 Agent 引入的修改,不触碰用户原有代码。
- 真实测试:在克隆的仓库中执行真实测试命令,完整输出落盘以供回溯。
- 多智能体与外部委托:P6 阶段支持内置 Planner / Coder / Reviewer 协同,或委托 DSH 会话、Claude Code CLI、DSH 原生智能体执行。
- 工作台 UI:提供项目 / 运行 / 产物 / 配置 / 说明五页视图及悬浮智能助手。
- Git 托管连接:支持 GitHub / GitLab / 华为云 CodeArts,凭据全局共享。
- 逐阶段配置:每个阶段可独立修改提示词、模型、超时等参数。
- 全程可观测:通过
trace/events.l记录 LLM 调用、Git 操作与测试执行状态。
安装与启用¶
插件随 DSH 宿主运行,安装命令如下:
dsh plugin --profile web add dsh-issue2pr
工作原理¶
插件通过配置不同的模式来控制执行流程:
复核模式¶
决定哪些阶段会停下来等待人工介入:
every:每个阶段完成后都进入复核门。key-only:仅在 P5 / P6 / P9 / P11 复核(推荐)。auto:全自动推进,委托阶段仍需验证产物可用性。
P6 执行模式¶
决定代码生成由谁执行:
builtin:内置多智能体协同。session:生成任务包交给 DSH 会话人工执行。claude:委托 Claude Code CLI 执行。dsh:交给 DSH 宿主原生智能体执行。
典型用法¶
1. 建项目¶
在 DSH 侧边栏点击「Issue2PR」,进入项目页新建。需填写项目名称、slug、仓库地址。触发源可以是 Issue 链接或本地需求文档路径。
2. 配连接¶
私有仓库需在「Git 托管连接」中添加凭据并测试探活;公开仓库可直接使用 GITHUB_TOKEN 环境变量。
3. 发起 Run¶
粘贴 Issue 链接或选择本地需求文档,插件会自动浅克隆仓库并开始推进。
4. 运行与复核¶
在运行页查看阶段进度。遇到复核门时,需查看产物并决定 approve 或 reject。委托阶段的放行需确保产物可用。
5. 拿 PR 说明¶
P11 通过后,可打开 10-pr-description. 文件,其中包含背景、根因、修改点、验证证据及风险说明。11-eval-report. 是 Gate 六项自评。
适用场景与注意¶
- 环境要求:DSH 宿主(插件随 web 同生共死)、Node.js ≥ 18、git。
- 依赖项:需要
@deepseek-ai/dsh-client-runtime、@deepseek-ai/dsh-client-locale、@deepseek-ai/dsh-client-ui-settings版本 ≥ 0.1.0-rc.2。 - 适用场景:需要严格可追溯、可回滚、可审查的自动化开发工作流。