OrcaTerm Model Proxy:把 OrcaTerm 網頁版的免費模型接入 DSH

前言

用 DSH 做智能體開發時,模型通常要自己找 API key、自己管額度和續費。如果你有騰訊雲賬號,OrcaTerm 網頁版提供了一組免費模型,可以直接用,但網頁端沒法接入 DSH 的工具調用流程。下面介紹的插件 lyp0709/orcaterm-model-proxy 做的就是這件事:把 OrcaTerm 網頁版的免費模型接入 DeepSeek Harness(DSH),支持一鍵登錄、工具調用與圖片識別。它由 lyp0709 維護,分類屬於「模型推理」,零運行時依賴,安裝時不需要構建步驟。

插件是第三方集成,與騰訊雲 / OrcaTerm 官方無關。使用前請自行確認符合 OrcaTerm 的服務條款。

核心功能

插件實現的是 DSH 的模型接入層,能力如下,全部來自項目 README 的說明。

  • 接入 8 個免費模型:DeepSeek V4.1 Flash / V4 Flash / V4 Pro、Kimi K3、GLM 5.3 Flash / 5.3 / 5.2、Hunyuan 3。
  • 憑證自動續期:只需配置一次,之後長期自動續期,不需要反覆更新。
  • 工具調用:DSH 註冊的工具由本機執行,模型可以讀取文件、執行命令等。
  • 圖片識別:可以把圖片發給模型;DeepSeek V4.1 Flash、Kimi K3 支持,GLM 5.3 不接受圖片。
  • 可視化設置面板:模型選擇、推理強度、賬號狀態、額度查詢、調用統計。

安裝與啓用

從 GitHub 安裝(推薦)

在 DSH 終端執行:

dsh plugin --profile desktop add github:lyp0709/orcaterm-model-proxy

也可以從本地目錄安裝,把路徑換成你本地的倉庫目錄:

dsh plugin --profile desktop add "D:\path\to\orcaterm-model-proxy"

或者在 DSH 裏直接對 AI 助手說:幫我安裝這個插件:github.com/lyp0709/orcaterm-model-proxy。安裝完成後重啓 DSH 才能生效。

配置憑證(一鍵登錄)

插件需要 OrcaTerm 的登錄憑證,只需登錄一次,之後自動續期。

  1. 打開 DSH 設置,找到 OrcaTerm 面板,登錄區塊在最上面。
  2. 點「一鍵登錄」。
  3. 插件自動彈出一個獨立的瀏覽器窗口,與你日常使用的瀏覽器完全隔離。
  4. 在這個窗口裏用騰訊雲賬號登錄,支持微信掃碼、QQ、GitHub、賬號密碼等方式。
  5. 登錄成功後無需操作,插件會自動檢測並讀取憑證,然後關閉窗口。
  6. 面板顯示「登錄成功,憑證已生效」即完成。

一鍵登錄的原理是:插件用獨立 profile 啓動 Edge/Chrome 並開啓 --remote-debugging-port,導航到 orcaterm.ai/terminal 讓用戶完成登錄,再通過 CDP 的 Network.getCookies 讀取 __Secure-ot_session,拿到後立即關閉瀏覽器並保存憑證。瀏覽器把 Cookie 加密存儲,第三方進程無法解密,但瀏覽器自己可以,所以這條路是通的。這個過程只讀取 orcaterm.ai 一個域名的 Cookie,不觸碰日常瀏覽器數據。

如果自動登錄不可用,可以走手動方式:

  1. 點「手動輸入」展開,點「打開登錄頁」,用瀏覽器登錄。
  2. 按 F12 → Application 標籤 → Cookies → 選中 https://orcaterm.ai。
  3. 找到 __Secure-ot_session,雙擊 Value 列全選複製,約 80 個字符。
  4. 粘貼到輸入框,點「保存並校驗」。也可以直接複製整條 Cookie 請求頭,插件會自動提取需要的部分。

需要一個騰訊雲賬號。首次使用騰訊雲可能需要完成實名認證等前置步驟;OrcaTerm 目前提供免費額度,AI 功能爲單一額度池,不按模型區分。

使用

配置完成後,在 DSH 的模型選擇器裏就能看到 OrcaTerm 提供的模型。設置面板裏還可以調整這些選項:

