dsh-newapi-provider
Verifieddsh-newapi-provider · v0.9.4 · MIT · Web UI
New API gateway for DeepSeek Harness: models with context and modality details, balance, image and video generation.
Install
dsh plugin add dsh-newapi-provider Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Tags
Readme
New API Provider
English · 中文
DeepSeek Harness 的 New API 渠道与模型工作台:多网关同一时间激活一个,每个网关独立的模型清单与参数覆盖,额度查询,以及生图与实验性视频生成。

效果预览
| 模型能力 | 获取模型列表 |
|---|---|
![]() |
![]() |
| 模型参数编辑 | 侧栏额度 |
![]() |
![]() |
截图使用插件真实的组件与样式渲染,数据为示例(渠道名、地址、金额均为虚构)。界面跟随 DSH 主题,配色会随你的皮肤和深色模式变化。
安装
需要 DSH 0.2.1-rc.1 或以上(已在 0.2.1-rc.2 验证),Node.js 22.19 或以上。
用 DSH 的插件管理工具安装 dsh-newapi-provider,安装后刷新页面,打开「设置 → New API 提供商」。不需要单独启动网页服务器。
- 添加渠道 —— 填名称、New API 站点地址和调用令牌。
- 获取模型列表 —— 读取网关目录,勾选要用的模型。
- 激活渠道 —— 本插件的模型路由开始提供这些模型。
令牌存在 DSH 凭据服务里,不写进渠道配置,也不会回传到浏览器。
能做什么
- 保存多个网关,一次只激活一个;每个渠道独立保存地址、凭据引用、模型清单和模型参数覆盖。
- 按渠道管理模型:读取网关目录、挑选哪些模型出现在 DSH、单个测试、删除后撤销、手动添加网关未列出的模型。
- 能力数据来自 models.dev(上下文窗口、输出上限、多模态、推理),可按模型校正,并支持为单个模型设置上游映射名。
- 设置页汇总和侧栏底部都能看到令牌额度;令牌允许查询用户额度时同时显示账户余额。
- 生图结果保存为 DSH 附件并进入生成记录;视频使用统一
/v1/videos接口、后台轮询与重启恢复,属实验性能力。
渠道与额度
- 测试连接只读取模型目录,不产生生成费用;同时显示网关版本与模型数量。
- 激活切换本插件后续所有调用,或勾选「保存后激活」。
- 切换不会修改官方适配器或其他插件。
- 已提交的视频任务保持原始渠道,不会转向新激活的网关轮询。
额度说明:
- 主接口为
GET /api/usage/token/,注意末尾斜杠。 - 金额换算使用
/api/status的quota_per_unit、quota_display_type、usd_exchange_rate,不使用充值单价。 - 在 New API 为令牌开启「允许查询用户额度」后,可同时返回账户余额。
- 无限额度令牌显示累计已用,不展示无意义的负余额。
- 这些数字来自站点;模型目录存在、余额可查,都不保证站点已配置可调用的上游。
侧栏显示当前激活渠道的名称与金额,带健康状态点,点击即刷新;侧栏收成 56px 窄栏时只保留状态点。
模型清单(按渠道独立)
每个渠道独立维护自己的模型清单,即使两个渠道指向同一个站点、使用同一个令牌也互不影响:
- 「模型能力」页顶部有渠道切换器。激活的渠道带标记,编辑只作用于当前选中的渠道。
- 「获取模型列表」只读取网关目录,可按模型 ID/厂商搜索,按状态(新增/已添加/网关已下架)和类型(对话/生图/视频/其他)筛选,并按类型分组显示。筛选只影响显示,已勾选的模型不会丢失;列表自身滚动,底部操作栏始终可见。
- 新增渠道的清单默认为空;旧渠道兼容原有自动模式,第一次添加或删除时按网关当前目录物化清单。
- 删除只影响当前渠道,不删除上游模型;可以保留自定义参数,并短暂提供撤销。刷新不会把删除的模型自动加回来。
- 「手动添加」适合网关未列出但可调用的自定义模型。已从网关下架的模型会单独标注,不自动删除。
模型测试
- 对话模型测试发送一条很短的真实请求,会产生调用费用,显示总耗时、首包时间、最近结果和脱敏错误。只有
[DONE]而没有协议响应的流不算成功。 - 生图/视频测试每次需要二次确认,实际产生一个生成任务。签名图片链接无法安全展示时仍记录为已生成,但不会暴露链接;界面会提示不要因为看不到预览而重复生成。
- 批量测试只针对当前筛选下的对话模型,最多 3 个并发。停止会阻止后续排队请求;已发出的请求仍会完成并可能计费。
- 测试器支持 OpenAI Chat、Responses 和 Anthropic Messages;Gemini 专用协议会明确提示暂不支持,不会悄悄换协议。
模型名称映射
在模型编辑器的「名称与映射」中,三个名称各司其职:
- 本地模型 ID:会话和已启用清单使用的稳定 ID,不在此处修改。
- 显示名称(
name):只改变 DSH 中的显示。 - 上游映射模型名(
upstreamModel):真实请求中的model,留空使用本地 ID。映射只进行一次,不会递归追踪其他模型的映射。
例如本地模型 ID 为 my-chat、显示名称为「主力模型」、映射为网关支持的模型 ID,选择器和会话仍使用 my-chat,网关收到映射后的名称。对话、生图、编辑图片、视频及模型测试都使用同一映射。
编辑器显示请求映射预览。自动协议、能力、额度参数和定价优先从映射目标补全,手动覆盖仍然优先;输入能力可选自动或自定义,推理支持也可恢复为跟随目录。恢复默认会清除该模型的全部覆盖,包括上游映射。
跨厂商或跨模型系列映射需要检查协议、容量和能力是否合适。模型编辑器修改参数时绑定打开时的渠道;出现配置冲突提示应刷新再编辑,避免覆盖另一个窗口的修改。
思考等级(v0.9.0)
不同厂商的推理档位并不相同,插件按模型分别解析,不再对所有推理模型显示同一组档位:
| 厂商 / 模型 | 提供的档位 | 说明 |
|---|---|---|
| Claude 自适应思考(Opus 5 / Sonnet 5 / Fable) | 低 / 中 / 高 / 很高 / 最高 | 无「最少」,off 不提供 |
| 旧版 Claude(预算式) | 关闭 / 最少 / 低 / 中 / 高 | 按 token 预算换算 |
| GPT-5.1+ / GPT-6 | 关闭 / 低 / 中 / 高 / 很高 / 最高 | off 发 none,无「最少」 |
| GPT-5.0 / o 系列 | 最少 / 低 / 中 / 高 | GPT-5.0 无法关闭;o 系列只到高 |
| gpt-5-pro | 仅「高」 | 官方只接受 high |
| Gemini 3 / 4 | 最少 / 低 / 中 / 高 | thinking_level 无关闭项;xhigh/max 不存在 |
| Gemini 2.5 | 关闭 / 最少 / 低 / 中 / 高 | 预算式;Pro 无法真正关闭 |
| DeepSeek V4 | 关闭 / 低 / 高 / 最高 | 官方会折叠无意义档位 |
| GLM-5.3 | 低 / 高 / 最高 | 传 disabled 会报错,故不提供关闭 |
| GLM-5.2 | 全部 7 档 | 多数档位会被上游折叠 |
| Kimi K3 | 低 / 高 / 最高 | 无 medium、无法关闭 |
| Qwen3 / 未知模型 | 关闭 / 最少 / 低 / 中 / 高 | 无离散档位时沿用 pi-ai 默认 |
解析顺序:你的自定义覆盖 → pi-ai 自带模型数据(同一模型与官方 provider 行为一致)→ 厂商家族默认。
在「模型能力 → 编辑模型参数 → 推理等级」里,开关默认打开并预填模型当前档位。左列是对话选择器里的档位(英文),右列是该档位发给网关的参数值,留空表示不发送参数。左列除了 off/minimal/low/medium/high/xhigh/max 内置档位,也可以直接输入自定义名字(1–24 位小写字母、数字、-、_),自定义档位必须填写参数值,它会像内置档位一样出现在对话选择器里。配置按渠道按模型保存,只影响本插件。
限制:中转站的模型 id 常与厂商原名不同(如
claude-opus-5-5),无法逐字命中时按家族推断;若上游行为与推断不符,用自定义覆盖修正。思考等级只影响发送给网关的参数,是否能达到该档位仍取决于上游。
模型与多模态
models.dev 数据有缓存。精确匹配优先,无法匹配时使用默认值;基础模型匹配、默认值与手动覆盖均在界面标出。切勿把猜测的能力当作网关实测结果。
DSH 当前对话接口只支持文本和图片输入。PDF、音频、视频标签表示目录元数据,不能据此直接向 DSH 对话发送这些内容。生图、视频模型供生成工具使用,不作为聊天模型出现。
工具
| 工具 | 用途 |
|---|---|
newapi_balance |
查询当前激活渠道的令牌额度(允许时也含账户余额)。免费。 |
newapi_models |
列出某个渠道的模型(channelId 可选,默认激活渠道),含类型、上限、多模态、定价与映射。免费。 |
newapi_channels |
list、test、save、activate、delete、model_override、models_discover、models_set、model_test;写入需要 revision。 |
newapi_image_generate |
文生图;传 inputImages 时调用图片编辑接口,结果存为附件。 |
newapi_video_generate |
提交视频任务并返回任务 ID,按任务计费。 |
newapi_video_status |
列出或查询视频任务,返回已保存的文件。 |
设置页操作与这些工具共用同一套服务,界面与 agent 不会产生分叉。
生图和视频可能扣费。 提交结果不确定时不会自动重新提交;请先到网关任务日志核对。停止本地观察任务不代表取消网关端生成或退款。
付费结果保护
- 视频提交在收到响应头后断流、超时或响应不可解析,显示「提交结果未知,可能已计费」;不会自动重发提交。
- 视频上游已生成、仅下载失败时显示「已生成,等待下载重试」。仅重试 GET 状态/下载,并重新获取可能过期的下载链接;下载恢复期限届满则显示「已生成,下载未成功」。不要因此重新生成。
- 同一任务的并发查询合并为一个请求流程,卸载时中止在途网络请求,防止旧实例覆盖新实例缓存。
- 失败的付费请求不会自动重试。
验证范围与限制
- 对话、模型目录、额度、按渠道独立清单与渠道编辑:已在本地 New API(v1.0.0-rc.45)上验证过。
- 生图真实调用曾返回 503「无可用渠道」,真实生成成功尚未验证;附件保存链路由离线测试覆盖。
- 视频属实验性能力:没有真实上游渠道,只做离线提交、后台轮询、下载恢复、重启恢复与不重复提交测试。
- 只测过一种 New API 部署;其他版本与中转站的接口细节可能不同。
从旧开发名称迁移(v0.7.0)
旧名称为 dsh-newapi-studio。此版本统一改为 dsh-newapi-provider:配置行与模型路由为 newapi-provider,HTTP 接口为 /newapi-provider/api/,数据目录为 plugin-data/dsh-newapi-provider。
已有安装迁移时需先备份配置和数据,再保留各渠道的 ID、凭据引用、模型清单及覆盖参数,将旧数据目录迁移至新名称。当前版本不自动从旧目录读取。既有凭据引用即使含有 STUDIO 也应保留,新建引用使用 NEWAPI_PROVIDER_ 前缀,无需复制令牌。
使用旧 newapi-studio 路由的会话需要重新选择新路由下的模型;其他适配器不受影响。工具名 newapi_channels、newapi_models 等保持不变。
开发
npm test
node --check index.js
node --check client.js
npm pack --dry-run --ignore-scripts
要针对源码目录开发,用 DSH 插件管理工具安装该项目目录,而不是 npm 包。
无需安装或复制 DSH 官方包;运行时引用通过 optional peerDependencies 声明,由 DSH 宿主提供。测试不依赖真实网关、不读取用户密钥。本插件替代而非依赖 dsh-gateway-provider,两个适配器不能占用同一路由。
发布步骤见 PUBLISHING.md。
MIT License。使用 DSH 的公开导出与 pi-ai 协议实现,不包含第三方插件的源码副本。
模型列表中的厂商图标来自 LobeHub Icons(@lobehub/icons-static-svg 1.97.0,MIT License),以内嵌 SVG 形式打包,不发起外部图片请求。各品牌标识归其所有者,仅用于标明模型所属厂商。



