前言¶
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 实例,进行测试、协作或复杂任务拆解。