前言¶
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 實例,進行測試、協作或複雜任務拆解。