前言¶
在 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-replay 由 humblebanana 維護,當前版本 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.json、events.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 / 幻方無官方從屬關係。