前言¶
DeepSeek Harness (DSH) 採用插件化架構,允許通過適配器接入不同的 LLM 服務。Kimi (Moonshot AI) 提供了 Code 專用接口與通用開放平臺接口,且存在國內與海外區域差異。dsh-llm-kimi 插件爲 DSH 提供了 Kimi 模型的 LLM 適配層,通過三個路由覆蓋三種 Key 類型,解決多 API 端點與密鑰管理的集成問題。
核心功能¶
該插件實現以下能力:
* 多路由適配:支持 Kimi Code 訂閱與 Moonshot 開放平臺兩種 Key,覆蓋國內與海外區域。
* 思考模式:支持通過 reasoning_effort 參數控制思考深度。
* 工具調用與多模態:支持 Function Calling 以及圖片輸入(通過 base64 data URI)。
* 熱更新:配置與密鑰修改後,無需重啓進程即可生效。
安裝與啓用¶
通過命令行安裝插件。構建產物已隨倉庫提交,無需本地編譯。
# 從 GitHub 安裝
dsh plugin --profile web add github:haveanote06/dsh-llm-kimi
# 或從 npm 安裝(發佈後)
dsh plugin --profile web add dsh-llm-kimi
安裝完成後,重啓 dsh web 服務,並在 Web 界面的 “Kimi” 設置頁進行配置。
路由與密鑰配置¶
插件定義了三個路由,分別對應不同的 API 端點和 Key 引用。配置時需指定路由類型與對應的 API Key。
路由詳情¶
| 路由 | Key 類型 | 默認端點 | 默認 Key 環境變量 |
|---|---|---|---|
kimi-code |
Kimi Code 訂閱 (sk-kimi-*) |
https://api.kimi.com/coding/v1 |
KIMI_API_KEY |
kimi-cn |
Moonshot 開放平臺(國內) | https://api.moonshot.cn/v1 |
MOONSHOT_API_KEY |
kimi-global |
Moonshot 開放平臺(海外) | https://api.moonshot.ai/v1 |
MOONSHOT_API_KEY |
密鑰配置方式¶
支持三種配置方式,任選其一。路由默認讀取對應的環境變量,也可通過 apiKeyEnvCode/apiKeyEnvCn/apiKeyEnvGlobal 或公共 apiKeyEnv 覆蓋。
- 環境變量
啓動dsh web前設置:
export KIMI_API_KEY=sk-kimi-...
# 或
export MOONSHOT_API_KEY=sk-...
- Web 憑證庫(推薦)
通過 API 直接寫入憑證庫,無需重啓。寫入後 Models 頁面對應行顯示綠色”已配置”圓點。
curl -X POST http://127.0.0.1:3080/api/credentials.set \
-H "Content-Type: application/json" \
-d '{"type":"client-request","rpcId":"set1","method":"credentials.set","payload":{"ref":"KIMI_API_KEY","value":"<你的key>"}}'
- 憑證文件
在~/.dsh/.credentials.yaml文件中追加(文件權限建議 0600):
KIMI_API_KEY: <key>
注意:當前 DSH 平臺限制,內置 Models 頁面對
llm-deepseek/llm-pi-ai以外的命名空間(如本插件的llm-kimi)渲染爲只讀。因此第三方 LLM 插件的 Key 無法直接在 Models 頁填寫,需使用上述方式或本插件自帶的 “Kimi” 設置頁。
模型與思考模式¶
支持的模型¶
插件提供聯合模型目錄,覆蓋 Kimi Code 與開放平臺模型。上下文長度與模態如下:
| 模型 | 上下文 | 模態 | 備註 |
|---|---|---|---|
| kimi-for-coding | 256k | 文本+圖片 | Kimi Code (K2.7 Coding) |
| kimi-for-coding-highspeed | 256k | 文本+圖片 | Kimi Code 高速 |
| k3 | 1M | 文本+圖片 | Kimi Code K3 |
| k3-256k | 256k | 文本+圖片 | Kimi Code K3 精簡 |
| kimi-k3 | 1M | 文本+圖片 | 開放平臺 K3 |
| kimi-k2.6 / kimi-k2.7-code | 256k | 文本+圖片 | 開放平臺 |
| moonshot-v1-8k/32k/128k | 8k~128k | 文本 | 開放平臺舊版 |
思考模式參數¶
使用 thinking 參數控制。舊式 enable_thinking 布爾值會被靜默忽略。
{
"thinking": {
"type": "enabled",
"reasoning_effort": "low"
}
}
reasoning_effort 支持 low、high、max。
協議義務¶
插件嚴格對齊官方 LLM 適配器協議:
* 流式響應順序:usage 事件優先於 finish 事件,finish 後不再輸出內容。
* 工具參數:工具調用參數保持 RAW JSON 格式。
* 錯誤處理:遵循雙路徑錯誤處理,並尊重 options.signal 取消請求。