前言¶
DeepSeek Harness (DSH) 採用插件化架構,允許用戶根據需求擴展功能。對於本地部署 Qwen3.8 系列模型(27B, Flash-Next)的開發者來說,管理不同推理後端的思考預算(Thinking Budget)以及處理上下文窗口壓縮(Compaction)是一個常見的痛點。dsh-qwen38-local-qol 插件旨在爲這套本地工作流提供一套統一的配置入口和優化策略。
插件簡介¶
這是一個針對 DeepSeek Harness 的 Quality of Life (QoL) 插件,由用戶 Yunado 維護,採用 MIT 許可證。它主要解決在 llama.cpp、NInfer、TabbyAPI 和 oMLX 等本地推理引擎上運行 Qwen3.8 時的配置碎片化問題。
核心特性¶
- 按請求的思考預算:支持 llama.cpp、NInfer、TabbyAPI 和 oMLX 四種方言,允許在每條請求中動態調整推理預算。
- 壓縮後端優化:在觸發壓縮時,會修剪預填充內容(保留近期推理、降級圖片爲文本佔位、截斷工具結果),防止因輸出上限導致的檢查點截斷。
- 工具結果中的視覺支持:嵌套在工具結果中的圖片塊(如
read_image輸出)會被傳輸而非丟棄。 - 可視化設置面板:提供 Settings Tab,支持實時配置所有行參數。
安裝與啓用¶
通過命令行安裝插件:
dsh plugin --profile web add github:Yunado/dsh-qwen38-local-qol
安裝完成後,需要重啓 dsh web 服務。服務啓動時,插件會從標準預設組合中生成 qwen38 用戶預設。如果未配置默認代理預設,該預設會被設爲默認。新會話將自動使用此預設,而現有會話則保持其創建時的預設不變。
若需固定特定版本,可在規格中添加標籤(如 #v0.2.0 或任何歷史發佈版本)。
配置詳解¶
插件在 DSH 設置中增加了一個名爲 Qwen3.8 Local 的設置 Tab。這裏列出了所有配置項,支持實時修改和熱重載。
狀態指示¶
設置面板中的狀態點顏色表示當前 qwen38 預設的默認狀態:
* 綠色:qwen38 是默認預設。
* 琥珀色:默認預設是 qwen38 以外的其他預設。
* 灰色:qwen38 預設不存在。
服務器配置¶
該 Tab 支持配置四種不同的本地推理服務器:
- llama.cpp (
llamacpp):標準的llama-server,支持通過請求參數動態發送思考預算。 - NInfer:高性能 TensorRT-LLM 引擎,思考預算通常在服務器啓動時配置(
--default-thinking-budget)。 - TabbyAPI:基於 ExLlamaV3 的後端,原生支持按請求預算。
- oMLX:Apple Silicon MLX 推理服務器,原生支持
thinking_budget和chat_template_kwargs.enable_thinking。
主要配置項包括:
* Dialect (dialect):選擇上述引擎之一(默認 llamacpp)。
* Base URL:本地服務地址(默認端口分別爲:llama.cpp 8080,NInfer 8082,TabbyAPI 8083,oMLX 8000)。
* Model:服務器識別的模型 ID 或別名。
* Display Name:在 UI 模型選擇器中顯示的標籤。
* API Key:可選的認證令牌。
上下文窗口與輸出限制¶
- Context Window:模型支持的總 Token 容量,用於判斷何時觸發壓縮。
- Max Tokens:單次響應的最大 Token 數,默認約爲窗口的 20%(約 52428),爲壓縮觸發預留空間。
思考預算¶
插件支持爲 llama.cpp、TabbyAPI 和 oMLX 設置不同級別的思考預算:
* Low: 4,096 tokens
* Medium: 8,192 tokens
* Extra High: 16,384 tokens
對於 NInfer,則通過 defaultThinkingBudget 配置。此外還有 defaultEffort 參數,用於設置默認的思考強度。
壓縮與修剪¶
爲了防止上下文溢出,插件提供了一套壓縮策略(主要在 Env 變量層面配置,也可在 Tab 中配置):
* Summarize Images:處理歷史圖片的策略。strip(推薦)會將舊圖片替換爲文本佔位符以節省空間;keep 則保留圖片。
* Keep Recent Reasoning:保留最近的幾輪助手回覆。
* Tool Chars:限制工具結果的最大字符數。
注意事項¶
- 依賴要求:插件需要 Node.js 環境版本 >= 22.14。
- 無核心補丁:該插件不包含核心補丁或 pi-ai patchfile。
- 持久化:所有在設置面板中的修改會實時生效,並持久化保存到
settings.yaml文件中。