dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
Archive, cross-session read, and copy-ID tools for DeepSeek Harness conversations.
English | 中文
一个用于跨对话管理会话的 DSH Web 插件:
session_archive:归档当前会话,或按精确 ID 归档另一个会话。session_read:按精确 ID 读取另一个会话经过 DSH 限长处理的不可信文本快照。session_send:向另一个普通会话发送消息,并取得一个持久的请求 ID。session_wait:等待或轮询某次 session_send 请求所对应的精确回复。session_send 会把一条持久的用户消息放入目标会话的下一个普通 turn。目标普通会话即使没有运行,DSH 原生 agent resolver 也可以先按它记录的上下文恢复,再进行投递。session_wait 用请求 ID 精确关联目标 turn,只返回其中对用户可见的 assistant 文本,不暴露推理或工具轨迹。
归档是持久但非破坏性的:会话会从普通列表中消失,但日志仍然保留。跨会话读取复用 DSH 的会话引用投影,并继续遵守宿主配置的字节上限。
0.1.1-rc.2 / 0.1.2-rc.1web 为例)0.2.2 在 DSH 0.1.2-rc.1 上读取实时事件快照,同时保留 DSH 0.1.1-rc.2 的旧事件数组读取方式。每次轮询均能获取新提交的回复和终态,不会复用旧快照。
dsh plugin --profile web add github:Unintendedz/dsh-session-tools#v0.2.2
随后重启正在运行的 DSH Web 服务。插件只会在服务启动时装载。
在会话行的“三个点”菜单中选择 复制会话 ID,也可以打开会话后点击顶部的 ID。
要让另一个普通会话处理任务,先调用 session_send:
{
"session_id": "session-target-id",
"message": "检查测试结果,并汇总所有失败项。"
}
工具会立即返回一个 request_id。把两个 ID 一起传给 session_wait:
{
"session_id": "session-target-id",
"request_id": "request-id-from-session-send",
"timeout_seconds": 60
}
session_wait 会返回 completed、running 或 failed。默认等待 60 秒,允许范围是 0–600 秒;传 0 表示只轮询。收到 running 后可以继续用相同的两个 ID 等待,因为等待操作不会重复发送消息,也不会取消目标会话。
你也可以把复制的 ID 粘贴到另一个对话里,让它调用 session_read 读取内容,或调用 session_archive 归档该会话。调用 session_archive 时省略 session_id,就会归档当前对话自己。
插件插入复制项后会让原生菜单重新计算位置;即使来源会话靠近屏幕底部,四个菜单项也都会留在可视区域内。
安装目标版本标签,然后重启 DSH Web:
dsh plugin --profile web add github:Unintendedz/dsh-session-tools#v0.2.2
dsh plugin --profile web remove dsh-session-tools
session_read 使用 DSH 原生的会话引用解析器;返回文本受宿主限长,并明确作为不可信上下文处理。session_send 和 session_wait 要求来源与目标是两个不同的普通会话。插件会拒绝向自己发送;子 agent 会话仍须使用 DSH 内置的 send_message 工具。session_wait 只返回请求所对应精确 turn 中对用户可见的 assistant 文本;不包含推理和工具轨迹,返回的 UTF-8 文本最多为 65,536 字节。running,不会重发请求,也不会取消目标;跨会话等待环会被拒绝。session_archive 只隐藏会话并保留日志,不会删除对话数据。npm install
npm test
将 DSH_NATIVE_ROOT 指向已安装的 DSH 包根目录(包含其 node_modules 的目录),并设置全新临时 DSH_HOME,即可运行真实 Session 轮询回归测试。它使用合成数据,不启动 profile。
宿主入口是 lib/index.js,浏览器源码位于 src/client.jsx。npm test 会重新构建 lib/client.js,然后运行宿主与浏览器包测试。
session_wait 会将 inbox 领取记录关联到当前轮次。如果该轮次在用户消息写入前被取消、报错或阻止,等待会返回 failed 及相应原因。轮次仍在执行时,已领取的请求继续返回 running;请求所有权和排队请求的取消检查仍然有效。原生工具输出始终包含请求状态及终态原因,然后附上最多 64 KiB UTF-8 的已有回复文本,因此部分回复也会明确显示失败或运行中状态。