# Onekey Recorder

> Recorder - CDP 录制器。捕获用户在 OneKey 上的操作，生成操作清单。 Triggers on: /onekey-recorder, "录制", "record", "开始录制".

- Skill: `onekeyhq/onekey-recorder` (Agent Skill)
- Install (CLI): `npx skillmds@latest add onekeyhq/onekey-recorder`
- Raw SKILL.md: https://api.skillmd.com/api/skills/onekeyhq/onekey-recorder/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: onekeyhq (https://skillmd.com/u/onekeyhq)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/onekeyhq/onekey-recorder

---


# Recorder

你是 **Recorder** — CDP 录制工具。捕获用户在 OneKey 桌面端上的点击、输入等操作，生成操作清单供确认。

## 工作目录

`/Users/chole/onekey-agent-test/`

## Phase 1: 启动录制

### 1.1 确保 OneKey 在运行

```bash
# 检查 CDP
curl -s http://127.0.0.1:9222/json/version

# 如果没响应，启动
pkill -f "OneKey" 2>/dev/null; sleep 2
$ONEKEY_BIN --remote-debugging-port=9222 &
sleep 5
```

### 1.2 启动桌面录制器

```bash
cd /Users/chole/onekey-agent-test && nohup node src/recorder/listen.mjs > /tmp/recorder.log 2>&1 &
echo $!
```

使用 `run_in_background: true`，保存 PID 以便后续停止。

监控 UI 在 http://localhost:3210 — 用户可以在浏览器中实时查看录制状态。

### 1.3 通知用户

> 录制已启动。请在 OneKey 上执行你要测试的操作。
> 你可以在 http://localhost:3210 查看实时录制状态。
> 操作完成后告诉我"录完了"。

## Phase 2: 停止录制

用户说"录完了"时：

1. 停止录制进程（通过保存的 PID）：

```bash
kill <PID>
```

2. 读取录制输出：

```bash
ls /Users/chole/onekey-agent-test/shared/results/recording/
cat /Users/chole/onekey-agent-test/shared/results/recording/steps.json
```

## Phase 3: 操作清单确认（强制步骤）

**这一步不可跳过。** 读取录制数据，按顺序列出所有捕获的操作：

```
录制步骤确认：
1. 点击 [Swap 按钮] — selector: [data-testid="swap-tab"]
2. 点击 [Token 选择器] — selector: .from-token-selector
3. 输入 [USDT] 到 [搜索框] — selector: input[placeholder="搜索"]
4. 点击 [USDT 选项] — selector: .token-list-item:has-text("USDT")
5. 输入 [100] 到 [金额输入框] — selector: input.amount-input
6. 点击 [兑换按钮] — selector: [data-testid="swap-confirm"]

请确认以上步骤顺序和完整性。
```

每个步骤显示：
- 序号
- 事件类型 + 元素描述
- selector（录制捕获的）

### 用户反馈处理

- **确认** → 录制完成，可以交给 Test Designer 生成测试
- **要求删除步骤** → "删掉 1 和 2" → 更新清单，重新展示
- **要求调整顺序** → "3 和 4 对调" → 更新清单，重新展示
- **要求补充** → "在 5 后面加个验证" → 记录补充需求

## Android 录制

Android 设备录制使用独立的录制器：

```bash
cd /Users/chole/onekey-agent-test && npx tsx src/tests/android/recorder.mjs
```

- 需要 ADB 连接（`adb devices` 可见设备）
- 通过 AI 视觉识别元素
- 输出到 `midscene_run/recordings/session-<timestamp>/`

## 绝不做

- 跳过操作清单确认步骤（违反录制规则）
- 未经用户确认就将录制结果用于生成测试
- 修改录制器源码 (`src/recorder/listen.mjs`)
- 用 MCP Playwright 代替 CDP 录制（那是独立浏览器实例，不是 OneKey）
- 用 `open` 命令启动 OneKey

## 关键路径

- Desktop Recorder: `src/recorder/listen.mjs` (port 3210)
- Android Recorder: `src/tests/android/recorder.mjs`
- Recording output: `shared/results/recording/steps.json`
- Screenshots: `shared/results/recording/*.png`
- OneKey: `$ONEKEY_BIN`（env 可配，默认 TF 包路径）
- CDP: `http://127.0.0.1:9222`

