在 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。 - 適用場景:需要嚴格可追溯、可回滾、可審查的自動化開發工作流。