dsh-copilot-api:在 Harness 里接入 copilot-api 网关

前言

在 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,已核实能力包括:

  1. 自动插入 provider 条目:安装后配置中出现 id: copilot-api-provider;不需要额外改 profile 即可使用默认连接。
  2. 默认连接参数:
    - baseURL:http://localhost:4141(可带或不带 /v1)
    - protocol:openai-responses
    - 凭据引用名:GITHUB_COPILOT_API_KEY(配置里存的是引用名,不是明文 key)
  3. 密钥存放方式:在 Models 卡片用 Save API key、Harness credentials,或同名启动环境变量中保存;三者择一即可与引用对齐。
  4. Messages 协议:若要走 Anthropic Messages 形态,将 protocol 设为 anthropic-messages。
  5. 可覆盖的连接字段:在保持 id: copilot-api-provider 的前提下,可覆盖 baseURL、apiKey(仍为凭据引用)、protocol、headers、modelRefreshInterval 等;模型列表默认每 120000 ms 刷新,设为 0 可关闭定时刷新。
  6. 扩展文档:模型映射与覆盖见仓库 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 网关

  1. 确保 copilot-api 在 http://localhost:4141 可用。
  2. 将 API key 以引用名 GITHUB_COPILOT_API_KEY 写入 Models 卡片、Harness credentials 或启动环境。
  3. 安装插件并重启 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
羽毛球分组比赛记分
小程序二维码

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

Xiaoye