前言¶
DeepSeek Harness(DSH)的插件生态允许开发者扩展其功能。在构建复杂工作流或进行多轮对话开发时,常需要在不同的会话之间传递上下文、发送指令或读取历史记录。手动复制粘贴不仅效率低下,还容易出错。dsh-session-tools 旨在解决这一痛点,提供一套标准的会话管理工具。
插件介绍¶
这是一个 Web 端插件,由 Unintendedz 维护。它主要提供四个核心工具:会话归档、跨会话读取、跨会话发送消息以及等待回复,同时在 UI 层面增加了便捷的会话 ID 复制功能。插件版本为 v0.2.2,基于 MIT 协议开源。
安装与启用¶
使用官方命令安装指定版本。安装后需重启 DSH Web 服务以加载插件。
dsh plugin --profile web add github:Unintendedz/dsh-session-tools#v0.2.2
核心功能¶
- session_archive: 归档当前会话或指定 ID 的会话。归档是持久的,但不会删除数据。
- session_read: 读取另一个会话的快照。DSH 会使用原生的会话引用解析器,返回的文本受主机字节限制,且被明确视为不受信任的上下文。
- session_send: 向另一个普通会话发送消息,并获得一个持久的请求 ID。
- session_wait: 等待或轮询
session_send返回的回复。 - UI 交互: 在每个会话列表项的三点菜单和会话头部增加了 ID 复制按钮。
典型用法¶
- 获取会话 ID: 使用列表项的三点菜单中的“Copy session ID”,或打开会话后点击头部的“ID”按钮。
- 发送消息: 在当前会话调用
session_send指令。
{
"session_id": "目标会话ID",
"message": "请检查测试结果并总结失败项。"
}
- 等待回复: 使用上一步获得的
request_id调用session_wait。
{
"session_id": "目标会话ID",
"request_id": "从 session_send 获得的ID",
"timeout_seconds": 60
}
超时设置范围为 0-600 秒,设为 0 可用于轮询。等待状态返回 `running` 时安全,不会重发请求或取消目标。
- 读取或归档: 将复制的 ID 粘贴到另一个会话中,请求该会话调用
session_read或session_archive。
注意事项¶
- 安全与信任:
session_read返回的内容是有界的,且不受信任。 - 会话规则:
session_send和session_wait必须针对两个不同的普通会话,不支持自引用。只有创建请求的会话有权等待结果。子代理会话应使用 DSH 内置工具。 - 等待限制:
session_wait仅返回可见的助手文本,不含推理和工具追踪,且 UTF-8 文本限制为 65,536 字节。超时仅返回running,不重发请求或取消目标。 - 归档规则:
session_archive仅保存日志,不删除对话数据。 - 参数要求: 工具参数必须为精确、非空的 ID,拒绝未知字段。
生态链接¶
该插件基于 MIT 协议开源。更多详情与源码请访问:GitHub。