DSH Forge:面向 DeepSeek Harness 插件開發的獨立 Profile

前言

DSH 生態強調“一切皆插件”。開發者在實際做插件時,通常要同時處理文檔、源碼符號、Service、事件、工具、Config、實驗配置和正式插件包。如果這些工作都發生在日常 ~/.dsh 裏,容易把開發狀態、Profile 配置和正式插件混在一起。

DSH Forge 針對這個問題:它建立獨立的 ~/.dsh-forge Home、forge Profile 和開發者 Agent Preset,把源碼索引、運行時檢查、實驗記錄、驗證和 Promotion scaffold 放進一個可復現環境。它默認不會寫入普通 ~/.dsh,也保留與主線 DSH 同時運行的空間。

下面介紹 DSH Forge 的能力、安裝步驟和常用命令。

這是什麼

DSH Forge 是一個可復現、運行時感知的 DeepSeek Harness 插件開發 Profile。

它由 zhn1100 維護,GitHub 倉庫地址爲 https://github.com/zhn1100/dsh-forge,許可證爲 MIT。當前資料版本針對 @deepseek-ai/dsh@0.1.0-rc.6,參考源碼固定到提交 47f943859bef60e4160492346772ded9b24f765a。本項目不是 DeepSeek 官方項目。

核心功能

獨立 Home 與開發者 Preset

  • 建立獨立的 ~/.dsh-forge Home。
  • 提供 forge Profile 和開發者 Agent Preset。
  • 默認監聽 127.0.0.1:3188,與主線 DSH 的 3080 錯開;需要其他端口時可用 --port 覆蓋。

本地索引

  • 本地索引 Harness 文檔、源碼符號、Service、事件、工具、Config 和示例。
  • 可用於在本地檢索符號或接口,例如 Service.init

實驗、驗證與 Promotion scaffold

  • 管理可恢復的插件實驗。
  • 保留驗證狀態。
  • 提供 quickpackagefull 受限驗證流程。
  • 提供 Promotion scaffold,用於承接正式化流程。

同步與鏡像

  • 每次啓動安全同步普通 ~/.dsh 中的用戶配置,同時保護 Forge 本地修改。
  • 同步的是用戶態數據,不同步當前工作文件夾源碼。
  • 鏡像普通 ~/.dsh 各 Profile 通過 cordis.patch.ymlinsert 聲明的 out-of-tree 插件。
  • forge/profiles/.agent-presets/cordis.patch.yml 不參與 Home 同步;例外是主線 Profile 通過 insert 聲明的 out-of-tree 插件會被鏡像。
  • Forge 側已修改或刪除的文件不會被覆蓋;源端刪除也不會傳播。

安裝與依賴邊界

  • 使用 SHA-256 內容尋址 tarball 安裝自身,避免複用舊包緩存。
  • 將 Cordis、System Prompt 和 Tools 保持爲宿主提供的可選 peer。
  • 升級時先由 DSH 正常移除舊 Forge 依賴,再安裝新工件。

安裝與啓用

先確認環境:Node.js ^22.19.0>=24,以及 pnpm

先克隆倉庫、安裝依賴、運行驗證,再執行安裝命令。安裝程序默認目標爲 ~/.dsh-forge,不會寫入普通 ~/.dsh

git clone https://github.com/zhn1100/dsh-forge.git
cd dsh-forge
pnpm install
pnpm run verify
node lib/cli.js install

經過上面的步驟後,可以在需要開發插件的工作區啓動 Forge Profile:

DSH_HOME="$HOME/.dsh-forge" npx @deepseek-ai/dsh@0.1.0-rc.6 --profile forge

啓動後打開 Web UI,選擇 DSH Forge 開發者 Preset。默認監聽 127.0.0.1:3188;需要調整時可用 --port <端口> 覆蓋。

典型用法

環境檢查

DSH_HOME="$HOME/.dsh-forge" node lib/cli.js doctor

重建指定 Harness revision 的知識索引

DSH_HOME="$HOME/.dsh-forge" node lib/cli.js sync --revision <commit>

搜索本地索引

DSH_HOME="$HOME/.dsh-forge" node lib/cli.js search "Service.init"

驗證當前插件項目

node lib/cli.js verify --root . --level full

適用場景與注意

適合以下場景:

  • 長期開發 DSH 插件,希望隔離 Home、Profile 和開發者 Preset。
  • 需要固定 Harness revision,並基於文檔、源碼符號、Service、事件、工具、Config 做本地索引。
  • 希望保留可恢復實驗、驗證狀態和 Promotion scaffold。
  • 需要同時運行主線 DSH 與 Forge Profile。

使用前注意:

  • 本項目不是 DeepSeek 官方項目。DSH 社區目錄是獨立站點,與 DeepSeek / 幻方沒有官方從屬關係。
  • 插件會在當前 DSH 進程權限下運行。安裝前先檢查源碼、依賴和 MIT 許可證。
  • 動態 Cordis Package 屬於顯式信任邊界。Forge 提供隔離和恢復能力,但不是強安全沙箱。
  • 同步不會複製工作區源碼;從工作區 A 切換到工作區 B,不會複製 A 的代碼到 B。
  • forge/profiles/.agent-presets/cordis.patch.yml 不參與 Home 同步;主線 Profile 通過 insert 聲明的 out-of-tree 插件是例外。

結尾

DSH Forge 把 DSH 插件開發拆成獨立 Home、本地索引、實驗記錄、受限驗證和 Promotion scaffold。它適合需要可復現、可恢復、可與主線 DSH 並行運行的插件開發流程。

GitHub 倉庫:https://github.com/zhn1100/dsh-forge。社區目錄爲獨立站點,具體目錄頁入口以站點實際展示爲準。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