查看编码智能体并行执行与交接进度
30.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add K-kiron/runward该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
本地运维台,管理编码智能体、执行时间线和交接。
README
由 DeepSeek 最新模型翻译生成Runward
给编码智能体用的本地操作台。看清谁在干活、查看并行执行情况、跟踪运行记录,别让交接信息弄丢。
独立版 Runward 服务器跑在你自己的机器上,需要 Node.js 22+,无运行时依赖。它在回环地址上提供浏览器界面,把实时状态存在本地,不发起任何对外请求。演示数据是合成的,并且有明确标注。
Runward 演示:智能体活动泳道、运行结果、待处理请求和交接
试一试
git clone https://github.com/K-kiron/runward.git
cd runward
npm run demo
打开 http://127.0.0.1:4317,点 Connect。终端会分别打印读取 token 和操作 token。用读取 token 查看活动,用操作 token 协调交接、处理待办事项。两者都需要认证。只有协调操作才需要操作员别名;别名是你自己填的标签,不是经过认证的身份。演示中的改动只存在内存里,重启即重置。
想开一个空的实时域:
npm start -- --domain personal --environment laptop
实时模式必须显式指定域和环境,或者提供配置文件。本例中状态会持久化到 ~/.runward/domains/personal/laptop/state.json。
展开完整文档(README 剩余 1 节)
Runward
给编码智能体用的本地操作台。看清谁在干活、查看并行执行情况、跟踪运行记录,别让交接信息弄丢。
独立版 Runward 服务器跑在你自己的机器上,需要 Node.js 22+,无运行时依赖。它在回环地址上提供浏览器界面,把实时状态存在本地,不发起任何对外请求。演示数据是合成的,并且有明确标注。
Runward 演示:智能体活动泳道、运行结果、待处理请求和交接
试一试
git clone https://github.com/K-kiron/runward.git
cd runward
npm run demo
打开 http://127.0.0.1:4317,点 Connect。终端会分别打印读取 token 和操作 token。用读取 token 查看活动,用操作 token 协调交接、处理待办事项。两者都需要认证。只有协调操作才需要操作员别名;别名是你自己填的标签,不是经过认证的身份。演示中的改动只存在内存里,重启即重置。
想开一个空的实时域:
npm start -- --domain personal --environment laptop
实时模式必须显式指定域和环境,或者提供配置文件。本例中状态会持久化到 ~/.runward/domains/personal/laptop/state.json。用 --data 换一个文件,用 --port 换端口。每个域/环境只保留一个进程和一个状态文件。旧的 ~/.runward/state.json 会保留下来,但永远不会被隐式加载;参见迁移与隔离。
能做什么
- 按项目、服务商、状态过滤,计数一致,并显示数据新鲜度。
- 共享时钟瀑布泳道,能看到重叠、空闲间隙和未结束的区间。点一段就能看它的时间戳、时长和详情。
- 控制台视图和按时间排序的事件视图;运行结果带检查项计数和失败详情。
- 待办事项需要显式处理;交接支持认领、释放、完成三种状态流转。
- 通过服务器发送事件推送实时更新,支持重连,状态过期时有提示。
- 可导入 Codex、Claude Code、DSH(DeepSeek Harness)、OpenCode、OpenHands、Gemini CLI 的选定文件转录,另有与服务商无关的事件 API。
认领只是协调记录。它不会启动智能体、发送提示词、批准工具调用,也不会执行终端命令。控制台内容只读。服务商名称只用来标识数据来源,不代表任何隶属关系。
OpenHands Agent Canvas 应用
可选的 Canvas 应用会在 OpenHands Agent Canvas 里加一个只读的 Runward 页面。从这个仓库安装,Repo path 填 apps/openhands,revision 选包含该应用的版本。它通过 Canvas 自带的、经过认证的 Agent Server HTTP helper 读取选中的会话;不需要单独跑 Runward 服务器,也不用手动填 API key。
App 面向受支持的本地后端上的 beta host API 1。不支持 OpenHands Cloud 后端。时区信息缺失的事件保持无时间,除非你显式提供服务器固定的 UTC 偏移。参见安装、信任模型、计时规则与验证限制。
连接真实会话
为一个数据访问域挑选具体的 transcript 文件;Runward 从不扫描你的主目录,不发现服务商登录信息,也不修改服务商设置。
node cli.mjs --domain personal --environment laptop --watch "codex=/absolute/path/rollout.jsonl"
node cli.mjs --domain company --environment work-vm --port 4318 --watch "claude=/absolute/path/session.jsonl"
这些是独立进程,各有独立的存储与凭据。在各自预期的环境中运行。同一台电脑上的不同端口不会构成操作系统安全边界。只有当多个来源可以把全部原始数据共享给同一批读者时,才合并 --watch 选项。
如需显式来源名、身份断言与代次变更,保存一份配置,例如 personal.json:
{
"domain": { "id": "personal", "environmentId": "laptop" },
"sources": [
{
"id": "editor-session",
"provider": "codex",
"toolInstanceId": "cli-profile-a",
"generation": 1,
"identity": "identity-a",
"path": "./logs/rollout.jsonl"
}
]
}
node cli.mjs --config personal.json
路径相对于配置文件解析。身份别名可选,是不透明的操作者断言;省略的身份保持未知。项目名、配置目录或别名都不能证明某条记录由哪个账号产生。Runward 自己生成文件绑定;不要手工把 fileIdentity 复制进配置。
选中的文件每两秒轮询一次。运行期间,替换、截断、链接重定向或改写已读字节都会暂停该来源。这同样影响就地改写的合法导出:请使用经过审查的新代次。跨重启时会检查文件身份,但进程停止期间发生的同 inode 内容改写不会被进程内的追加守卫发现。参见来源生命周期与限制。
六个读取器支持 Codex、Claude Code、DSH、OpenCode、OpenHands 和 Gemini CLI。DSH Zstandard 日志需要 Node.js 22.15+ 且支持 Zstandard。支持的格式与计时限制参见适配器覆盖范围与捕获命令。
对于你自己的智能体或 runner,使用事件 API 提交显式事件:
Supply the enrolled source's token through RUNWARD_INGEST_TOKEN first.
node cli.mjs ingest examples/events.json
读、操作、源摄取这三类 token 是彼此独立的能力。启动时,RUNWARD_READ_TOKEN 和 RUNWARD_TOKEN 可以复用此前签发且匹配的读 token 与操作 token。摄取命令使用 RUNWARD_INGEST_TOKEN,它必须匹配已登记的源/代次。token 绑定各自的域/环境和角色;摄取还额外绑定源。绝不要把 token 放进 URL、配置文件、提交或截图。
浏览器用读/操作根 token 换取一个可撤销的会话,最长持续八小时,随后丢弃根 token。浏览器只在标签页内存里保留该会话,不使用凭据 cookie,也不写入浏览器存储。锁定会清空已加载的活动、过滤器、检查器内容和待处理响应,关闭流,并请求撤销会话。
数据与信任
Runward 只绑定 127.0.0.1。主机检查和浏览器来源检查会拒绝外部站点。所有数据读取,包括快照和 SSE,都需要 bearer 授权;只有不敏感的健康检查响应是公开的。读 token 授予整个域的快照访问权。项目/服务商过滤器只用来整理已授权的数据,不是访问控制。
独立的已认证域实例实现了 issue #3 中描述的 P0 隔离边界。P1 合并元数据总览尚未发布。目前没有跨域共享的原始数据查看器,也没有服务商凭据代理。部署、token 角色、显式迁移、清除和服务商场景见隔离指南。
对话记录文本、工具参数和工具结果可能包含机密。Runward 不会对它们做脱敏,也不会在应用层加密。以同一 OS 用户身份运行的无限制进程、管理员,或被攻陷的可信浏览器,仍能访问数据或凭据。要实现强隔离(个人或公司),需要强制 OS 用户、沙箱或 VM 边界,并配置合适的文件权限。Runward 不会自动修改 Windows ACL。它不发起任何出站请求,不使用遥测、CDN、外部字体或托管 API,也不应通过公网隧道暴露。
状态写入串行执行,并在刷写临时文件后原子替换。规范的状态文件锁可防止并发写入。无效批次不会部分生效;损坏、不匹配或未迁移的旧状态会阻止启动,而不是被覆盖。持久化的域存储上限为 8 MiB,记录保留数量有上限。移除监视器不会删除历史:请使用显式的源清除。原始对话记录和备份不在该清除范围内。
范围与来源
本文是基于智能体仪表盘两张截图中可见的功能集所做的独立实现。其布局、代码、示例数据和事件协议均为原创。没有获得原始可执行文件、Web 应用、源代码或流量抓包。截图分析只能确定可见功能,无法确定内部行为或协议兼容性。Runward 不声称与该仪表盘兼容。
转录适配器以尽力而为的方式读取有文档记录或常见的记录结构。已完成条目的耗时使用生产者显式提供的时间戳;较旧的格式回退到日志记录边界。缺失的指标保持未知。对话结束并不自动等于验证运行通过。重新导入 0.1.0 版本创建的状态之前,请先阅读适配器覆盖范围与升级说明。
开发
npm test
npm run check
测试覆盖状态校验、域/源命名空间、token 角色、浏览器会话竞态与吊销、迁移与清除、文件登记、并发认领、持久化失败、流式传输,以及合成转录解析。CI 矩阵在 Windows 和 Linux 上运行,使用 Node.js 22 和 24。合成隔离测试不证明服务商登录行为,也不证明已部署机器的操作系统权限。
参见 CONTRIBUTING.md。基于 MIT 许可发布。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
K-kiron/runward
查看编码智能体并行执行与交接进度
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,350已汉化DSH
71.5
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,506已汉化DSH
71.1
AI 矢量设计工具ZSeven-W/openpencil
全球首个 AI 原生开源矢量设计工具。
★ 7,027已汉化DSH
71.1
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。