RunView 是 DeepSeek Harness 的开源运行可视化插件。它把任务对话、主控运行、 子代理目录、工具调用和原始记录整理成同一份可追溯 Projection,再通过总览、 流程图、时间线和运行记录四种视图呈现。
当前版本已实现 A+B+F 三个入口:
- 会话顶部的 RunView 状态摘要。
- 有真实工具调用时出现的消息内运行卡。
- 嵌入当前会话的完整 RunView TAB。
RunView 从 Harness 0.1.1-rc.2 的官方 Session、Session Persistence、
SubAgent 和 Jobs 服务读取事实。浏览器通过官方 Typert Remote 读取 RunView
Host Envelope,不再从页面节点推断 WorkItem、Run 或 Team。浏览与诊断只读;
候选生成会调用用户所选模型,启动或取消子代理只能在预览后由用户在 RunView
界面显式触发。RunView 不改写 Harness 原始对话与 Session,也不建立第二套
Runtime、任务区、Session、模型客户端或凭证系统。当前支持矩阵只覆盖 Harness
0.1.1-rc.2;其他 Harness 版本需要先通过兼容性回归。
experience、advanced 和 professional 是信息密度设置,不是权限。三个档位
使用同一份数据,均可下钻到原始记录。
- 读取:RunView 读取官方 Harness Session、Session Persistence、SubAgent 和 Jobs 的事实。RunView 不读取其他插件的内部数据库、缓存或私有状态。
- 本地写入:RunView 只写自己的 Settings namespace、Event cache、Task ledger、 Action ledger 和 Team Batch ledger。RunView 不改写 Harness 对话、Session 或官方 原始事件。
- 模型调用:读取和浏览视图不会自动调用模型。AI 候选生成必须先在 RunView 设置中 启用并选择模型,再由用户显式发起生成。
- 子代理与团队:预览、参数确认和用户显式启动之后,RunView 才调用官方 Child/Team 能力。取消也必须由用户显式触发;RunView 不在后台自行调度或取消官方运行。
- Remote 边界:上述“显式确认”是 RunView 官方 UI 的交互约束。直接调用 Typert mutation Remote 属于受信调用方能力,调用方必须自行承担授权与确认责任。
- 卸载:移除插件只移除 profile 的插件依赖和配置层,默认保留 RunView 自己的本地 Storage Domain 数据。重新安装同一 profile 后,RunView 会按来源和版本校验并尝试 恢复;不兼容数据只允许降级为 partial/rebuild,不静默清空。
- 单人运行:没有正式 TeamRound 时只显示工程链路,不显示成员列表。
- Child Session:显示官方 Session 血缘;仅运行期发现的 Child 标记为临时数据, 不冒充正式 Team。
- Team:只有正式编排凭证形成 TeamRound 后才显示团队轮次,不按 Child 数量推断。
- 普通回答:没有工具调用时不插入运行卡,避免把聊天伪装成工程任务。
- 历史分页:浏览器 Snapshot 默认只带最近事件摘要,并明确标记为部分覆盖;完整记录 通过 Host cursor 分页读取。
- 数据错误:Host 更新失败时保留上次成功结果,并明确显示「更新失败」,不伪装成最新数据。
默认 sessionHistoryMode: new-only 只读取本次 Host 启动后创建的新会话。需要让这个
分界线跨重启保持不变时,在 profile 的 dsh-runview 配置中设置持久分界线:
- id: dsh-runview
config:
sessionHistoryMode: new-only
admittedAfter: '2026-08-24T00:00:00.000Z'new-only 模式会在任何缓存恢复、历史读取、子会话扫描之前检查官方 Session 的
createdAt。分界线之前或缺少有效创建时间的会话不会被读取,只显示明确的旧会话提示。
分界线由 profile 保存,重启后不会漂移;示例时间必须替换为实际启用时刻。
pnpm install
pnpm test
pnpm check
pnpm build安装到 Web profile:
# 已发布包:
dsh plugin --profile web add @dsh-external/dsh-runview
# 本地开发:在 RunView 仓库根目录执行,使用相对 link,不写入本机绝对路径。
dsh plugin --profile web add link:.
# 未发布包:先在仓库根目录运行 pnpm pack,再安装生成的 tgz。
dsh plugin --profile web add ./dsh-external-dsh-runview-<version>.tgz当前 npm registry 尚未提供 @dsh-external/dsh-runview;公开安装命令需在包发布后使用。
升级和卸载由 DSH profile 的 pnpm 转发器执行:
dsh plugin --profile web update @dsh-external/dsh-runview
dsh plugin --profile web remove @dsh-external/dsh-runview卸载不会自动删除 RunView 本地账本和缓存。清理数据必须由维护者提供并明确执行的 Storage Domain 清理流程完成。
prepack 会先重建 lib,再检查公开入口、v1/v1.0/v1.1 schema、bundle patch、
构建产物和路径安全。公开发布前还需要在临时 DSH_HOME 中用生成的 tgz 完成安装、
升级、降级、卸载和重装验证。详细支持矩阵见
K13 发布矩阵。
prepublishOnly 还会先用 git ls-remote 核对 package.json 声明的 GitHub 仓库。
仓库不存在、不可达或没有 HEAD 时必须拒绝发布,不允许回退为只发 npm 包。
产品定位和后续施工边界见 产品、交互与落地方案。