在 DeepSeek Harness(DSH)的插件生態中,處理遺留代碼通常需要人工梳理,缺乏系統化的流程控制。現有的工具往往難以對遷移路徑進行量化評估與分步執行。DSH 插件 dsh-modernize-code 提供了一套完整的遺留代碼現代化工作流,將遷移過程拆解爲環境檢查、模式掃描、路線圖制定及逐塊遷移四個階段,旨在通過標準化的流程降低重構風險。
這是一款由 988hj7tczd-oss 維護的 DSH 技能包,專注於遺留代碼的現代化與簡化。它提供了一套從環境就緒檢查(preflight)到遺留模式掃描(assess),再到遷移路線圖(map)和逐塊增量遷移(transform)的完整閉環。該插件實現了類似 anthropics code-modernization 的 preflight 行爲,強調“問了不阻塞、報告不漏項”,並支持離線運行。
核心功能¶
該插件包含以下核心能力:
- preflight(環境就緒檢查):執行 5 個不阻塞問題與 6 項自動檢查,生成
PREFLIGHT.md。未答問題原樣列爲 open items,絕不代答。 - assess(遺留模式掃描):對項目進行靜態掃描,識別回調嵌套、全局狀態、魔法數等模式,生成包含影響面、風險與成本排序的
legacy-hotspots.md。 - map(遷移路線圖):基於掃描結果生成階段化遷移路線圖,每個階段包含回滾點與驗證命令。
- transform(逐塊增量遷移):支持逐塊增量遷移,避免大爆炸式重構,改碼過程需用戶確認。
- 獨立組合掛載:提供 Cordis 掛載插件,可作爲獨立組合或 bundle patch 引入宿主組合。
- 離線運行:使用 Python 標準庫編寫腳本,無需網絡、無憑據、無外部服務。
安裝與啓用¶
安裝步驟如下:
pnpm install --offline && pnpm build
在使用前,需確保項目同級目錄存在 dsh-src(DeepSeek Harness 源碼檢出),並已完成其 pnpm install && pnpm run build。插件通過 peerDependencies 依賴宿主提供的 @deepseek-ai/cordis 等核心包。
典型用法¶
插件支持直接調用其 Python 腳本進行工作流各階段的操作。
運行環境預檢:
python3 skills/dsh-modernize-code/scripts/preflight.py <project-dir> --answers answers.json --targets ts,container
掃描遺留代碼模式:
python3 skills/dsh-modernize-code/scripts/detect-patterns.py <project-dir> --out legacy-hotspots.md
上述命令會在項目目錄下生成 PREFLIGHT.md 和 legacy-hotspots.md 兩個關鍵產物,作爲後續制定遷移路線圖的依據。
適用場景與注意¶
該插件適用於需要系統化重構遺留代碼的團隊。使用時需注意:
- 依賴前置:開發環境下依賴同級目錄的
dsh-src,通過link:機制指向官方源碼。 - 權限邊界:運行時僅讀取被掃描項目目錄,寫入
PREFLIGHT.md和legacy-hotspots.md,不涉及網絡請求或憑據傳輸。 - 許可證:本插件採用 MIT 許可證,獨立於上游 proprietary 許可證項目,僅參考其流程骨架。
- 運行環境:需要 Python 3.9+ 和 Node.js 22.6+(支持 type stripping)。
該插件通過將遺留代碼遷移拆解爲 preflight、assess、map、transform 四個階段,爲 DSH 生態提供了一個可控的現代化工作流標準。完整文檔與源碼位於 GitHub。