🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

桌面操作录制器 humblebanana/open-record-replay

DeepSeek Harnessv0.1.1
humblebanana134 天前有提交已提供中文文档扫描:含敏感能力

用演示教会 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
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 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
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件
查看扫描证据(共 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 使用说明
- 录制数据契约
- 隐私说明
- 发布检查清单
- 贡献指南
预览分享卡片长什么样 ↓humblebanana/open-record-replay
分享 · DeepSeek Harness Hub
humblebanana/open-record-replay

用演示教会 Computer Use 智能体。

回到顶部