DSH Remote Control:爲 Agent 提供操控本地 DSH 實例的能力

前言

DSH Agent 在開發與調試過程中,通常運行在單一實例中。這種模式限制了 Agent 的協作能力與隔離性。dsh-remote-control 插件爲 Agent 提供了直接操控本地另一個完整 DSH 實例的能力,使其能夠像用戶一樣操作遠端會話與工作區。

插件定位

插件名稱:dsh-remote-control
維護者:mazov2love
許可證:MIT
核心價值:零侵入、開箱即用。讓 Agent 能夠以接近用戶的操作語義,操控另一個獨立的 DSH 實例,支持增量讀取、引用保存及遠端會話與工作區搜索。

核心能力

  • 直接操控:Agent 可以直接操控另一個 DSH 實例。
  • 零侵入:目標實例無需安裝配套插件。
  • 增量讀取與引用保存:支持對遠端會話的增量內容讀取,並管理本地引用。
  • 搜索能力:支持遠端會話與工作區的搜索。
  • 六個常駐工具:提供創建會話、發送消息、查看狀態、搜索、管理引用、查詢操作等工具。

安裝與啓用

安裝命令如下。此插件要求 DSH 基線版本爲 0.2.0-rc.2,Node.js 版本爲 22.19+。

dsh plugin --profile web add 'github:mazov2love/dsh-remote-control#v1.0.0'

安裝後重啓調用方(Agent 所在的實例),即可在對話中啓用連接配置。

配置與連接

安裝後,需在對話中告知 Agent 目標實例的連接信息。

配置提示示例:

我要使用另一個 DSH,它在本機的 3080 端口,令牌是 <目標當前令牌>。請幫我配置連接並驗證。

Agent 會根據對話內容配置連接。連接配置保存在 $DSH_HOME/remote-control/connections.json。連接配置改變後需要重載插件或重啓調用方。

常用工具

插件提供六個常駐工具,用於與遠端 DSH 交互:

  • dsh_create:創建會話或註冊已有目錄作爲工作區,自動保存引用與用途/註釋。
  • dsh_send:使用 ref 或 instance/sessionId 發送消息,立即返回回執。
  • dsh_status:查看狀態。view=new 讀取新增回覆;view=final 預覽最新回覆。
  • dsh_search:搜索已保存引用;scope=sessions/workspaces 搜遠端簡短元數據。
  • dsh_refs:分頁查看、保存、更新或刪除本地引用。
  • dsh_other:查詢詳細操作用法,或按明確操作名稱執行(高級操作說明需通過此工具查詢)。

數據與狀態

插件在 $DSH_HOME/remote-control/ 目錄下維護狀態。

  • 引用保存:創建時自動保存引用;刪除引用只刪除本地記錄,遠端會話不受影響。
  • 暫存結果:默認有效 24 小時,最多保存 50 份。主要用於處理超過返回預算的大結果。
  • 返回預算:默認工具返回預算爲 6000 字符(JSON 文本)。超過預算時結果暫存,需通過 dsh_other 分段讀取。
  • 增量讀取:dsh_status view=new 默認只返回尚未讀取的 assistant 文本。

注意事項

  • 權限依賴:插件以當前調用方進程的權限運行,請確保安裝前檢查源碼與許可證。
  • 令牌安全:令牌通過對話提供,工具不會主動返回憑據。
  • 配置重載:連接配置改變後必須重載插件或重啓調用方。
  • 高級操作:插件不註冊額外的 system prompt 正文,不把完整操作手冊放進基礎工具 schema。高級操作說明需通過 dsh_other 查詢。
  • 目標實例:目標 DSH 實例無需安裝此插件。

結尾

此插件解決了 Agent 在單一實例中運行受限的問題。通過零侵入的方式,Agent 可以獨立操作另一個 DSH 實例,進行測試、協作或複雜任務拆解。

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

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

小夜