English | 简体中文
为 DeepSeek Harness 添加一个基于 OpenAI Responses API 的 CLIProxyAPI 模型供应商。
插件会自动从 CLIProxyAPI 获取模型列表,无需手动添加或维护模型。本项目不发布到 npm,跨机器安装使用经过验证的固定 Git Release tag 或 commit。
本项目为
router-for-me/dsh-cliproxyapi-provider的维护与增强分支(维护仓库:LiuRJ99/dsh-cpa-plugin,当前版本v0.4.8)。在保留上游 Provider 基础能力的前提下,重点补齐 GPT/Codex Responses 协议行为、账号额度可视化、速度模式、以及供下游插件消费的图像生成底座服务。
# 推荐:安装经过完整验证的 v0.4.8 Release Tag
dsh plugin --profile web add "github:LiuRJ99/dsh-cpa-plugin#v0.4.8"不要使用裸包名或 #main 安装本 fork。
| 上游 | 本 fork v0.4.8 |
|
|---|---|---|
| 账号额度界面 | 无 | 多窗口额度解析 + 三色进度条 + 账号切换弹窗 |
| Kimi Code 额度 | 无 | 国内与国际站按账号查询,兼容新旧额度结构 |
| 速度模式 | 无 | priority 服务等级的标准/快速切换 |
| 图像生成服务 | 无 | 导出 ./image-generation 契约与 dshCpaImageGeneration 服务标识 |
| 参考图编辑 | 无 | edit() 契约,统一承接 GPT 与 Gemini 双协议 |
| 图片模型发现 | 无 | 从 CPA 目录动态投影图片模型元数据 |
| GPT/Codex 协议对齐 | 通用 OpenAI Responses | Codex endpoint、WebSocket session、reasoning metadata 与 Fast/Standard tier 行为 |
DSH 0.1.2-rc.1 兼容 |
— | 已适配 Replay Envelope 与错误分类机制 |
具体增强条目见下方 二次开发功能。
git remote add upstream https://github.com/router-for-me/dsh-cliproxyapi-provider.git
git fetch upstream
git merge upstream/main # 合并后必须重新叠加本 fork 的兼容声明与额度解析修复
pnpm run typecheck && pnpm run bundle合并后请回归验证「二次开发功能」三条增强仍然可用——上游没有这些能力,冲突不会自动暴露。
dsh plugin --profile web add "github:LiuRJ99/dsh-cpa-plugin#v0.4.8"也可以从固定 Git commit 安装:
dsh plugin --profile web add "github:LiuRJ99/dsh-cpa-plugin#<40位commit>"不要使用 #main、@latest 或 A 机器 profile 中的本地 link:。目标机器必须先在 candidate profile 中完成安装和验证,再迁移到正式 web profile。
启动或重启 DeepSeek Harness Web:
dsh --profile web更新时将版本 tag 或 commit 替换为新的已验证目标,并重新执行 dsh plugin add:
dsh plugin --profile web add "github:LiuRJ99/dsh-cpa-plugin#v0.4.8"不要使用无差别的 dsh plugin --profile web update,因为它可能同时更新 profile 中的其他插件。
- DSH Host 必须满足当前插件声明的 peer 兼容范围;
- Node.js 必须满足
engines,源码构建使用仓库声明的 pnpm 版本; - pnpm 11 源码安装使用本仓库
pnpm-workspace.yaml中的布尔allowBuilds; @google/genai和protobufjs的安装脚本只在确认其用途后允许执行;- 该 workspace 的构建策略不会自动传递给 DSH profile。若目标 profile 使用 pnpm 11,必须在 profile 自己的
pnpm-workspace.yaml配置所需的构建授权。
打开 Harness 后:
- 进入 设置 → CLIProxyAPI。
- 填写 CLIProxyAPI 的模型 API 地址,例如
http://localhost:8317/v1。 - 填写模型调用 API Key;无鉴权服务可以留空。
- 如需账号状态和额度,填写 CLIProxyAPI 的 Management Key,对应
remote-management.secret-key。 - 选择统一刷新频率:手动、5 分钟、30 分钟、1 小时、3 小时或 5 小时。默认是 5 分钟。
- 保存配置。
“刷新”会由 Harness Host 侧统一同步模型列表、账号状态和账号额度。选择“手动”只关闭自动刷新,不影响手动点击“刷新”。
本项目在官方 CLIProxyAPI Provider 基础上提供以下二次开发与增强特性:
- 多窗口额度解析:在设置页清晰展示账号状态、套餐、身份和额度窗口;分别标注 Codex 的 5 小时与周额度,以及 Kimi Code
/usages实际返回的 5 小时、周和月额度窗口(缺失的窗口不补造);Kimi 国际站账号按 CPA 类型走api.kimi.ai。 - 输入栏常驻状态与滑动窗口统计:在消息输入框显示当前模型绑定的账号状态、额度进度条与近期滑动窗口请求统计,并提供响应式折叠优化。
- 账号快速切换弹窗:点击账号状态条可呼出切换面板(Account Switcher Popup),实时查看并切换当前显示的账号额度;由于 CLIProxyAPI 尚未提供受支持的 per-request account pinning API,该选择不会改变全局请求路由。
- 健康度与三色进度条:使用绿色(充足)、黄色(偏低)、红色(耗尽/不可用)直观展示各账号额度水位。
- 实时同步与陈旧提示:定期轮询 Host 账号快照以保证 Web UI 额度最新,检测到刷新失效或陈旧数据时明确标注 Stale 状态。
- 智能隐藏:无账号支持当前模型时,输入栏状态指示器自动静默隐藏。
- 对支持
priority服务等级的模型提供“标准 / 快速”模式无缝切换。 - GPT/Codex 文本模型在两种模式下都由 Harness Host 使用 Codex Responses 协议转发;快速模式额外注入
priority服务等级,其他模型保持原有请求流程。 - 支持基于模型 slug 与动态别名映射速度能力,并在会话中实时镜像 CPA 速度状态。
- 模型目录刷新时自动清理与失效过期的速度能力,同时完整保留用户手动配置的模型容量与参数。
- 深度适配 DeepSeek Harness 0.1.2 的 Replay Envelope 与错误分类机制。
- 统一服务契约:导出稳定的
./image-generation入口契约与dshCpaImageGeneration服务标识,供下游消费方(如dsh-image-gen)免凭据直接集成。 - 双引擎协议承接:统一承接 GPT (
images/generations) 与 Gemini (chat/completions) 双路 CPA 图像生成协议。 - 动态图片模型发现(Dynamic CPA Image Models):自动从 CLIProxyAPI 模型目录动态提取并投影图片模型元数据,向下游提供脱敏的
listModels()与model校验;CPA 服务端新增同协议图片模型时,无需 ImageGen 等下游插件重新硬编码或发布新版本即可直接感知与使用。 - 参考图与垫图编辑能力:核心服务打通图片修改链路,支持
edit契约,自动接收并提取多张前置参考图/附件传递给上游 API。 - 模型选择器隔离:在常规文本对话模型选择器与设置中自动过滤仅图像模型(Image-only models),避免与文本对话流冲突。
目前只实际测试过以下 CLIProxyAPI 渠道:
- Antigravity:账号状态、额度显示。
- Codex:账号状态、额度显示和速度模式相关流程。
其他 CLIProxyAPI 渠道尚未完成测试,不对其行为做保证。 Kimi Code 额度解析已通过模拟 CPA 响应测试,尚未用真实账号验证。
详见 CHANGELOG.md。
dsh plugin --profile web remove @LiuRJ99/dsh-cpa-plugin卸载后重启 DeepSeek Harness Web 即可。插件不会修改 DeepSeek Harness 或 CLIProxyAPI 源码。
pnpm install --frozen-lockfile
pnpm run typecheck
pnpm run typecheck:image-generation-contract
pnpm run bundle
pnpm run verify:package
pnpm run pack:github