DeepSeek Harness Hub
← 返回列表

ddowbnac/dsh-claude-auth-proxy

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

@djdowbnac/dsh-claude-auth

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/15 · 已提供中文文档

DeepSeek Harness(dsh)的 LLM 提供商插件:通过你的 Claude Code 订阅(claude.ai OAuth 凭据)流式传输 Claude,无需 Anthropic API 密钥。

综合分
29.8
GitHub 分
29.8
用户评分
★ Stars
0
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add ddowbnac/dsh-claude-auth-proxy
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-credentials@deepseek-ai/dsh-launch-environment@deepseek-ai/dsh-llm@deepseek-ai/dsh-settings@deepseek-ai/dsh-timeout
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

@djdowbnac/dsh-claude-auth

dsh 模型提供方,通过你的 Claude Code 订阅流式调用 Claude。无需 Anthropic API 密钥。

在 ctx.llm 上注册一个 claude-subscription 提供方。在首次请求时,插件会使用你的 OAuth 令牌查询 GET /v1/models,并提供你的账户可以使用的每一个模型,附带其真实的上下文窗口和输出上限。当 Anthropic 发布或停用模型时,目录会自行更新,因此无需维护静态模型列表。

请求会携带 Claude Code 第一方请求头发往 api.anthropic.com/v1/messages。凭据来自 ~/.claude/.credentials.json,即 claude CLI 写入的同一个文件。

Anthropic 将订阅令牌保留给官方客户端使用。这是一个社区变通方案,与 opencode-claude-auth 属于同一类。它消耗的是你的套餐额度,而非 API 计费,并且当 Anthropic 更改其 OAuth 接口时可能会失效。

刷新机制

插件在内存中保留访问令牌 30 秒,仅当令牌距离过期不足 60 秒时,或每小时一次作为后台预刷新时,才会调用令牌端点。跨进程锁会串行化并发实例:竞争失败的一方最多等待 15 秒,并采用获胜方的令牌,而不是再次刷新。Anthropic 的刷新令牌为一次性使用并会轮换,因此此前正是双重刷新导致了令牌失效。

安装

前提条件:0.1.5-rc 系列的 dsh、bun,以及一次性的 claude 登录。

dsh plugin --profile  add @djdowbnac/dsh-claude-auth

这就是全部安装步骤。该命令会将包注册到配置文件的 dsh.profile.bundles 中,dsh 会在每次启动时将该插件的 cordis.patch.yml 作为自动 bundle 层挂载。无需手动添加 patch 条目,也无需编辑配置文件。

对于本地检出,在检出目录内执行 add .。重启 dsh 并选择一个 claude-subscription 模型。

设置

命名空间 claude-auth:

| 键 | 默认值 | 含义 |
|---|---|---|
| credentialsPath | ''(→ ~/.claude/.credentials.json) | 覆盖凭据文件路径。 |
| disabledModels | [] | 要停止提供的模型 id。 |
| streamIdleTimeoutMs | 600000 | 当 SSE 静默达到此时长时中止流。 |
| requestTimeoutMs | 900000 | 每个请求的预算。 |

更改会在下一次请求时生效。凭据文件缺失或无效会在提供方条目上显示为诊断信息,并且请求会以类型化错误失败。

Web 设置

当你的 Claude 订阅凭据有效时,dsh Web UI 中的 Models 页面会在提供方旁边显示一个绿色凭据圆点。插件会将当前访问令牌镜像到 dsh 凭据存储中,引用名为 CLAUDE_SUBSCRIPTION_API_KEY,这正是该页面所检查的同一引用。当令牌过期或凭据文件消失时,圆点会消失,提供方行会显示诊断信息。
在 dsh Web UI 中,provider 编辑器卡片按设计是只读的。该页面仅为两个第一方 provider 命名空间(llm-deepseek、llm-pi-ai)渲染精选的字段布局;其他所有命名空间都会回退到“直接编辑 settings.yaml”的提示。要更改 streamIdleTimeoutMs 或 disabledModels,请编辑 ~/.dsh/settings.yaml 中的 claude-auth 部分。

推理强度不是 provider 设置。请在模型选择弹窗中选择它:对于每个支持自适应思考的模型(当前所有 Opus、Sonnet、Fable 和 Haiku 4.5+ 模型),都会显示强度选择器。所选的强度会作为 output_config.effort 在线上请求中发送。

开发

bun test        # 72 tests, all offline
bun run build
bun run smoke   # one live request, costs a few tokens

| 文件 | 作用 |
|---|---|
| src/index.ts | 插件入口:配置 schema、provider 注册、设置、释放。 |
| src/adapter.ts | LlmAdapter:请求头、fetch、SSE 消费、错误映射、模型发现。 |
| src/serialize.ts | 将 harness 的 Message[] 序列化为 Anthropic 线上请求。 |
| src/translate.ts | 将 Anthropic SSE 转换为 harness 的 StreamChunk。 |
| src/sse.ts | SSE 分帧解析器。 |
| src/auth.ts | 凭据读取、刷新、写回、退避、跨进程锁。 |
| src/model-config.ts | Beta 请求头、强度支持、目录回退。 |

单元测试注入 fetchImpl,因此可离线运行。smoke 脚本是唯一的实时路径。

限制

- 仅支持文本。图像和文件内容块会返回 UNSUPPORTED_CONTENT。
- 每个 provider 路由一个凭据文件。多账号尚未接入。
- 如果模型端点不可达,插件会回退到当前 Claude 5 产品线的静态目录。

参考

- deepseek-ai/deepseek-harness:dsh-llm 适配器契约、dsh-settings、dsh-timeout。
- griffinmartin/opencode-claude-auth:OAuth 接口和刷新策略的上游参考。
- Claude 模型文档:当前产品线和模型 ID。

许可证

MIT

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

💬 加入 DPharness 群聊

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

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