前言¶
DeepSeek Harness (DSH) 的插件机制允许扩展其功能。在集成 Anthropic 模型时,开发者常遇到两个具体问题:一是缺乏 Anthropic API Key 时无法使用 Pro/Max 订阅权限;二是 DSH 在处理 100 万上下文窗口时,因图片尺寸过大(超过 2000px)或 /compact 压缩调用失败而导致会话冻结。dsh-anthropic-membership 旨在解决这两个限制。
核心功能¶
该插件提供以下能力:
- OAuth 登录:利用 Anthropic 的 membership OAuth grant 登录 Pro/Max,无需输入 API Key。
- 图片尺寸限制:将请求图片的长边下采样至 2000px,避免因尺寸过大被拒绝。
- 上下文压缩优化:精简
/compact调用,丢弃图片和推理内容,截断过长的工具文本,使 100 万上下文窗口的压缩操作能够成功执行。 - 配置与凭证管理:将登录凭证和模型设置写入 DSH 的配置文件中。
- 本地控制 API:提供本地控制接口(127.0.0.1:8185)用于管理登录状态和查看计划使用情况。
安装¶
该插件依赖 DSH CLI。安装命令如下:
dsh plugin --profile web add github:antonio-mastropaolo/dsh-anthropic-membership
安装完成后,需要重启 dsh web 以加载插件。
使用方法¶
UI 操作¶
- 启动
dsh web并访问设置界面。 - 进入 Settings → Models。
- 在 Anthropic 模型卡片上点击 Sign in with Claude Pro/Max。
- 选择一个
anthropic或claude-*模型进行使用。
命令行操作¶
如果 UI 不可用,可以使用命令行脚本:
node login.mjs # 登录
node logout.mjs # 登出
node usage.mjs # 查看使用情况
配置与控制 API¶
存储位置¶
插件会将配置和凭证写入 DSH 的配置目录:
- 设置:写入
llm-pi-ai.providers.anthropic(不包含apiKeyEnv)到~/.dsh/settings.yaml或$DSH_SETTINGS环境变量指向的路径。 - 凭证:写入
llm-pi-ai/anthropic到~/.dsh/.credentials.yaml(文件权限为 0600)。
本地控制接口¶
插件启动一个本地控制服务,默认监听 127.0.0.1:8185(可通过 DSH_MEMBERSHIP_PORT 修改,但设置按钮期望默认端口)。
请求要求:
* 必须包含 Origin 请求头。
* 必须包含 x-dsh-membership: 1 请求头。
* CORS 不支持任意 Origin,通常由 DSH UI 发起请求。
可用接口:
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /healthz |
返回 { ok: true } |
| GET | /status |
返回 { signedIn, expiresAt, imageCap, compactionSlim }。若发送了 Origin 头,需为 DSH UI 的 Origin |
| POST | /login |
登录。需要 Origin 头和 x-dsh-membership 头 |
| POST | /logout |
登出 |
注意事项¶
- 依赖环境:需要安装并运行 DSH CLI。
- UI 信息限制:UI 上显示的消息计数仅针对 DSH 本身,不显示剩余消息、令牌或美元数。
- 并发登录:
/login接口在已有登录请求进行中时,会返回 409 错误。 - 权限模式:控制 API 需要 Origin 头验证,不支持任意的 CORS Origin。