前言¶
給 DeepSeek Harness(DSH)寫插件,代碼本身往往不是最花時間的部分。真正容易出問題的是兩頭:起步時要建目錄、套模板、配依賴;發佈前要跑類型檢查、測試、打包預覽、密鑰掃描,還要確認包能裝進一個乾淨的 DSH profile。這些步驟手工做一遍不難,難的是每次都不漏。
dsh-plugin-forge 把這整條鏈路搬進了 DSH 的聊天工作流,並在關鍵節點上設置了人工確認:模型可以幹活,但不能替你批准階段、建倉庫或發包。下面介紹它的定位、安裝與典型用法。
這是什麼¶
dsh-plugin-forge 是由 luoyuejun9 維護的一個 DSH 插件,定位一句話可以說清:一個人工把關(human-gated)的插件創建、驗證與發佈工作臺。
基本信息:
- 版本:0.1.0
- 許可:MIT
- 目標 DSH 版本:0.1.0-rc.6
- 運行環境:DSH Web profile
- 運行要求:Node >= 22.19
它把「一個插件想法」變成一串可追溯的產出:先生成版本化的規格,再生成安全的項目腳手架,接着跑驗證拿到證據,做一次隔離的 DSH 安裝檢查,最後——只有在人工明確確認之後——才發佈到 GitHub/npm。
DSH 的理念是「一切皆插件」,「怎麼規範、安全地把一個插件做出來併發布出去」本身就是生態裏的真實需求,dsh-plugin-forge 解決的就是這個問題。
核心能力¶
四個 v0.1 模板¶
新項目從模板起步,當前提供四種:
tool-commandskill-wrapperstatefulbundle
/forge 命令與 Web Studio 卡片¶
插件面向 DSH Web profile,貢獻了 /forge 命令,並在聊天裏提供一張可重放的 Plugin Forge 卡片。這張卡片是原生 DSH Conversation Node,狀態基於持久化的 forge/* 會話事件重建,因此重放對話、加載更多聊天曆史之後,階段狀態依然在。
階段推進只認人工確認¶
整條工作流裏,只有 /forge continue 能把階段往前推。模型可以讀狀態、做校驗、跑檢查、寫入受限的實現文件,但不能批准階段、不能創建倉庫、不能發佈包。發包這一步始終留在人手裏。
安裝與啓用¶
用官方安裝命令,把插件裝進 Web profile:
dsh plugin --profile web add dsh-plugin-forge@0.1.0
安裝完成後需要重新加載 DSH Web profile,之後 /forge 命令和聊天裏的 Plugin Forge 卡片就可以使用了。
典型用法¶
下面是從 README 中照搬的完整流程,從環境檢查一直到發佈:
/forge doctor
/forge new dsh-my-plugin --type tool-command --title "My plugin" --description "A focused DSH capability"
/forge continue <forge-id>
/forge run <forge-id> # scaffold
/forge continue <forge-id>
/forge run <forge-id> # implementation assistance
/forge continue <forge-id>
/forge run <forge-id> # verification
/forge continue <forge-id>
/forge release <forge-id> --dry-run
/forge publish <forge-id> --fingerprint <sha256>
按順序拆開看:
/forge doctor先檢查環境是否就緒。/forge new創建新插件項目,指定類型、標題和描述。生成的項目必須是活動 DSH workspace 下的新目錄。- 接下來是
continue與run交替推進:先做continue進入下一階段,再做run,依次用於 scaffold(生成腳手架)、implementation assistance(實現輔助)、verification(驗證)。 - 經過上面的步驟,項目完成了腳手架、實現和驗證,用
/forge release <forge-id> --dry-run預演一次發佈,不真正發包。 - 確認無誤後,
/forge publish <forge-id> --fingerprint <sha256>攜帶當前 release fingerprint 正式發佈。
本地開發驗證用這三條命令:
npm install
npm run check
npm pack --dry-run
安全邊界¶
這個插件對「模型能做什麼」劃得比較細,幾條規則都寫在了文檔裏:
- 生成的項目必須是活動 DSH workspace 下的新目錄。
- 模型只能寫
src/、test/、schemas/、docs/這幾個目錄;模板、依賴、發佈配置、.git與憑據都受保護。 - 新增依賴須通過與一個小型 DSH/TypeScript 白名單的比對。
- 驗證流程會跑
npm install --ignore-scripts、typecheck、test、build、pack preview、secret scan,以及一次乾淨的 DSH profile 安裝。 - 發佈需要當前 release fingerprint,項目有任何變更都會使既定的發佈計劃失效。
- Forge 會調用你已有的
git、gh、npm會話,但不讀取、也不存儲它們的憑據。
適用場景與注意事項¶
適合誰:需要反覆開發 DSH 插件、想把從創建到發佈的流程固定成一條可重放工作流的開發者;尤其是希望模型負責執行、但發佈決策留在自己手裏的場景。
幾點注意:
- 插件以當前 dsh 進程的權限運行,安裝前建議先查看源碼與許可證(MIT,倉庫另有中文文檔 README.zh.md)。
- 安裝後需要重新加載 DSH Web profile 才能生效。
- 發佈是人工確認制:
--dry-run不會發包,publish必須攜帶有效的 fingerprint,項目變更後需要重新走發佈計劃。
結尾¶
dsh-plugin-forge 的價值不在替你多寫多少代碼,而在把「造插件」這件事裏容易出錯的環節——腳手架、驗證、安裝檢查、發佈——串成一條有人工閘門的流水線。如果你在給 DSH 生態寫插件,值得試一試。
- 社區目錄頁(社區維護的獨立站點,與 DeepSeek / 幻方無官方從屬關係):https://www.skillhub.cn/plugins/luoyuejun9/dsh-plugin-forge
- GitHub 倉庫:https://github.com/luoyuejun9/dsh-plugin-forge