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。社区目录为独立站点,具体目录页入口以站点实际展示为准。

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

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

小夜