Dynamic Thinking Chain:按任務難度自動調整推理深度的 DSH 插件

前言

DSH 在開發智能體時,通常會把一個大任務拆解成許多小任務(todo_write 清單裏的條目)。這些小任務性質各異:有的是規劃拆分,有的是寫函數,有的只是改個名字。如果統一使用 DeepSeek 的高推理等級(max),會浪費 token;如果統一使用低等級,遇到複雜邏輯又容易出錯。dynamic-thinking-chain 插件的作用,就是監聽每次模型請求前的上下文,根據當前正在做的那個小任務的難度,自動選擇最合適的推理等級。

插件概覽

  • 名稱:dynamic-thinking-chain
  • 描述:讓 DeepSeek 模型「按任務難度自動思考」的 DSH 插件
  • 維護者:LovelyDazai
  • 分類:模型推理
  • 許可證:MIT

工作原理

插件在每次模型請求前介入,通過監聽 agent/request 瀑布流,只修改 reasoningEffort 一個字段。它通過分析 todo_write 裏的 in_progress 小任務文本、最新的人類指令、工具報錯次數等信號,計算任務難度,進而映射到 off/low/high/max 四個等級。

安裝

  1. 進入插件目錄並打包:
    cd dynamic-thinking-chain
    npm pack
  1. 安裝到指定 profile:
    dsh plugin --profile desktop add file:D:/workplace/dynamic-thinking-chain/dynamic-thinking-chain-0.1.2.tgz
安裝後需重啓 DSH 進程(桌面版需先退出後臺再打開,Web 版需重啓 `dsh web`)。

配置

在對應 profile 的 C:\Users\<你>\.dsh\profiles\<profile>\cordis.patch.yml 中覆蓋配置:

- id: dynamic-thinking-chain
  config:
    enabled: true        # 總開關
    lowThreshold: 0.30   # 難度分 < 0.30 → low
    highThreshold: 0.60  # 難度分 < 0.60 → high,否則 max
    debug: false         # 打印決策細節

常用配置項還包括 baseScore、lengthSteps、hardWeight、hardKeywords 等,具體可見 src/classifier.js 的 DEFAULTS。

推理等級與適用場景

插件根據任務難度自動分配以下等級:

  • max:最深思考
    • 適用場景:規劃/拆分大任務、算法、併發、安全、排查調試
  • high:較深思考
    • 適用場景:寫函數、單元測試、改代碼、寫文檔
  • low:輕度思考
    • 適用場景:打印 Hello World、改個名字這類瑣碎小任務
  • off:關閉思考
    • 適用場景:默認禁用(DeepSeek 限制,見下方注意事項)

注意事項

  1. 模型兼容性:插件只會對「支持推理等級」的模型生效。請確認當前會話模型爲 DeepSeek 系列(如 deepseek-v4-pro、deepseek-v4-flash),否則會被自動跳過。
  2. DeepSeek 會話限制:DeepSeek 規則規定,會話中途關閉思考會報 INVALID_REQUEST。因此插件默認不會使用 off 等級(除非是會話第一條請求)。
  3. 零依賴:插件本體零運行時依賴。

結語

該插件通過動態調整 reasoningEffort,實現了在保證複雜任務質量的同時,節省簡單任務的開銷。如需查看完整列表或源碼,可訪問目錄頁或 GitHub 倉庫。

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

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

小夜