dsh-record-replay:把 macOS 桌面操作演示錄成 Agent Skill

前言

在 DeepSeek Harness(DSH)裏給智能體加「會用電腦」的能力,常見做法是手寫 Skill 文檔、逐步描述點擊路徑和快捷鍵。用戶在 macOS 上實際演示一遍工作流,往往比文字描述更準,但演示本身不會自動變成 Harness 能調用的 Skill。

humblebanana/dsh-record-replay 是社區維護的工作流類插件(SkillHub 分類:工作流,GitHub 10 stars)。它把 Open Record/Replay 這套 macOS 錄製器接入 DSH,註冊 open-record-replay skill 和六個面向模型的 orr_* 工具,讓 Agent 能錄製用戶演示、校驗證據,並打包給宿主 Skill Creator。

這是什麼

dsh-record-replayhumblebanana 維護,當前版本 v0.2.0,MIT 許可證。插件本身不實現底層錄製,而是調用本地 open-record-replay 倉庫裏的 bin/orr.js,把錄製會話和事件流暴露爲 Harness 工具。

整條鏈路如下:

user demonstrates a workflow
  -> orr_record_start            (capture session.json + events.jsonl)
  -> orr_record_stop             (finalize)
  -> orr_session_validate        (check the evidence against the contract)
  -> orr_session_events          (read what the user actually did)
  -> orr_skill_prepare           (package a skill-input directory)
  -> host skill creator

核心功能

Skill 與工具

插件註冊 open-record-replay skill,並提供以下 orr_* 工具:

工具 CLI 映射 作用
orr_permissions_check permissions check 錄製前檢查 Accessibility / Input Monitoring 權限
orr_record_start record start 開始捕獲用戶演示
orr_record_stop record stop 結束並落盤會話
orr_session_events session events 讀取 events.jsonl 證據流,可通過 limit 限制條數
orr_session_validate session validate-recording 按官方契約校驗錄製結果
orr_skill_prepare skill prepare 爲宿主 Skill Creator 打包 skill-input 目錄
orr_skill_create —(內置) 無宿主 Skill Creator 時的回退:按 Anthropic skills spec 從錄製會話生成 SKILL.md 骨架,並安裝到 ~/.agents/skills/<name>/

CLI 以會話工作區爲當前目錄運行,錄製產物和 skill 包會落在 Agent 文件系統工具可讀的位置。

運行環境要求

  • macOS(錄製後端爲 Swift,需 Xcode Command Line Tools)
  • Node.js >= 22.19(Harness 運行時)
  • 已安裝 DeepSeek Harness
  • 本地 checkout 一份 open-record-replay,供插件調用其 bin/orr.js

安裝與啓用

先做構建,再把包加入 profile:

git clone https://github.com/<you>/dsh-record-replay.git
cd dsh-record-replay
pnpm install
pnpm build
pnpm pack                      # produces dsh-record-replay-0.1.0.tgz
dsh plugin --profile web add ./dsh-record-replay-0.1.0.tgz

dsh plugin add 會把包寫入 profile 的 package.json 依賴和 dsh.profile.bundles,Harness 會修復 profiles/node_modules 回退路徑以便解析 bundle。

插件隨附 cordis.patch.yml 掛載一行中性配置。在 profile 的 cordis.patch.yml 裏覆蓋 repoRoot,指向你的 open-record-replay 路徑:

- id: record-replay
  config:
    repoRoot: '/absolute/path/to/open-record-replay'
    runsOut: 'runs'
    skillInputsOut: 'skill-inputs'

profile patch 支持熱加載,運行中的 GUI 一般無需重啓即可識別;若不在 live profile 上,需重啓 Harness。

配置項

Key 默認值 含義
cliPath 環境變量 ORR_CLI_PATH bin/orr.js 的顯式路徑,優先於 repoRoot
repoRoot 環境變量 ORR_REPO_ROOT open-record-replay 倉庫根目錄,CLI 爲 <repoRoot>/bin/orr.js
runsOut runs 相對工作區的錄製目錄
skillInputsOut skill-inputs 相對工作區的 skill-input 包目錄

典型用法

下面是一條可復現的 Agent 側流程。

1、錄製前檢查權限:

orr_permissions_check

2、用戶開始演示後啓動錄製,演示結束再停止:

orr_record_start
# 用戶在 macOS 上完成操作演示
orr_record_stop

3、校驗錄製並按需讀取事件:

orr_session_validate
orr_session_events

4、打包 skill-input,交給宿主 Skill Creator;若無原生創建器,可用內置回退:

orr_skill_prepare
# 或
orr_skill_create

經過上面的步驟,一次桌面演示會落成 session.jsonevents.jsonl 和 skill-input 目錄,供後續 Skill 生成與安裝。

適用場景與注意

適合誰: 在 macOS 上用 DSH 做 computer-use 或工作流自動化的開發者;需要把「我做給你看」轉成可複用 Skill 的場景。

平臺限制: 僅支持 macOS,且依賴本機 open-record-replay 與系統輔助功能、輸入監控權限。

安全與信任: 插件以當前 DSH 進程權限運行,會調用本地 CLI 讀寫工作區文件。安裝前請閱讀 GitHub 源碼 與 MIT 許可證,確認 repoRoot 指向可信的 open-record-replay checkout。

DSH 生態遵循「一切皆插件」;SkillHub 是獨立社區目錄,與 DeepSeek / 幻方無官方從屬關係。

鏈接

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