選項 說明
默認模型 未指定時使用的模型
推理強度 low / medium / high
顯示思考過程 是否顯示模型的推理過程
工具調用 是否允許模型使用 DSH 的工具
圖片識別 是否把圖片發給模型
失敗重試 網絡錯誤、限流時的重試次數
備用模型 主模型失敗時自動切換
超長會話裁剪 歷史超過閾值時自動丟棄最老對話;可關閉

在「可用模型」裏,每個模型都有「啓用 / 停用」按鈕。停用後該模型不再出現在 DSH 的模型選擇器裏,也無法被設爲默認模型或備用模型;如果停用的正是當前默認模型,會自動切換到第一個可用模型;如果停用的正是備用模型,備用設置會被清空。停用狀態寫入 ~/.dsh/orcaterm-config.json,下次啓動仍然生效。

至少要保留一個啓用的模型,否則插件沒有可用模型,選擇器會空掉,所以最後一個模型的「停用」按鈕是禁用的。適用場景是:某個模型經常超時或答非所問時,把它停用,避免在選擇器裏誤選。

上下文長度與裁剪

服務端容量很大,真正的瓶頸是模型注意力。以下數據全部來自項目 README 的實測。

容量:至少 120 萬字符

檔位(目標 token) 實際字符數 請求體 耗時 結果
256k 300,331 0.86 MB 13–19s HTTP 200
500k 600,331 1.72 MB 19–23s HTTP 200
1M 1,200,331 3.43 MB 15–16s HTTP 200

三檔全部正常返回,既不報超限,也不靜默截斷。驗證方式是在文檔首部和尾部各埋一個標記,兩處都能被模型讀到。

可靠性:約 20 萬字符是上限

在 600,000 字符的文檔裏把標記放在不同位置,看模型能否找到:

位置 1% 2% 5% 10% 20% 30% 50% 70% 90% 95% 99% 100%
能否讀到 是 是 是 否 否 否 否 否 否 是 是 是

首尾能讀到,中間全部丟失。長度遞增測試進一步確認邊界:

文檔長度 首部 1% 中部 50% 尾部 99%
20,000 是 是 是
50,000 是 是 是
100,000 是 是 是
200,000 是 是 是
400,000 是 否 否
600,000 是 否 是

這是大模型的 lost-in-the-middle 現象,與 OrcaTerm 無關。上游完整地把內容傳給了模型,但模型注意力只覆蓋首尾。對照實驗確認模型沒有編造:不放標記時它如實回答「未找到」。

其他硬限制與插件的處理

項目 限制
單次輸出 max_tokens 硬上限 8,096,超出被服務端拒絕
超限表現 服務端報錯,特徵爲 context_length_exceeded / too many tokens / prompt is too long

插件的處理有三步:

  1. max_tokens 夾緊,傳入值超過 8,096 時自動下調,避免請求被拒。
  2. 主動歷史裁剪,默認閾值 200,000 字符。超出時丟棄最老對話,保留 system 消息(永不丟棄)、最近 8 條對話,以及成對的工具調用與結果(不會從中間切斷)。
  3. 超限提示,萬一服務端仍報超限,翻譯成「輸入超出上下文上限,建議新建會話或精簡需求」。

裁剪閾值可在設置面板調整,範圍 40,000 ~ 1,000,000,或關閉。調高閾值能容納更多歷史,但模型可能漏讀中間部分:超出 20 萬字符後,多保留的內容不一定被模型真正用到。關閉裁剪(始終全量發送)同理。

工作原理

插件實現了 DSH 的 LlmAdapter 接口,把 DSH 的請求翻譯成 OrcaTerm 的 ACP 協議:

  1. 認證:用 __Secure-ot_session 換取 JWT access token,有效期 2 小時,自動續期。
  2. 對話:調用 OrcaTerm 的 SSE 流式接口,把事件映射成 DSH 的 chunk。
  3. 工具調用:把 DSH 的工具清單寫進系統提示位,模型返回工具請求後由 DSH 在本機執行,結果回傳。
  4. 圖片:把 DSH 的圖片附件轉成 base64 放進 input.files。
  5. 長度管理:max_tokens 夾緊 + 歷史裁剪。

工具始終在本機運行,OrcaTerm 服務器只負責轉發調用描述與執行結果。

隱私說明

插件會做什麼:

  • 一鍵登錄時啓動一個獨立的瀏覽器窗口,用戶數據目錄爲 ~/.dsh/orcaterm-login-profile,與日常使用的瀏覽器完全隔離。
  • 通過 Chrome DevTools Protocol 讀取 orcaterm.ai 這一個域名的 __Secure-ot_session Cookie。
  • 讀到憑證後立即關閉該瀏覽器窗口。

