dsh-private-plugins
Private DSH bundle exposing custom plugins as separate profile loader entries.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:vb2250158/dsh-plugins说明文档
阅读完整 README ↗DSH 私有插件同步目录
这个仓库只保存自定义插件、私有设置和可直接加载的 lib/ 产物。官方 DSH 源码、官方分支、官方插件和官方配置不在这里同步或修改。
仓库内容:
plugins/:自定义插件源码和构建产物;每个插件保留独立 loader 身份。cordis.patch.yml:只插入私有 loader 行。初始化、替换或扩展行为都在这些私有插件中完成。config/private-settings.yaml:只保存私有插件拥有的持久化设置。scripts/attach-private-profile.ps1:将这个本地仓库作为树外 bundle 加到 DSH 的webprofile。scripts/sync-settings.ps1:把私有设置合并到本机 DSH 设置,并双向合并本仓库的项目级AGENTS.md;不复制整份settings.yaml。- 私有插件持久化规范:数据、机器配置、凭据和同步冲突的归属规则。
- 我的插件管理:Web 设置页的私有插件范围、同步说明和版本记录。
- 私有插件规范:插件 UI、主题适配、版本记录和同步边界。
新电脑接入
先分别拉取官方默认分支和私有仓库。官方源码先按官方方式安装依赖:
git clone https://github.com/deepseek-ai/deepseek-harness.git C:\Data\deepseek-harness
pnpm --dir C:\Data\deepseek-harness install
git clone https://github.com/vb2250158/dsh-plugins.git C:\Data\dsh-plugins
cd C:\Data\dsh-plugins
pwsh -File .\scripts\attach-private-profile.ps1 -DshSourcePath C:\Data\deepseek-harness
附加脚本会先按 pnpm-lock.yaml 安装私有仓库依赖,再调用官方 dsh plugin --profile web add,把本地私有仓库链接到 $DSH_HOME/profiles/web/,导入 config/private-settings.yaml,并将本仓库的 AGENTS.md 合并到 $DSH_HOME/AGENTS.md,然后记录私有仓库位置。既有本机提示词会保留,重复导入不会重复追加。脚本会启用 Node 对本机 HTTP_PROXY、HTTPS_PROXY 与 NO_PROXY 的读取,但不保存代理地址。官方源码目录不会被写入。
启动:
pnpm --dir C:\Data\deepseek-harness dsh web
需要在 Windows 上长期运行时,先为当前电脑设置 DSH_SOURCE_ROOT,可选设置 DSH_WEB_PORT(默认 3080),再执行 scripts/run-dsh-web.ps1。脚本只从这些本机环境变量读取官方源码位置和端口;端口存在且本机 HTTP 检查正常时直接退出,端口存在但异常时终止旧宿主后隐藏地拉起独立宿主。启动记录写入 $DSH_HOME/logs/web-host.log,标准输出和错误分别写入 web-host.stdout.log 与 web-host.stderr.log。
当前电脑可在用户 Startup 文件夹放置一个无窗口的 DeepSeek Harness Web.vbs,登录后调用同一脚本一次。DeepSeek Harness Web Health Windows 计划任务每 10 分钟检查一次 127.0.0.1:$DSH_WEB_PORT;HTTP 不可用时调用同一脚本修复,不在内存中常驻轮询或循环重启。该启动项从 DSH_PRIVATE_PLUGIN_ROOT 读取私有仓库路径。
当前同步 llm-provider-visibility、gpt-web-search 与以合并方式维护的项目级 AGENTS.md。NAS 映射、私有目录、会话凭据、默认主模型、官方主题、权限、预设和其他机器相关 DSH 设置保留在本机。
更新私有插件
git -C C:\Data\dsh-plugins pull --ff-only
重启 DSH 后加载新的私有插件代码。首次接入后不需要重新安装私有 bundle。
私有注入方式
NAS 映射在“设置 → NAS 支持”中按当前电脑保存;不要将具体 UNC、盘符、私有目录或其他机器参数写入共享补丁。工作区迁移使用 node scripts/migrate-nas-workspace.mjs --dsh-home --from --to ,并且不会重写历史会话日志。
自定义主题、设置页、RabiRoute 接入和后续贴纸都通过本仓库的 cordis.patch.yml 与独立私有 loader 注入。需要覆盖官方表现时,私有插件使用公开的 slot、主题 token 或服务扩展点;不复制或修改官方 DSH 源码。
npm run build:theme-blue 和 npm run build:provider-visibility 会重新生成对应浏览器模块。provider-visibility、ui-theme-blue、opencode-go-usage、source-preservation-guidance、gpt-tool-schema-compatibility、gpt-web-search、subagent-output-sanitizer、nas-workspace-support 和 dsh-private-plugins 都是私有 loader 行。“官方代码保护”会把优先使用私有插件、保持官方源码与 profile 纯净的规则加入每个 DSH agent 提示词。“GPT 工具兼容”只在 GPT/Codex 模型已处于 Full access 时,从模型可见 schema 移除无效的升级参数。“GPT 联网搜索”复用“设置 → 订阅”中的 ChatGPT 登录,默认让 gpt-5.6-sol 通过原生 web_search 执行检索,并保持模型看到的工具名仍为 web_search。“子代理输出兼容”会把子代理完成或主动报告中携带的工具块转为普通文本,并在会话恢复时修复已有表层,避免 Codex Responses API 拒绝缺少对应输出的 function call。“NAS 支持增强”只按当前电脑插件设置将匹配的 UNC 工作区转换为配置的虚拟盘路径,并接管文件打开动作;私有仓库位置始终独立配置。停止 DSH 后执行 node scripts/migrate-nas-workspace.mjs --dsh-home --from --to ;它不会重写历史会话日志。“我的插件”只能启用或停用具有独立 loader 的私有插件;状态写入当前 profile 的 cordis.patch.yml,不改动官方插件。DSH 会实时调和启停配置;刷新浏览器后更新插件页面。拉取到新的私有插件代码后再重启 DSH。
独立插件上游索引见 上游插件索引。本地聚合包继续交付尚未迁移的私有功能。