dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
Attention and handoff workspace for concurrent DeepSeek Harness Sessions
English | 中文
DSH 信标是一个可安装的 DeepSeek Harness bundle,用于监督并行会话。它在一个 package 中提供确定性活动投影、注意力排序、有界生成摘要、/brief 命令、可拖动活动信标、全局工作台和单会话 Context 视图。
可安装 npm package 位于仓库根目录,并拥有完整功能闭包。唯一的 Cordis Loader 行把 activity、brief、LLM provider 和 command 插件作为子 fiber 挂载,同时 package 只暴露一个 Web Client 入口。该结构不依赖尚未发布的 @deepseek-ai/dsh-session-* 包,并符合 DSH Client loader 每个 package 只允许一个来源的规则。
| 组件 | 支持版本 |
|---|---|
| DeepSeek Harness packages | >=0.1.2-alpha.6 <0.1.3 中首个包含 SessionEventIntent 和 session-brief LLM purpose 的版本 |
| Cordis | 4.0.2 |
| Node.js | ^22.19.0 或 >=24.0.0 |
| React | ^18.2.0 |
| Document Picture-in-Picture | 当前 Chromium 浏览器;可选 |
DSH 处于开发者预览阶段,不承诺 prerelease 之间的 API 兼容性。因此 Beacon 将所有 DSH peer 限定在同一 prerelease 版本线;升级 DSH 时应同时升级 Beacon。
已经发布的 DSH 0.1.2-alpha.5 package 与 Beacon 不兼容:其 Session reader 要求树外事件携带 ignorable envelope marker,但公开的 Session.append() 实现无法持久化该 marker,LLM purpose 联合也不包含 session-brief。若针对 alpha.5 发布 Beacon,卸载或重启后可能无法读取相关会话。在 DSH 发布这两个 API 之前,不应把本 package 发布到 npm;发布后应把临时最低版本替换为确切发行版本,并验证全新安装。
兼容 DSH 版本与本 npm package 发布后,把 bundle 加入 Web profile:
dsh plugin --profile web add @jingzechen/dsh-beacon
dsh --profile web --dump-config
dsh --profile web
配置转储中会出现 @jingzechen/dsh-beacon layer 和一个 dsh-beacon Loader 行。该 package 是 bundle,不是 profile;dsh plugin 会把它的 patch 加入所选 profile。
升级或卸载:
dsh plugin --profile web update @jingzechen/dsh-beacon
dsh plugin --profile web remove @jingzechen/dsh-beacon
卸载 bundle 会移除 profile 依赖和配置层。保存在 dsh.session-overview.view.v1 下的浏览器本地审阅偏好会继续存在,直至清除该站点数据。
发布的 cordis.patch.yml 提供以下保守默认值:
| 字段 | 默认值 | 含义 |
|---|---|---|
sessionActivity.maxOpenTools | 3 | 投影到会话摘要中的未配对工具名称上限 |
sessionActivity.maxErrorBytes | 64 | provider-neutral 错误代码保留的 UTF-8 字节上限 |
sessionBrief.automaticTriggers | turn-end、goal-blocked、turn-error | 可以自动生成摘要的稳定检查点 |
sessionBrief.minMeaningfulEvents | 2 | 相对上一份已接受摘要所需的活动推进量 |
sessionBrief.maxBriefBytes | 4096 | 完整已接受摘要的大小上限 |
sessionBrief.maxItemsPerField | 8 | 已完成项、阻塞项和引用项上限 |
sessionBriefLlm.maxInputBytes | 32768 | 精确 JSON 框架模型输入的大小上限 |
sessionBriefLlm.maxOutputTokens | 4096 | 辅助输出 token 上限 |
sessionBriefLlm.timeoutMs | 30000 | 辅助请求的端到端 deadline |
profile patch 可以替换完整的 dsh-beacon 行来调整这些值。DSH patch 会替换整个 config,不会深度合并,因此必须重新写出所有必填字段。
如需把生成摘要固定到专用路由,请在 sessionBriefLlm 下同时提供 provider 和 model。两者均省略时,Beacon 使用会话最近记录的合格路由。两种路由都不存在时,摘要生成不可用,但确定性活动和 context 仍正常工作。
全局工作台列出未归档顶层会话,排除子会话和来源为 subagent 的会话。排序依次为待批准、问题和计划审核,随后是阻塞、失败、运行中、排队、显式 Goal 完成、有变化、Goal 暂停和空闲。
所选会话视图从有界 DSH 投影中推导任务、当前重点、已完成 Todo、下一步、用户待处理项、来源和新鲜度。生成文本独立展示,绝不控制注意力排序。Agent 空闲、轮次正常结束和 Todo 完成均不表示 Goal 已完成。
Web UI 通过现有 DSH API 和权限检查支持打开、取消、归档、steering、置顶、稍后提醒、标记已查看、回答待处理交互和显式刷新摘要。
浏览器插件不会为会话数据建立独立网络连接,而是使用 web profile 已配置的 DSH Web Client transport 和 controller service。
可选 brief provider 会通过已配置的 DSH LLM provider 发起一个有界辅助请求。该请求会消耗 token,并可能产生 provider 费用。系统会把准确路由、源序列号、所选事件序列号、耗时、结果和 provider 报告的 token usage 记录为会话元数据。生成摘要不会进入主 Agent 历史,也不会使其 KV cache 失效。
摘要输入可能包含有界的可见 user/assistant 文本、会话标题和 header 事实、Goal 和 Todo 状态、最新轮次结果、活跃工具名称以及上一份已接受摘要。默认排除 reasoning content、凭据、任意文件内容、原始工具参数和原始工具结果。
Beacon 不会直接读取任意 workspace 文件,也不会增加文件系统工具。activity 和 brief service 只读取 Host 进程中的会话日志与现有投影。Agent 执行的所有文件或工具访问仍受已安装 DSH provider、sandbox 和 approval policy 控制。
批准、问题和计划审核响应复用当前 DSH interaction 对象。Beacon 不增加批量批准、自动回答或第二套授权通道。
可拖动活动信标是全局入口。悬停或聚焦预览最多显示 3 个待处理和 3 个运行中会话标题;分离的 Picture-in-Picture 视图最多显示 3 个合并活动行。
Document Picture-in-Picture 必须由用户显式点击触发。不支持的浏览器会隐藏该操作。来源 DSH 标签页必须保持打开和连接;分离窗口只包含有界活动视图,不包含完整工作台。
置顶、稍后提醒、书签、筛选器、信标位置和最后查看值都只存储在浏览器中。它们不会改变会话日志,也不会在浏览器 profile 或设备间同步。
Git dependency 得到的是源码,不是 npm 预构建 package 产物。仓库包含自包含的 prepare 脚本,但 pnpm 10 及更高版本要求用户在 profile 的 pnpm-workspace.yaml 中授权该安装时构建:
allowBuilds:
'@jingzechen/dsh-beacon': true
随后安装固定 commit;如果 pnpm 先要求授权,则授权后重复 add 命令:
dsh plugin --profile web add github:JingzeChen/dsh-beacon#<commit-sha>
allowBuilds 表示允许 package 在安装期间执行代码,应只对可信源码启用。更推荐 npm 分发,因为 npm package 会直接携带预构建的 lib/index.js、lib/client.js、类型声明和 cordis.patch.yml,无需安装时构建。
pnpm install
pnpm run build
pnpm pack
pnpm run build 会生成 Host 代码、带内联 CSS Modules 的 DSH window.__ModuleLoader__ Client bundle,以及 lib/ 下的类型声明。pnpm pack 只包含 package.json 列出的文件。