插件不會做什麼:

  • 不讀取日常瀏覽器的任何數據。
  • 不讀取其他網站的任何 Cookie。
  • 不把憑證發送到除 OrcaTerm 官方接口以外的任何地方。
  • 不在後臺常駐瀏覽器進程。

本地存儲的文件如下:

文件 內容
~/.dsh/orcaterm-cookie.txt 僅 __Secure-ot_session 一個值
~/.dsh/orcaterm-token.json 短期 JWT 緩存(2 小時)
~/.dsh/orcaterm-usage.json 本地調用統計
~/.dsh/orcaterm-login-profile/ 登錄專用瀏覽器數據,可在面板「清除登錄緩存」刪除

已知限制

  • 僅支持騰訊雲賬號登錄,不支持 OrcaTerm 獨立賬號。
  • OrcaTerm 不提供 token 用量數據,因此 DSH 的 token 統計面板不會顯示本插件的用量。插件自帶的調用統計(次數、耗時、首字延遲)是準確的。
  • 圖片識別的模型支持不一致:GLM 5.3 收到圖片會報錯(插件會自動跳過),Hunyuan 3 識圖不準確。
  • 模型列表是內置的,OrcaTerm 調整模型時需要更新插件版本。
  • 單次輸出上限固定爲 8,096 token,這是上游限制,插件無法提高。
  • 超過約 20 萬字符後模型會漏讀中間內容(lost-in-the-middle),這是大模型的通病,不是本插件或 OrcaTerm 的問題。
  • 裁剪會丟失早期對話細節。如果任務依賴很早期的上下文,建議關閉裁剪或新建會話。

故障排查

設置面板的「診斷」可查看最近一次調用的詳情,也可以直接訪問:

http://127.0.0.1:<DSH端口>/api/orcaterm/diag

常見問題及處理:

現象 原因與處理
一鍵登錄沒彈出瀏覽器 確認安裝了 Edge 或 Chrome;關閉同名瀏覽器窗口後重試
一鍵登錄提示端口占用 可能有殘留瀏覽器進程,重啓或改用手動輸入
登錄後未檢測到憑證 登錄完成後讓窗口保持打開幾秒;仍失敗則用手動輸入
提示憑證無效 登錄狀態過期,點「重新登錄」
模型不返回內容 檢查是否觸發限流(上游限制約 2 秒 1 次)
圖片識別失效 確認用的是 DeepSeek 或 Kimi 模型,且設置裏「圖片識別」已開啓
工具調用失敗 確認「工具調用」已開啓;GLM 5.3 對圖片會 400

診斷接口的關鍵字段:imageCount / imageSkipped(圖片是否送達)、toolReported(工具結果是否回傳)、roleBreakdown(消息結構)、isToolFollowUp(是否工具回灌輪)。

適用場景與注意事項

適合的場景:已有騰訊雲賬號、希望用免費額度跑 DSH 智能體,並且需要工具調用或圖片識別的開發者。插件零運行時依賴、不需要構建步驟,接入成本低;憑證只登錄一次就會自動續期,長期使用不需要反覆維護 key。

幾個需要注意的點:

  1. 插件以當前 DSH 進程權限運行,一鍵登錄會拉起瀏覽器並用本機迴環端口收診斷信息。安裝前應先讀一遍源碼,確認與自己的安全要求相符,再決定是否啓用。許可證是 MIT,倉庫地址見文末。
  2. 它是第三方集成,與騰訊雲 / OrcaTerm 官方無關。模型可用性、免費額度和賬號登錄方式由 OrcaTerm 決定,插件作者不控制上游。
  3. 圖片識別、工具調用都依賴設置面板裏對應的開關,出問題時先查開關再看診斷接口。

結尾

這個插件的價值在於把一個網頁端免費模型入口接到了 DSH 的插件體系裏,登錄一次即可在模型選擇器裏切換 8 個模型,工具執行留在本機,上下文長度和裁剪行爲也有明確邊界和實測數據支撐。如果你需要在 DSH 裏使用免費模型,可以先按上面的步驟裝起來試一輪。

目錄頁:https://www.skillhub.cn/plugins/lyp0709/orcaterm-model-proxy
GitHub:https://github.com/lyp0709/orcaterm-model-proxy

羽毛球分组比赛记分
小程序二维码

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

小夜