DeepSeek Harness Hub
← 返回列表

订阅模型接入DevViking-Persike/dsh-subscriptions

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
⚠ 装前注意

用 Claude 与 Codex 订阅登录,免 API 密钥调用模型

基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/9/8 · 已提供中文文档

DeepSeek Harness 插件:通过各厂商的 OAuth 登录,将你自己的 Claude 和 ChatGPT/Codex 订阅用作模型提供商

综合分
34.9
GitHub 分
34.9
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add DevViking-Persike/dsh-subscriptions
未发布到 npm registry,仅可从源码安装,改用 GitHub 源安装
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

npm 包dsh-subscriptions(未发布到 npm,仅可源码安装)
Node 引擎未声明 engines.node
dsh CLI 依赖未声明 dsh 版本约束
入口文件main/exports/bin 已声明

未发布到 npm registry,仅可从源码安装

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/18 02:58:23

用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-subscriptions

在 DeepSeek Harness 中使用你自己的 Claude 和 ChatGPT/Codex 订阅作为模型提供方——与 Claude Code 和 Codex CLI 使用的 OAuth 登录相同。无需 API 密钥。

安装

dsh plugin --profile web add github:DevViking-Persike/dsh-subscriptions

重启 dsh,然后登录你拥有的任一订阅:

http://127.0.0.1:1458/claude/start
http://127.0.0.1:1458/codex/start

每个链接都会打开厂商自己的登录页面,并将生成的 OAuth 凭据存储在本地。令牌会自动刷新;你只需登录一次。

| 路由 | 提供方 | 凭据 |
|---|---|---|
| claude | claude-code-oauth | ~/.dsh/claude-code-oauth.json |
| codex | codex-oauth | ~/.dsh/codex-oauth.json |

其他端点:GET //status 报告订阅是否已连接以及其令牌何时过期;POST //logout 删除凭据。服务器仅绑定到回环地址。

配置

每个字段都是可选的。

| 字段 | 默认值 | 含义 |
|---|---|---|
| routes | ['claude', 'codex'] | 要挂载哪些订阅。 |
| controlPort | 1458 | 登录端点的回环端口。 |
| claudeModels / codexModels | 随附的目录 | 提供的数组会替换默认值。 |
| claudeCredentialPath / codexCredentialPath | 位于 ~/.dsh 下 | 每个凭据的存储位置。 |
| claudeImportFrom / codexImportFrom | — | 从 CLIProxyAPI 认证文件一次性导入种子。 |
| streamIdleTimeoutMs | 300000 | 传输放弃前两次读取之间的时间预算。 |
| defaultContextWindow | 200000 | 目录中缺失的模型所假定的上下文。 |
| maxTokens | 32000 | 当请求和目录都未指定时的输出上限。 |
| retryPolicy | 正常,3 次重试 | 合并到默认值之上。 |

- id: dsh-subscriptions
name: 'dsh-subscriptions'
config:
routes: ['claude']
controlPort: 1458

模型体验

随附的目录包括 GPT-6 Astra(gpt-6-astra)和 Claude Fable 5.1(claude-fable-5-1),支持文本和图像输入。可用性仍取决于订阅。两者都在 Harness 的 effort 选择器中提供 Low、Medium、High、Xhigh 和 Ultra Code(max)。其他已知模型会公开其支持的级别;未知模型和 Haiku 不会显示选择器。省略 effort 会保留提供方默认值。

Claude 通过 output_config.effort 发送所选值;Codex 使用 reasoning.effort。Ultra Code 是显示标签,不是 ultracode API 值。不支持的已声明选项会在访问凭据或提供方 I/O 之前失败。能力遵循 Astra 模型参考和 Claude effort 参考。更改顶层 effort 可能会影响提示缓存复用。
对模型透明:该插件注册提供方路由并流式返回响应,不添加任何工具、提示词片段或上下文。

它影响的是记账,而这两条路由故意不一致:

