前言¶
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。