Skip to content

About

Harness-native multi-view workspace for tasks, agent teams, timelines and raw run evidence

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

DSH RunView

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 保存,重启后不会漂移;示例时间必须替换为实际启用时刻。

Commands

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 包。

产品定位和后续施工边界见 产品、交互与落地方案。

About

Harness-native multi-view workspace for tasks, agent teams, timelines and raw run evidence

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages