用演示教会 Computer Use 智能体。
52.7/100
综合分
144
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:npm 同名包「open-record-replay」归属 marker-inc-korea/open-record-replay,装到的可能不是本插件。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add humblebanana/open-record-replay该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · ui
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 134 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意npm 同名包「open-record-replay」归属 marker-inc-korea/open-record-replay,装到的可能不是本插件
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包open-record-replay @ 0.1.1
✓Node 引擎要求 >=18 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/29 22:39:00
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件
查看扫描证据(共 21 处,展示前 16 条)
- 写入本地文件packages/core-engine/src/store.mjs:27
await mkdir(dir, { recursive: true }); - 写入本地文件packages/core-engine/src/store.mjs:32
await writeFile(file, `${JSON.stringify(value, null, 2)}\n`, "utf8"); - 读取本地文件packages/core-engine/src/store.mjs:36
return JSON.parse(await readFile(file, "utf8")); - 写入本地文件packages/core-engine/src/store.mjs:41
await appendFile(eventsPath, `${JSON.stringify(event)}\n`, "utf8"); - 读取本地文件packages/core-engine/src/store.mjs:45
const raw = await readFile(eventsPath, "utf8"); - 执行外部命令来自配置/变量packages/core-engine/src/store.mjs:116
const recorderProcess = spawn(invocation.command, invocation.args, { - 读取本地文件packages/core-engine/src/store.mjs:166
const latestState = existsSync(sessionStatePath(dir)) ? await readJson(sessionStatePath(dir)) : session; - 读取本地文件packages/core-engine/src/store.mjs:202
if (!manifestPath || !existsSync(manifestPath)) return; - 读取本地文件packages/core-engine/src/store.mjs:226
if (!existsSync(root)) return []; - 读取本地文件packages/core-engine/src/store.mjs:227
const entries = await readdir(root); - 读取本地文件packages/core-engine/src/skillPackage.mjs:56
if (!eventsPath || !existsSync(eventsPath)) { - 读取本地文件packages/core-engine/src/skillPackage.mjs:68
if (existsSync(sourceSessionPath)) { - 写入本地文件packages/core-engine/src/skillPackage.mjs:69
await copyFile(sourceSessionPath, targetSessionPath); - 写入本地文件packages/core-engine/src/skillPackage.mjs:73
await copyFile(eventsPath, targetEventsPath); - 写入本地文件packages/core-engine/src/skillPackage.mjs:74
await writeFile(targetReadmePath, README, "utf8"); - 读取本地文件packages/core-engine/src/skillPackage.mjs:85
session_json: existsSync(sourceSessionPath) ? sourceSessionPath : null,
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
1 张 · 点击查看大图功能亮点
- 捕获鼠标键盘事件
- 生成结构化轨迹
- 回放桌面任务
开源 macOS 录制回放工作流记录器,面向计算机操作智能体,把鼠标、键盘和 UI 事件捕获成结构化轨迹,让智能体能学习、回放并自动化真实桌面任务。
README
由 DeepSeek 最新模型翻译生成Open Record/Replay
用演示教会 Computer Use 智能体。
录制一次 macOS 工作流,保存证据,让智能体把它变成可复用的技能。
Open Record/Replay 是本地优先的 macOS 录制器,专为那些「演示比写下来更容易」的工作流而生。它把用户真实的桌面操作捕捉成结构化产物,比如 session.json 和 events.jsonl,校验录制质量,再把证据打包,交给智能体的技能创建流程。
目标很简单:只要用户能演示一次桌面工作流,智能体就该有足够的证据学会它。
flowchart LR
A["User demonstrates a macOS workflow"] --> B["Open Record/Replay records events"]
B --> C["session.json + events.jsonl"]
C --> D["Validate recording quality"]
D --> E["Prepare skill input package"]
E --> F["Agent creates its own reusable Computer Use skill"]
为什么需要它
有些工作流很难用提示词描述清楚:
- 它们依赖可见的桌面 UI。
- 它们涉及文件选择器、菜单、模态框或拖拽。
展开完整文档(README 剩余 1 节)
Open Record/Replay 用演示教会 Computer Use 智能体。 录制一次 macOS 工作流,保存证据,让智能体把它变成可复用的技能。 Open Record/Replay 是本地优先的 macOS 录制器,专为那些「演示比写下来更容易」的工作流而生。它把用户真实的桌面操作捕捉成结构化产物,比如 session.json 和 events.jsonl,校验录制质量,再把证据打包,交给智能体的技能创建流程。 目标很简单:只要用户能演示一次桌面工作流,智能体就该有足够的证据学会它。 flowchart LR A["User demonstrates a macOS workflow"] --> B["Open Record/Replay records events"] B --> C["session.json + events.jsonl"] C --> D["Validate recording quality"] D --> E["Prepare skill input package"] E --> F["Agent creates its own reusable Computer Use skill"] 为什么需要它 有些工作流很难用提示词描述清楚: - 它们依赖可见的桌面 UI。 - 它们涉及文件选择器、菜单、模态框或拖拽。 - 它们横跨多个应用。 - 它们依赖个人工作区布局或团队特有的约定。 - 从演示里学,比从写好的操作手册里学更容易。 Open Record/Replay 给智能体一条具体的证据流,而不是让它从模糊的描述里猜工作流。 能录什么 Open Record/Replay 可以为下面这些工作流捕捉动作级证据: - 通过桌面聊天应用发送文件或图片。 - 创建文档并分享链接。 - 打开浏览器页面、搜索、播放正确的媒体。 - 在浏览器和桌面应用之间切换。 - 重复某个 UI 流程,而它没有干净的 API 或连接器可用。 录制器可以捕捉: - window.changed - mouse.click - mouse.drag - keyboard.text_input - keyboard.submit - selection.changed - 应用/窗口归属 - UI 目标 - 选中项 - Accessibility tree 或 diff 上下文 events.jsonl 是主要证据。截图不属于当前核心录制路径。 快速演示 这是教智能体一个新桌面工作流的典型流程。 bash git clone https://github.com/humblebanana/open-record-replay.git cd open-record-replay npm install npm run check 检查 macOS 权限: bash node bin/orr.js permissions check 申请缺失的权限: bash node bin/orr.js permissions request 开始录制: bash node bin/orr.js record start --name send-file-demo --out runs --request-permissions 现在在你的 Mac 上演示工作流。例如: 1. 打开桌面聊天应用。 2. 选择收件人或频道。 3. 附加本地文件。 4. 确认上传。 5. 发送一条简短的后续消息。 完成后,停止录制: bash node bin/orr.js record stop latest 校验证据: bash node bin/orr.js session validate-recording latest 准备技能输入包: bash node bin/orr.js skill prepare latest --runs runs --out skill-inputs 包会写入: text skill-inputs/<session-id>/ ├── README.md ├── events.jsonl └── session.json 把这个目录交给当前智能体的技能创建流程。 输出产物 录制输出: text runs/sessions/<session-id>/ ├── session.json ├── events.jsonl ├── orr_session.json └── recording_manifest.json 技能输入包: text skill-inputs/<session-id>/ ├── README.md ├── events.jsonl └── session.json session.json 记录录制边界、时间信息和事件路径。events.jsonl 是演示过程中发生事情的唯一事实来源。 智能体集成 本仓库包含一份宿主指令技能: skills/open-record-replay/SKILL.md 智能体应使用它来判断何时开始录制、何时停止、如何检查 events.jsonl,以及如何把证据包交给自己的技能创建流程。 预期的智能体流程: 1. 检查或申请所需的 macOS 权限。 2. 只在用户准备好时开始录制。 3. 录制开始后,结束当前回合,等待用户完成演示。 4. 用户说演示完成时,停止录制器。 5. 读取 session.json 和 events.jsonl。 6. 校验录制。 7. 准备技能输入包。 8. 使用智能体自己的技能创建系统创建并校验最终技能。 命令行参考 bash node bin/orr.js permissions check node bin/orr.js permissions request node bin/orr.js record start --name my-workflow --out runs --request-permissions node bin/orr.js record stop latest node bin/orr.js session list node bin/orr.js session inspect latest node bin/orr.js session events latest node bin/orr.js session validate-recording latest node bin/orr.js skill prepare latest --runs runs --out skill-inputs 稳定的公开路径是录制、校验和技能输入打包。 环境要求 - macOS。 - Node.js 18+。 - Swift 工具链 / Xcode Command Line Tools。 - 辅助功能权限。 - 输入监控权限。 核心录制器不需要「屏幕录制」权限。 隐私 录制内容默认保存在本地,但 events.jsonl 可能包含敏感数据: - 窗口标题。 - URL。 - 输入的文本。 - 选中的文本。 - 文件名。 - 本地路径。 - 来自 App 和网页的 Accessibility tree 文本。 分享录制内容前先检查一遍。不要发布原始录制内容,如果其中包含密钥、私密文档、客户数据、内部 URL 或个人信息。 参见 Privacy。 状态 Open Record/Replay 目前是 alpha 软件。 当前公开范围: text macOS native recorder + CLI + session.json / events.jsonl + recording validation + skill input package + host-agent skill creation handoff 后续工作可能包括更丰富的适配器,或可选的视觉证据。它们不属于当前稳定的公开路径。 文档 - Installation - Agent Usage - Recording Data Contract - Privacy - Release Checklist - Contributing Open Record/Replay 用来通过一次真实演示,让 Computer Use Agent 学会一个 macOS 桌面工作流。 它会把用户在 Mac 上的真实操作录制成 session.json 和 events.jsonl,检查录制质量,并打包成 Agent 可以读取的 Skill 输入包。最终 Skill 不由 Open Record/Replay 直接生成,而是交给当前 Agent 使用自己的 Skill 创建流程完成。 核心目标很简单:如果用户可以演示一次工作流,Agent 就应该有足够的证据去学习它。 mermaid flowchart LR A["用户演示 macOS 工作流"] --> B["Open Record/Replay 录制事件"] B --> C["session.json + events.jsonl"] C --> D["验证录制质量"] D --> E["打包 Skill 输入"] E --> F["Agent 创建自己的可复用 Computer Use Skill"] 为什么需要它 有些工作流很难直接写成提示词: - 它依赖真实桌面 UI。 - 它涉及文件选择器、菜单、弹窗或拖拽。 - 它横跨多个 App。 - 它依赖个人工作区布局或团队内部习惯。 - 用户演示一次,比写一份很长的操作说明更清楚。 Open Record/Replay 给 Agent 的不是模糊描述,而是一份真实事件证据流。 可以录制什么 典型场景包括: - 在桌面聊天 App 里发送文件或图片。 - 创建文档并分享链接。 - 打开网页、搜索内容并播放指定媒体。 - 在浏览器和桌面 App 之间切换操作。 - 复现一个没有稳定 API 或 connector 的 UI 流程。 录制器可以捕捉: - window.changed - mouse.click - mouse.drag - keyboard.text_input - keyboard.submit - selection.changed - App / 窗口归属 - UI target - 选中文件或文本 - Accessibility tree / diff 上下文 events.jsonl 是最关键的证据。截图不是当前核心录制链路的一部分。 快速演示 安装并检查项目: bash git clone https://github.com/humblebanana/open-record-replay.git cd open-record-replay npm install npm run check 检查 macOS 权限: bash node bin/orr.js permissions check 请求缺失权限: bash node bin/orr.js permissions request 开始录制: bash node bin/orr.js record start --name send-file-demo --out runs --request-permissions 然后在 Mac 上演示你的工作流。比如: 1. 打开一个桌面聊天 App。 2. 选择联系人或群聊。 3. 附加一个本地文件。 4. 确认上传。 5. 发送一条补充消息。 完成后停止录制: bash node bin/orr.js record stop latest 验证录制质量: bash node bin/orr.js session validate-recording latest 准备 Skill 输入包: bash node bin/orr.js skill prepare latest --runs runs --out skill-inputs 产物会写入: text skill-inputs/<session-id>/ ├── README.md ├── events.jsonl └── session.json 把这个目录交给当前 Agent 的 Skill 创建流程即可。 产物结构 录制输出: runs/sessions/<session-id>/ ├── session.json ├── events.jsonl ├── orr_session.json └── recording_manifest.json Skill 输入包: skill-inputs/<session-id>/ ├── README.md ├── events.jsonl └── session.json session.json 记录录制边界、时间和事件路径。events.jsonl 是判断用户到底做了什么的 source of truth。 Agent 如何接入 仓库里包含一个给 Agent 使用的说明 Skill: skills/open-record-replay/SKILL.md Agent 应该通过它理解什么时候开始录制、什么时候停止、如何读取 events.jsonl,以及如何把证据包交给自己的 Skill 创建流程。 推荐流程: 1. 检查或请求必要的 macOS 权限。 2. 只在用户准备好时开始录制。 3. 录制开始后,Agent 停止当前回合,等待用户演示完成。 4. 用户说完成后,Agent 停止录制。 5. 读取 session.json 和 events.jsonl。 6. 验证录制质量。 7. 准备 Skill 输入包。 8. 使用当前 Agent 自己的 Skill 创建系统生成并验证最终 Skill。 CLI 命令 node bin/orr.js permissions check node bin/orr.js permissions request node bin/orr.js record start --name my-workflow --out runs --request-permissions node bin/orr.js record stop latest node bin/orr.js session list node bin/orr.js session inspect latest node bin/orr.js session events latest node bin/orr.js session validate-recording latest node bin/orr.js skill prepare latest --runs runs --out skill-inputs 当前稳定公开路径是:录制、验证、打包 Skill 输入。 环境要求 - macOS。 - Node.js 18+。 - Swift toolchain / Xcode Command Line Tools。 - Accessibility 权限。 - Input Monitoring 权限。 核心录制器不需要 Screen Recording 权限。 隐私 录制默认保存在本地,但 events.jsonl 可能包含敏感信息: - 窗口标题。 - URL。 - 输入文本。 - 选中文本。 - 文件名。 - 本地路径。 - App 和网页里的 Accessibility tree 文本。 分享录制前必须先检查内容。不要公开包含密钥、私有文档、客户数据、内部 URL 或个人信息的原始录制。 详见 Privacy。 项目状态 Open Record/Replay 目前是 alpha 版本。 当前公开范围: macOS 原生录制器 + CLI + session.json / events.jsonl + 录制质量验证 + Skill 输入包 + 交给宿主 Agent 创建最终 Skill 未来可能会增加更丰富的适配器或可选视觉证据,但这些不是当前稳定公开路径。 文档 - 安装说明 - Agent 使用说明 - 录制数据契约 - 隐私说明 - 发布检查清单 - 贡献指南
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
humblebanana/open-record-replay
用演示教会 Computer Use 智能体。
相关插件 · 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,344已汉化DSH
71.5
终端编码代理esengine/DeepSeek-Reasonix
· 指南 · ACP · 扩展开发 · 规格 · 官方网站 · Discord · QQ
★ 36,045已汉化DSH
71.2
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,202已汉化DSH
71.1