在 DeepSeek Harness (DSH) 的插件化架構中,dsh-router-loomy 插件提供了一個將訊飛 Loomy 辦公助手雲端通道作爲供應商接入 dsh-router 的方案。該插件參照 dsh-router-traework 的同構範式編寫,將 Loomy 的接口封裝爲 OpenAI 兼容的格式,供 DSH 核心統一管理。
核心功能¶
本插件主要解決將本地 Loomy 客戶端登錄態接入雲端通道的問題,核心能力如下:
- OpenAI Chat Completions 兼容:提供單一端點
POST /chat/completions,完全兼容 OpenAI 的請求與響應格式,支持 SSE 流式響應。 - 自動獲取登錄態:憑證無需手動粘貼,插件會自動讀取本機 Loomy 客戶端登錄後落盤的
userData/auth-session.json文件。 - 統一路由管理:插件只暴露差異化邏輯(如
status、listModels、generateLoginUrl等),選號、冷卻、換號、別名、模型啓用狀態、積分緩存等通用能力由 dsh-router 核心統一管理。 - 上游截斷檢測:針對上游靜默截斷(發送
[DONE]但不返回finish_reason)的問題,插件實現了guardUpstreamStream收尾校驗邏輯。
安裝與啓用¶
安裝插件需要使用 npm。
npm install dsh-router-loomy
安裝完成後,需要在 Profile 的配置中註冊該插件。在 Profile 的 package.json 的 dsh.profile.bundles 字段中添加 'dsh-router-loomy':
{
"dsh": {
"profile": {
"bundles": [
"dsh-router-loomy"
]
}
}
}
重啓 DSH 進程後,日誌中若出現 [dsh-router-loomy] registered router.suppliers: loomy,表示安裝成功。
登錄與憑證獲取¶
Loomy 的憑證不在網頁中,而是存儲在本機客戶端登錄後生成的文件裏。本插件通過啓動本地客戶端並讀取文件來實現登錄態獲取。
- 在 dsh-router 面板的 Loomy 卡片點擊 「添加鏈接」。
- 插件會自動啓動本機 Loomy 客戶端,並給出一個指向「客戶端狀態頁」的鏈接。
- 在彈出的客戶端窗口中完成登錄。
- 回到面板點擊 「完成添加」。插件會讀取
auth-session.json並完成賬號註冊。
如果客戶端之前已登錄,面板會自動掃描該文件並顯示賬號,無需重複操作。對於無法自動探測客戶端路徑的情況,可以通過設置環境變量 LOOMY_CLIENT_EXE 指定路徑。
上游契約與截斷處理¶
插件對接的上游端點爲 POST https://loomyad.xunfei.cn/api/v1/chat/completions。請求必須攜帶特定的追蹤頭(如 traceparent、chatid、msgid、loomy-version、invokeorigin)。
上游響應採用 SSE 流式格式,末尾幀包含 usage 信息(含 points_consumed)。需要注意的是,上游有時會在生成未結束時靜默發送 data: [DONE] 而不提供 finish_reason。插件對此進行了如下處理:
- 正常收尾:有
finish_reason且有正文或工具調用,直接放行。 - 檢測截斷:無
finish_reason且completion_tokens < max_tokens,插件會攔截[DONE],觸發核心報錯並自動重試(重試會重發整段上下文,成本較高)。 - 長度截斷:無
finish_reason但completion_tokens >= max_tokens,直接補一幀finish_reason: "length"放行。
注意事項¶
- 依賴環境:插件依賴
@deepseek-ai/cordis和cordis(由宿主注入),Node.js 版本要求爲 20 及以上。 - 重試成本:由於截斷檢測的重試邏輯會重發整段上下文,可能導致較高的積分消耗。同一賬號連續截斷 2 次後,插件將停止重試並標記爲長度截斷。
- 許可證:本插件採用 MIT 許可證。
相關鏈接¶
- 插件目錄:https://www.skillhub.cn/plugins/2404723600/dsh-router-loomy
- GitHub 倉庫:https://github.com/2404723600/dsh-router-loomy