前言¶
DeepSeek Harness (DSH) 的模型適配層在對接阿里雲百鍊時存在兩個主要阻塞點:自帶的 dsh-llm-deepseek 適配器直接拋出 UNSUPPORTED_CONTENT,拒絕處理圖片;而 dsh-llm-pi-ai 適配器會將系統提示發成 role: 'developer',導致百鍊返回 400 role 'developer' is not allowed。sologuy/dsh-llm-bailian-kimi 插件通過適配百鍊的 OpenAI 兼容接口,解決了這些問題,並在 DSH 中原生支持 kimi/kimi-k3 模型的圖片輸入、思考鏈與工具調用。
插件介紹¶
dsh-llm-bailian-kimi 是一個 DeepSeek Harness 的 LLM 適配器插件,由維護者 sologuy 開發。它專注於解決在 DSH 中調用阿里雲百鍊(DashScope)上 Kimi 模型時的兼容性問題,特別是對圖片輸入和多模態能力的支持。
核心功能¶
該插件提供了以下能力:
* 圖片輸入(多模態):支持通過 input: [text, image] 聲明並傳輸圖片。
* 流式輸出 + 思考鏈:支持流式響應,並解析 reasoning_content 字段展示思考過程。
* Function Calling:支持工具調用接口。
* 統計信息:提供 token 使用量和緩存命中統計。
* 零構建:純 ESM JavaScript 實現,無需構建步驟,直接通過 dsh plugin add 安裝。
安裝與啓用¶
插件安裝過程依賴 DSH 的 profile 機制。
1. 安裝插件
在終端執行以下命令:
dsh plugin --profile web add github:sologuy/dsh-llm-bailian-kimi
由於插件爲純 ESM,不會觸發 pnpm 的 allowBuilds 攔截。
2. 配置憑證
在 DSH 的憑證文件 $DSH_HOME/.credentials.yaml 中添加阿里雲百鍊的 API Key:
DASHSCOPE_API_KEY: sk-xxxxxxxx
3. 配置模型
在 $DSH_HOME/settings.yaml 中添加插件配置段。該段支持熱加載,修改後無需重啓即可生效(需確保插件已被正確解析)。
llm-bailian-kimi:
apiKeyEnv: DASHSCOPE_API_KEY
baseURL: https://dashscope.aliyuncs.com/compatible-mode/v1
reasoningEffort: max # high | max
models:
- id: kimi/kimi-k3
name: Kimi K3 · 百鍊
description: 1M 上下文 · 支持圖片
contextWindow: 1000000
input: [text, image] # 聲明 image 才能發圖
注意事項¶
使用該插件時需注意以下百鍊特有的限制:
- 系統提示角色:系統提示必須使用
role: 'system',使用developer會導致 400 錯誤。 - 工具調用續片:工具調用續片的
id和name字段值爲 JSONnull。判斷邏輯需寫爲typeof x === 'string' && x.length > 0,使用!== undefined會被null值擊穿。 - 思考鏈禁用:不能發送
thinking: {type: 'disabled'}。kimi-k3不允許關閉思考,強行發送會返回誤導性的溫度錯誤。 - 輸入聲明:模型必須在配置中聲明
input: [text, image]才能發送圖片,否則端點會拒絕請求。 - 流式超時:流式輸出空閒超時設置爲 300000ms。
結語¶
該插件通過適配器的方式,填補了 DSH 生態中百鍊 Kimi 模型接入的空白,特別是解決了原生適配器對圖片和系統提示支持的缺失。如需查看詳細文檔或源碼,可訪問 GitHub 倉庫。