- Claude 报告的 input_tokens 已经排除了缓存读取,因此不做任何减法。
- Codex 将其包含在内,因此要减去它们以保持计数互不重叠。

两个方向都由从 harness 自身实现记录的测试固定下来,因为把任一方向弄反都不会引发任何错误——它只会在每次成本显示中错误报告上下文。

两条路由都支持文本和图像输入。图像块是一个持久附件引用,而非字节:适配器按请求通过 harness 附件服务解析它(因此稍后挂载该服务即可启动图像输入,无需重启),并将其内联发送——在 Anthropic 路由上是 base64 image 源,在 Responses 路由上是 data: URL input_image。如果某个模型的目录条目未声明图像输入,则在序列化之前就会被拒绝,因为静默丢弃图像会让模型回答一个它从未见过的问题。工具结果图像在 Claude 路由上搭载于 tool_result 内容数组中;Codex 路由的 function_call_output 只接受字符串,因此其图像会按顺序冲入随后的用户消息中。

安全

- 凭据以原子方式写入,仅所有者权限(0600,父目录 0700),并且文件通过跨进程写入锁读取。两个 DSH 实例同时刷新不会损坏文档,也不会重复消耗刷新令牌——这由一项 fork 真实进程的测试证明,并带有一个在移除锁时会失败的负向对照。
- 令牌绝不会出现在错误消息、日志行或 /status 响应中。上游错误正文在引用之前会被脱敏。
- 刷新失败会使已存储的凭据保持不变,因此暂时性中断不会强制重新登录。
- 被截断的流会引发 STREAM_CLOSED,而不会表现为已完成的响应。
- 过期锁绝不会被窃取:文件年龄无法证明其所有者已死亡,因此孤儿恢复仍由操作员执行。

已知限制与推迟的工作

- 构造上对版本敏感。 此插件位于 harness 仓库之外,而该仓库声明在其首次发布之前不提供兼容性承诺。因此,分块词汇表在加载时进行验证,若不匹配则拒绝挂载,并给出指明漂移字段的消息。
- 登录回调绑定 127.0.0.1,而供应商注册的重定向 URI 写的是 localhost。在 localhost 首先解析为 ::1 的主机上,浏览器回调将无法到达。端口由公共客户端固定,无法重新配置。
- 模型目录是静态配置,并非从供应商处发现。你的订阅所提供但目录中遗漏的模型,在显式指定时仍可工作,并以默认上下文窗口解析。
- 图像输入需要 harness 附件服务(ctx.attachments);没有它,图像请求会以 UNSUPPORTED_CONTENT 被拒绝,而不是被丢弃。Codex 路由拒绝停止序列——Responses API 没有等价物,静默丢弃一个停止序列会让模型越过调用方所依赖的边界。
- 测试套件完全针对本地 node:http 服务器运行。它证明的是此插件的行为,而不是任一供应商仍然完全使用这种方言:这些 fixture 编码了 harness 对线上协议的认知,记录自其自身的实现。

测试

Codex 将用户消息中收到的工具调用块(包括后台子代理通知)作为带原始字段的引用文本发送。只有助手消息才会创建 Responses 函数调用。这既适用于序列化现有历史,也适用于新消息;存储的 Session 事件保持不变。文本和图像请求都会保留引用信息以及真实的助手调用/结果对。

两个适配器都实现了 Harness 的 prepareCall() 协议:准备过程将模型元数据和分派绑定到同一适配器配置,而不读取凭据或联系提供商。图像请求定价未指定,因此 Harness 使用其中性估算值。适配器传输测试通过准备好的调用进行分派。

npm install && node --test test/*.test.js

不需要供应商网络访问或凭据;适配器测试绑定临时回环端口。

许可证

MIT — 参见 LICENSE 和 NOTICE.md。使用此插件意味着根据其自身条款使用你自己的订阅。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(DevViking-Persike)的其他插件

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群