前言¶
DeepSeek Harness(DSH)把模型、工具、界面拆成可插拔模块。实际开发里,除了官方通道,还常要把第三方 OpenAI 兼容端点接进 Harness,并区分「普通对话」和带 reasoning/thinking 的模型。手工改 YAML、对齐 DSH 各版本的 settings 协议,容易踩坑:保存失败无提示、密钥写进配置、旧版 installSection 与新版 entry-config 不兼容等。
下面介绍社区插件 Dsh-OtherAPI(维护者 ShukebtAb,分类:模型推理)。它在 Web 设置里提供 OtherAPI 面板,面向 DSH 0.1.7-rc.2 的 entry-config 设置模型,一键配置任意 OpenAI 兼容 API,并支持思考模式相关选项;实现上基于 dsh-plugin-thinking-api@0.1.8(MIT,作者 qjf44)改造。插件目录页:SkillHub - Dsh-OtherAPI;源码与说明:GitHub - ShukebtAb/Dsh-OtherAPI。
这是什么¶
Dsh-OtherAPI(npm 包名 dsh-other-api,当前版本 0.1.0)是 DeepSeek Harness 的 Web 侧插件:在设置中集中管理多个 OpenAI 兼容 provider(base URL、模型列表、是否启用、是否走思考模式),并把配置写入 DSH 0.1.7 要求的 entry-config 形态。package 描述中还提到:在接入第三方端点时,会规避 developer 角色被端点以 content_filter 等原因拒绝的问题。
与 0.1.5/0.1.6 时代手写 patch 或旧 thinking-api 插件不同,本仓库明确移除了已废弃的 installSection / setSource / onChange 兼容层,改用 Config schema、settings.configure({ auto: false }),以及 loader/volatile-update 事件;远端 settings/mutate 按 0.1.7 协议补齐第三参 expectedRevision,并对保存/删除/探测做了完整的 try/catch/finally,避免远端抛错时界面按钮一直灰、无反馈。
核心功能¶
设置面板(Web → 设置 → OtherAPI)¶
README 在仓库 docs/ 下提供了设置面板截图(不随 npm 包发布)。面板侧能力包括:
- Provider 管理:配置 OpenAI 兼容 API 的接入信息;模型行使用两个复选框——「启用」决定是否写入配置,「思考」标记该模型是否按思考模式处理。
- 列表内复制 provider:一键复制已有 provider;route 自动追加
-copy并递增避让,apiKeyEnv沿用源项。 - 密钥与配置分离:配置 YAML 里只保存环境变量引用名(如
apiKeyEnv: GOODAPI_API_KEY),不在文件里写明文 key;实际密钥在 OtherAPI 面板填写,由 credentials 服务写入$DSH_HOME/.credentials.yaml的refs段。引用名由 route 自动派生(例如goodAPI→GOODAPI_API_KEY)。
相对上游 thinking-api 的适配要点¶
- 设置接入改为 0.1.7 的 entry-config 模型。
- 内联
deepEqualJson,不再依赖dsh-util-values运行时。 - 密钥解析:在有 credentials 服务时只走 credentials,不会「失败再读环境变量」;无 credentials 服务时才从 launch environment 读环境变量。这是有意设计,避免在生产部署里用环境变量覆盖面板写入的密钥。
安装与启用¶
DSH 生态强调「一切皆插件」;SkillHub 等目录是社区站点,与 DeepSeek / 幻方无官方从属关系。安装前建议浏览仓库源码与 MIT 许可证,并理解插件以当前 DSH 进程权限运行。
从 GitHub 安装(README 推荐):
dsh plugin --profile web add github:ShukebtAb/Dsh-OtherAPI
本地目录调试:
dsh plugin --profile web add file:/绝对路径/Dsh-OtherAPI
运行环境要求 Node.js >= 20;peerDependencies 指向 DSH 0.1.7-rc.x 系列(<0.1.8)。
典型用法¶
1. 安装插件并打开 Web 设置¶
执行上述 dsh plugin --profile web add ... 后,在 Web 界面进入 设置 → OtherAPI,新增或编辑 provider(base URL、模型等)。
2. 在面板填写 API Key¶
不要把密钥写进 provider 的静态配置。在 OtherAPI 面板填写 key;保存后由 credentials 服务按引用名写入 $DSH_HOME/.credentials.yaml。
配置文件中仅保留引用,例如:
providers:
goodAPI:
apiKeyEnv: GOODAPI_API_KEY # 引用名,不是密钥本身
3. 勾选模型并保存¶
对每个模型勾选「启用」;需要 reasoning/thinking 行为时勾选「思考」。保存、删除、探测会走远端 settings API;0.1.7 下若 mutate 参数不全,会收到明确协议错误(本插件已按三参协议实现)。
4. 在 Harness 中选择模型¶
经过上面的步骤,模型选择器应能列出已启用的第三方模型,与 DSH 内置流程一并使用(具体 UI 以当前 DSH Web 版本为准)。
版本兼容与注意事项¶
| 插件版本 | DSH 版本 | 状态 |
|---|---|---|
| 0.1.0 | 0.1.7-rc.2 |
运行时验证通过(启动、设置面板、模型选择器) |
| 0.1.0 | 0.1.5 – 0.1.6 | 不支持(缺少 volatile、settings.configure 等 API) |
| 0.1.0 | 0.1.8-rc.1 及以后 |
未验证(peer 上界 <0.1.8,需时再放宽) |
适合谁:已在或计划使用 DSH 0.1.7-rc.2、需要快速挂多个 OpenAI 兼容端点,并要在 UI 里区分普通模型与思考模型的开发者。
注意:
- 0.1.5/0.1.6 安装会报
volatile is not a function或child.settings.configure is not a function,应升级 DSH 或换用对应版本的其它插件。 - 正常带 credentials 服务的部署下,不要指望用同名环境变量覆盖面板密钥。
- 问题反馈可走 GitHub Issues:https://github.com/ShukebtAb/Dsh-OtherAPI/issues
结尾¶
Dsh-OtherAPI 把「OpenAI 兼容 API + 思考模式 + 0.1.7 entry-config」收成 Web 里的一键配置流程,并修正了旧实现在 settings 失败时的 UI 卡死问题。若你的 Harness 运行在 0.1.7-rc.2,可从 SkillHub 目录页或 GitHub README 按官方命令安装,在 OtherAPI 面板完成 provider 与密钥管理后再选模型推理。
- 目录页:https://www.skillhub.cn/plugins/ShukebtAb/Dsh-OtherAPI
- GitHub:https://github.com/ShukebtAb/Dsh-OtherAPI