dsh-agent-preset-switcher:在運行時熱切換 DSH Agent 預設

前言

DSH(DeepSeek Harness)中的 Agent 預設決定了會話的工具目錄、系統提示和 capabilities。官方機制下,預設通常在會話啓動(turn/start)時確定,之後不可更改。這種設計是爲了保證對話歷史與工具調用的邏輯一致性。但在實際開發或調試中,有時需要在會話中途切換工作模式。該插件通過複用官方的 AgentPresets.recompose 機制,允許在會話的步驟邊界進行熱切換。

功能概覽

該插件爲 DSH 會話提供運行時切換 Agent 預設的能力。
* 斜槓命令:支持 /mode list 和 /mode <preset-id>。
* 步驟邊界應用:切換不會中斷當前正在進行的模型請求,而是在當前步驟完成後、下一個請求組裝前生效。
* 機制複用:底層複用官方的 AgentPresets.recompose 邏輯,包括單例掛載和作用域重新綁定。

安裝與啓用

通過 dsh plugin 命令安裝該插件包。

dsh plugin --profile web add "git+https://github.com/aefuimn/dsh-agent-preset-switcher.git"

安裝完成後,需要重啓 dsh web 進程並刷新頁面以加載插件。

驗證安裝是否成功,運行:

dsh plugin --profile web ls

輸出列表中應包含 dsh-agent-preset-switcher。

典型用法

安裝並重啓後,在 DSH 會話中即可使用斜槓命令。

  1. 查看當前及完整預設列表:
    輸入 /mode list。系統會返回當前正在使用的預設 ID,以及所有可用的預設列表。

  2. 請求切換預設:
    輸入 /mode <preset-id>。系統會記錄請求並準備在下一個步驟邊界應用更改。

適用場景與注意

該插件適合需要在調試或交互過程中動態測試不同 Agent 預設的場景。

  • 併發與中斷:切換操作是異步的,不會打斷當前正在進行的模型請求。最長等待時間爲當前步驟完成時間。
  • 子代理限制:子代理會話無法應用此插件提供的切換功能,其預設跟隨父會話。
  • 異常處理:如果底層的 recompose 機制拋出異常,切換操作會被視爲失敗,會話將保持原狀。
  • 許可證:MIT 許可證。

結語

通過引入步驟邊界重綁定機制,該插件在不破壞官方架構的前提下,增加了 DSH 會話的靈活性。開發者可以在對話中途嘗試不同的 Agent 工作模式。

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

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

小夜