dsh-oneapi:为 OneAPI 网关提供可视化配置与探活工具

前言

在 DeepSeek Harness(DSH)里使用 @deepseek-ai/dsh-llm-pi-ai 的 oneapi provider 时,路由、Base URL、API Key 和默认模型通常写在 profile 配置里,改一处就要动手编辑 JSON 或等价配置,也不容易一眼看清网关是否连通、各模型是否可用。下面介绍的 @szluyu99/dsh-oneapi 由维护者 szluyu99 发布,把同一套 providers.oneapi 配置接到设置页与可选的左侧边栏面板上,并补充一组 agent 工具,用于查看状态、改参数、同步模型列表和逐模型探活。

这是什么

@szluyu99/dsh-oneapi 是 DSH 社区插件(MIT 许可,package.json 版本 1.0.0),依赖 dsh >=0.2.2-rc.1 与 Node >=22。它不另存一份配置,而是通过 host 的 configEditor seam 直接读写 llm-pi-ai 条目的 providers.oneapi;API Key 以凭据引用(默认 ONEAPI_API_KEY)经 credentials 的 set / describe / resolve 处理,界面只显示是否已配置及来源,不回显明文。

插件最初面向百度内部的 OneAPI 网关(默认占位与 Token 获取链接指向 https://oneapi-comate.baidu-int.com/v1),但 Base URL 可改,自建 OneAPI 或与 One-API 兼容的网关同样适用。

核心功能

设置页(设置 → OneAPI)

进入设置中的 OneAPI 页后,可以:

  1. 查看 provider 路由状态:displayName、api、baseURL、默认上下文窗口。
  2. 查看 API Key 配置状态与来源。
  3. 查看并切换 agent 默认模型(经 agentDefaultModel.saveSelection,provider 固定为 oneapi)。
  4. 查看完整模型清单:id、名称、上下文窗口、输入类型、推理等级。
  5. 编辑显示名、Base URL、API Key、默认模型,并一键测试网关连通性。
  6. 在模型表格中逐行做单次最小请求探活;表头「全部测试」以 4 个并发逐个执行,结果边跑边出。
  7. 通过「在左侧边栏显示」开关控制配置项 showInSidebar(默认开启)。

左侧边栏面板

showInSidebar 打开时,DSH 左侧边栏会出现 OneAPI 入口,面板内容与设置页一致,便于在对话过程中查看模型与连通状态。

Agent 工具(6 个)

工具 作用
oneapi_status 读当前 provider 路由、API Key 配置状态、默认模型、模型清单
oneapi_test 请求 {baseURL}/models,返回 HTTP 状态、耗时、网关返回的模型 id 列表
oneapi_configure 改 displayName / baseURL / API Key / 默认模型 / showInSidebar
oneapi_sync_models 从网关拉真实模型列表并写回配置(已知模型保留元数据)
oneapi_test_models 对已配置的每个模型各发一次最小 chat-completion 探活(并发 5)
oneapi_test_model 对单个模型做一次探活,返回 ok / status / latencyMs / error

前端与 HTTP API

Web 前端通过本机 /api/oneapi/* 访问 host 服务,路由包括 GET /status、POST /test、POST /save、POST /sync、POST /test-models、POST /test-model。各 handler 会做本机同源与请求围栏校验;从外部用 curl 访问这些路由会返回 401,属于设计行为而非故障。

安装与启用

DSH 生态采用「一切皆插件」思路;社区目录在 SkillHub,与 DeepSeek / 幻方无官方从属关系。安装前建议自行查看仓库源码与 MIT 许可证;插件在当前 DSH 进程权限下运行,配置的 Base URL 与 API Key 会用于访问你所填写的网关。

从 npm 安装

在 DSH 插件管理里,target 填:

@szluyu99/dsh-oneapi

或命令行执行:

npm install @szluyu99/dsh-oneapi

从 GitHub 安装

在 DSH 插件管理或 Web 界面插件页,target 填:

github:szluyu99/dsh-oneapi

从源码安装(开发或本地改动)

在 DSH 中使用 plugin_manager 的 install_bundle,target 填 clone 后仓库目录的绝对路径(pnpm 会 link 到源码,改代码可即时生效)。官方 README 中的 clone 地址为 https://github.com/szluyu99/dsh-oneapi.git,适用于需要在本地改插件的场景。

装完之后

  1. 刷新 Web 界面。
  2. 打开「设置 → OneAPI」,填写 Base URL 与 API Key,点击测试连接。
  3. 若需要侧边栏入口,打开「在左侧边栏显示」。

典型用法

图形界面

完成安装并刷新后,在「设置 → OneAPI」中配置网关地址与凭据,用「测试连接」确认 {baseURL}/models 可达;在模型表中可对单行或「全部测试」做探活。默认模型可在同一页切换,并决定是否显示侧边栏面板。

经 agent 调用

在对话中可由 agent 调用上述工具,例如:

  • 用 oneapi_status 汇总当前路由与模型列表,无需打开设置页。
  • 用 oneapi_test 快速看网关 /models 的 HTTP 状态与返回的模型 id。
  • 改参数时用 oneapi_configure;网关侧模型有变动时用 oneapi_sync_models 拉列表并写回配置。
  • 批量或单模型可用 oneapi_test_models、oneapi_test_model 做最小 chat-completion 探活。

具体参数以插件实现在仓库中的说明为准。

适用场景与注意

适合谁: 已在 DSH 中使用 llm-pi-ai 的 oneapi provider、希望通过 UI 或工具维护网关与模型、并需要连通性自检的开发者。

注意:

  • 默认文案与 Token 链接偏百度内部 OneAPI 场景,自建网关时请改 Base URL 与凭据引用。
  • /api/oneapi/* 仅面向本机 Web UI,勿误以为是对外开放的公开 API。
  • 本地开发时:改 index.js 需将插件开关 false → true 重载;改 client.js 需刷新浏览器;改 package.json 或 cordis.patch.yml 需先卸载再安装,因 host 在安装时缓存了 exports 解析。

结尾

@szluyu99/dsh-oneapi 把 OneAPI provider 的配置与状态收到 DSH 设置页、可选侧边栏和 6 个 agent 工具里,避免反复手改 profile,同时提供网关与逐模型探活。进一步了解可访问目录页 https://www.skillhub.cn/plugins/szluyu99/dsh-oneapi 与仓库 https://github.com/szluyu99/dsh-oneapi。

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

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

小夜