前言¶
在 DeepSeek Harness(DSH)里接外部模型,常见做法是手写 provider 配置、对齐协议字段,再维护密钥引用。若本地或内网已经跑着 copilot-api 一类网关(默认常监听 http://localhost:4141),你希望 Harness 直接走这条链路而不是再搭一套 OpenAI 兼容端点,就需要一个现成的 Harness provider 插件。
下面介绍社区插件 dsh-copilot-api(维护者 caozhiyuan,分类:模型推理):它为 copilot-api 网关提供 DSH provider,README 写明在 Harness 0.2.1-rc.2 上做过验证。插件当前在 GitHub 上为 1 star;包版本见仓库 package.json(资料截取时为 0.1.8),许可证 MIT。
这是什么¶
dsh-copilot-api 的定位一句话:DeepSeek Harness provider for a copilot-api gateway——安装后向 Harness 配置里插入名为 copilot-api-provider 的连接项,把对话流量导向 copilot-api,无需再手写整段 provider 样板。
与「只在 Harness 里填一个自定义 OpenAI base URL」相比,该插件通过 Cordis patch 注入客户端能力(Models 卡片、资源与远程 API 等),并约定默认协议与凭据引用名,减少 profile 里重复维护字段。
核心功能¶
依据 README,已核实能力包括:
- 自动插入 provider 条目:安装后配置中出现
id: copilot-api-provider;不需要额外改 profile 即可使用默认连接。 - 默认连接参数:
-baseURL:http://localhost:4141(可带或不带/v1)
-protocol:openai-responses
- 凭据引用名:GITHUB_COPILOT_API_KEY(配置里存的是引用名,不是明文 key) - 密钥存放方式:在 Models 卡片用 Save API key、Harness credentials,或同名启动环境变量中保存;三者择一即可与引用对齐。
- Messages 协议:若要走 Anthropic Messages 形态,将
protocol设为anthropic-messages。 - 可覆盖的连接字段:在保持
id: copilot-api-provider的前提下,可覆盖baseURL、apiKey(仍为凭据引用)、protocol、headers、modelRefreshInterval等;模型列表默认每 120000 ms 刷新,设为0可关闭定时刷新。 - 扩展文档:模型映射与覆盖见仓库
docs/models.md;请求头与会话见docs/headers.md;本地开发见docs/development.md。
安装与启用¶
官方安装命令(来自 README):
dsh plugin --profile web add dsh-copilot-api
首次安装后需要重启 Harness。插件会向配置写入 copilot-api-provider 条目。
若从本地检出构建(README 示例,路径需换成你的绝对路径):
cd /absolute/path/dsh-copilot-api
bun install
bun run build
dsh plugin --profile web add /absolute/path/dsh-copilot-api
典型用法¶
1、使用默认 localhost 网关¶
- 确保 copilot-api 在
http://localhost:4141可用。 - 将 API key 以引用名
GITHUB_COPILOT_API_KEY写入 Models 卡片、Harness credentials 或启动环境。 - 安装插件并重启 Harness,在模型列表中选择经该 provider 刷新的模型即可。
默认行为适合本机调试:OpenAI Responses 协议、两分钟一次模型列表刷新。
2、修改 base URL 或其它连接项¶
仅当默认值不符合环境时再覆盖;必须保留 id: copilot-api-provider,并写全仍需要的字段:
- id: copilot-api-provider
config:
baseURL: http://localhost:4141
apiKey: GITHUB_COPILOT_API_KEY
protocol: openai-responses
modelRefreshInterval: 120000
说明:apiKey 与 apiKeyEnv 都是凭据引用名;若同时设置,两者须一致。需要自定义请求头时使用 headers。
3、走 Messages 协议¶
将 protocol 改为 anthropic-messages,其余凭据与 base URL 规则不变。
适用场景与注意¶
适合谁:已在跑 copilot-api(或计划用其统一 GitHub Copilot 等上游)、希望在 DSH Web profile 里用官方插件方式接模型、并愿意用 GITHUB_COPILOT_API_KEY 这一引用名的开发者。
运行与信任:DSH 插件在当前 dsh 进程权限下执行;安装前请自行审阅 GitHub 仓库 源码与 MIT 许可证,确认网关地址与密钥管理方式符合你的安全策略。社区目录 SkillHub 插件页 为独立站点,与 DeepSeek / 幻方无官方从属关系,版本与说明以仓库 README 为准。
依赖范围:package.json 中 peerDependencies 约束了 @deepseek-ai/dsh-llm 等 Harness 相关包的版本区间,升级 Harness 时若遇加载失败,应对照仓库 peer 范围与当前 Harness 版本。
结尾¶
dsh-copilot-api 把「Harness ↔ copilot-api 网关」收成一条可安装的 provider:默认 localhost、OpenAI Responses、凭据引用 GITHUB_COPILOT_API_KEY,需要时再 YAML 覆盖连接项。查阅目录与源码:
- 目录页:https://www.skillhub.cn/plugins/caozhiyuan/dsh-copilot-api
- GitHub:https://github.com/caozhiyuan/dsh-copilot-api