dsh-anthropic-membership: 无需 API Key 登录 Claude Pro/Max

前言

DeepSeek Harness (DSH) 的插件机制允许扩展其功能。在集成 Anthropic 模型时,开发者常遇到两个具体问题:一是缺乏 Anthropic API Key 时无法使用 Pro/Max 订阅权限;二是 DSH 在处理 100 万上下文窗口时,因图片尺寸过大(超过 2000px)或 /compact 压缩调用失败而导致会话冻结。dsh-anthropic-membership 旨在解决这两个限制。

核心功能

该插件提供以下能力:

  1. OAuth 登录:利用 Anthropic 的 membership OAuth grant 登录 Pro/Max,无需输入 API Key。
  2. 图片尺寸限制:将请求图片的长边下采样至 2000px,避免因尺寸过大被拒绝。
  3. 上下文压缩优化:精简 /compact 调用,丢弃图片和推理内容,截断过长的工具文本,使 100 万上下文窗口的压缩操作能够成功执行。
  4. 配置与凭证管理:将登录凭证和模型设置写入 DSH 的配置文件中。
  5. 本地控制 API:提供本地控制接口(127.0.0.1:8185)用于管理登录状态和查看计划使用情况。

安装

该插件依赖 DSH CLI。安装命令如下:

dsh plugin --profile web add github:antonio-mastropaolo/dsh-anthropic-membership

安装完成后,需要重启 dsh web 以加载插件。

使用方法

UI 操作

  1. 启动 dsh web 并访问设置界面。
  2. 进入 Settings → Models。
  3. 在 Anthropic 模型卡片上点击 Sign in with Claude Pro/Max。
  4. 选择一个 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 登出

注意事项

  1. 依赖环境:需要安装并运行 DSH CLI。
  2. UI 信息限制:UI 上显示的消息计数仅针对 DSH 本身,不显示剩余消息、令牌或美元数。
  3. 并发登录:/login 接口在已有登录请求进行中时,会返回 409 错误。
  4. 权限模式:控制 API 需要 Origin 头验证,不支持任意的 CORS Origin。
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