🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

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

DeepSeek Harnessv0.2.2
DevViking-Persike39 天前有提交已提供中文文档扫描:含敏感能力

DeepSeek Harness 插件:通过各厂商的 OAuth 登录。

35.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:npm 同名包「dsh-subscriptions」归属 goodboys-ai/dsh-subscriptions,装到的可能不是本插件。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add DevViking-Persike/dsh-subscriptions
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · model
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 39 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

npm 同名包「dsh-subscriptions」归属 goodboys-ai/dsh-subscriptions,装到的可能不是本插件

展开查看检查明细 ↓

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

✓npm 包dsh-subscriptions @ 0.2.2
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/31 12:34:58

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 20 处,展示前 20 条)
  • 发起网络请求
    dsh/claude/adapter.js:71
    response = await fetch(`${config.baseURL}/v1/messages`, {
  • 发起网络请求
    dsh/codex/adapter.js:58
    response = await fetch(`${config.codexBaseURL}/codex/responses`, {
  • 读取本地文件
    dsh/client-version.js:89
    if (!existsSync(candidate)) continue
  • 执行外部命令来自配置/变量
    dsh/client-version.js:110
    return execFileSync(path, ['--version'], { encoding: 'utf8', timeout: PROBE_TIMEOUT_MS, stdio: ['ignore', 'pipe', 'ignore'] })
  • 发起网络请求
    dsh/discover.js:42
    const response = await fetch(`${baseURL}/v1/models?limit=1000`, {
  • 发起网络请求
    dsh/discover.js:80
    const response = await fetch(`${codexBaseURL}/codex/models?client_version=${encodeURIComponent(clientVersion)}`, {
  • 读取本地文件
    dsh/session.js:210
    source = JSON.parse(await readFile(path, 'utf8'))
  • 写入本地文件
    dsh/lock.js:36
    await mkdir(dirname(filename), {
  • 写入本地文件
    dsh/lock.js:42
    await writeFile(temp, content, { mode: options.mode, flag: 'wx' })
  • 写入本地文件
    dsh/lock.js:43
    await rename(temp, filename)
  • 删除本地文件
    dsh/lock.js:45
    await rm(temp, { force: true })
  • 读取本地文件
    dsh/lock.js:66
    await lstat(lockPath)
  • 读取本地文件
    dsh/lock.js:90
    text = (await readFile(lockPath, 'utf8')).trim()
  • 写入本地文件
    dsh/lock.js:128
    await writeFile(lockPath, `${String(process.pid)}\n`, { mode: 0o600, flag: 'wx' })
  • 删除本地文件
    dsh/lock.js:138
    await rm(lockPath, { force: true })
  • 删除本地文件
    dsh/lock.js:153
    await rm(lockPath, { force: true })
  • 读取本地文件
    dsh/credential.js:28
    text = await readFile(filename, 'utf8')
  • 删除本地文件
    dsh/credential.js:72
    await withFileLock(filename, () => rm(filename, { force: true }))
  • 读取本地文件
    dsh/credential.js:87
    const info = await stat(filename)
  • 发起网络请求
    dsh/oauth.js:78
    response = await fetch(spec.tokenUrl, {
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 接入Claude订阅
  • OAuth登录

DeepSeek Harness 插件:用你自己的 Claude 和 ChatGPT/Codex 订阅当模型服务商,走各家 OAuth 登录

README

由 DeepSeek 最新模型翻译生成
dsh-subscriptions 将你自己的 Claude 和 ChatGPT/Codex 订阅作为模型提供方,在 DeepSeek Harness 中使用——与 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 凭据存储在本地。令牌会自动刷新;你只需登录一次。
展开完整文档(README 剩余 1 节)
dsh-subscriptions

将你自己的 Claude 和 ChatGPT/Codex 订阅作为模型提供方,在 DeepSeek Harness 中使用——与 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 删除凭据;GET //models 报告当前模型列表及其上次刷新时间;POST //refresh-models 立即重新查询厂商的模型列表端点。服务器仅绑定到回环地址。

模型发现

目录是经过整理的快照,而厂商会在插件发布之间新增模型。启用 discoverModels(默认)时,每个路由还会查询厂商自己的模型列表端点——在 Claude Code 身份下查询 Anthropic 的 /v1/models,在 CLI 身份下查询 Codex 后端的 /codex/models——查询时机为挂载时、每隔 modelRefreshMs,以及通过 POST //refresh-models。整理过的条目保留其人工核验的元数据;厂商报告的模型会追加进来,并带有该端点的上下文窗口、输入模态和推理强度级别(已安装 CLI 版本过旧而无法支持的 Codex 模型会被跳过,与后端自身的拒绝行为一致)。刷新失败时,之前的列表保持不变。

配置

每个字段都是可选的。

| 字段 | 默认值 | 含义 |
| routes | ['claude', 'codex'] | 要挂载哪些订阅。 |
| discoverModels | true | 将厂商的实时模型列表合并到每个目录中(参见模型发现)。 |
| modelRefreshMs | 21600000 | 实时模型列表刷新之间的间隔。 |
| controlPort | 1458 | 登录端点使用的回环端口。 |
| claudeModels / codexModels | 随附的目录 | 提供的数组会替换默认值。 |
| claudeCredentialPath / codexCredentialPath | 位于 ~/.dsh 下 | 每个凭据的存储位置。 |
| claudeImportFrom / codexImportFrom | — | 从 CLIProxyAPI 认证文件一次性导入种子。 |
| streamIdleTimeoutMs | 300000 | 传输放弃之前两次读取之间的时间预算。 |
| defaultContextWindow | 200000 | 目录中不存在的模型所假定的上下文。 |
| maxTokens | 32000 | 当请求和目录都未指定时的输出上限。 |
| retryPolicy | 正常,3 次重试 | 在默认值之上合并。 |
| claudeCodeVersion / codexVersion | 已安装的 CLI | 在用户代理中发送的客户端版本。未设置时,插件会从 PATH(或 ~/.local/bin)上的 claude / codex 可执行文件读取它,每分钟重新检查一次,因此更新 CLI 就是全部的升级操作。设置它可固定为某个版本。 |

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

客户端身份

每个后端只接受其自身 CLI 版本所知道的模型:一个标识为较旧 Claude Code 的请求会失败,并报 does not support this model; version X or newer is required。因此,插件从不硬编码版本。它按请求从已安装的 CLI 解析版本(先安装路径,再 --version),仅当找不到 CLI 时才回退到上次验证过的版本,并记录每条路由挂载时使用的身份。仅当 Host 必须冒充已安装版本之外的某个版本时,才固定 claudeCodeVersion / codexVersion。

模型体验

随附的目录包含 GPT-6 Astra(gpt-6-astra)和 Claude Fable 5.1(claude-fable-5-1),支持文本和图像输入。可用性仍取决于订阅。两者都在 Harness 的 effort 选择器中提供 Low、Medium、High、Xhigh 和 Ultra Code(max)。其他已知模型会公开其支持的级别;未知或新发现的模型始终公布该路由的标准选择器(Claude:Low–Ultra Code;Codex:Off–Ultra Code),绝不会不公布任何级别。省略 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/dsh-subscriptions
分享 · DeepSeek Harness Hub
DevViking-Persike/dsh-subscriptions

DeepSeek Harness 插件:通过各厂商的 OAuth 登录。

这是你的仓库?认领条目

回到顶部