前言¶
DeepSeek Harness (DSH) 採用插件化架構,允許開發者通過配置調用不同的模型服務。對於希望使用 WorkBuddy 或 CodeBuddy 賬號模型但不想配置繁瑣 API Key 的用戶,本插件提供了一個適配方案。它將 DSH 與本地的 workbuddy2api 代理連接,將私有協議轉換爲標準 OpenAI 格式,從而在 DSH 界面中直接調用這些模型。
核心功能¶
該插件主要解決兩個問題:模型接入與登錄狀態管理。
- 模型接入:在 DSH 的模型選擇器(Composer 或
/model命令)中增加 “WorkBuddy” 分組。模型列表(如 DeepSeek-V4、GLM-5.x 等)會根據賬號可用性實時同步。 - Web 登錄管理:在 Web GUI 右下角提供狀態膠囊,實時顯示登錄和代理狀態。支持在瀏覽器內直接完成登錄,無需操作終端。
環境與依賴¶
使用前需確保系統已安裝並運行必要的組件。
- 本地代理:本插件不包含
workbuddy2api,必須單獨安裝。- 版本要求:代理版本需
>= 2.0.4。低版本因缺少認證請求頭,會導致登錄失敗。 - 運行方式:代理需在
127.0.0.1:8787啓動,負責轉發協議。
- 版本要求:代理版本需
- Python 環境:插件內置的登錄腳本依賴系統
python3(標準庫實現,無需額外虛擬環境)。
安裝與啓用¶
安裝插件後必須重啓 dsh web 服務才能加載新組件。
- 安裝插件包:
dsh plugin --profile web add ./dsh-llm-workbuddy
- 重啓 Web 服務:
dsh web
使用步驟¶
完成安裝後,按以下順序操作。
-
啓動代理:
確保本地已運行workbuddy2api(端口 8787)。可以通過訪問http://127.0.0.1:8787/health驗證代理存活。 -
Web 登錄:
打開 DSH Web 界面,查看右下角的狀態膠囊。- 若顯示紅色(未登錄),點擊膠囊上的「登錄」按鈕。
- 瀏覽器將打開 WorkBuddy 授權頁,掃碼或授權後,膠囊自動變綠並顯示賬號暱稱。
-
選擇模型:
在 DSH 的模型選擇器中找到 “WorkBuddy” 分組,點擊即可切換模型。支持推理等級選擇(Low / Medium / High)。
技術細節¶
登錄態管理¶
登錄態文件由代理寫入(通常爲 ~/.codebuddy-session.json)。插件通過探測此文件來判斷狀態。若代理未實現 /v1/checkin 端點,插件會自動隱藏簽到入口。
Web 小組件¶
右下角的狀態膠囊是零依賴的原生瀏覽器 JS,由 DSH 的 dsh.client 機制注入。後端路由註冊在 dsh web 的 HTTP 服務上。
架構流向¶
DSH 請求 -> WorkBuddyAdapter (lib/index.js) -> workbuddy2api (127.0.0.1:8787) -> WorkBuddy/CodeBuddy 雲端。
注意事項¶
- 無簽到功能:由於
workbuddy2api當前未實現/v1/checkin相關端點,插件無法執行每日簽到。 - 純標準庫:登錄腳本使用 Python 標準庫編寫,不依賴
uv或複雜環境,但要求系統已安裝python3。 - 會話失效:若代理會話過期,需在 Web 界面重新點擊登錄膠囊。
總結¶
dsh-llm-workbuddy 是一個輕量級的模型適配插件,通過本地代理將 WorkBuddy/CodeBuddy 服務接入 DeepSeek Harness。它免去了 API Key 的配置,提供了可視化的登錄管理,適合需要在 DSH 中統一管理多模型服務的開發者。