Foreword

In DeepSeek Harness (DSH), giving agents the ability to “use a computer” commonly involves writing Skill documents by hand, step-by-step describing click paths and shortcuts. Having the user actually demonstrate a workflow on macOS is often more accurate than textual descriptions, but the demonstration itself doesn’t automatically become a callable Skill for the Harness.

humblebanana/dsh-record-replay is a community-maintained workflow-type plugin (SkillHub category: Workflow, GitHub 10 stars). It integrates the Open Record/Replay macOS recorder into DSH, registering the open-record-replay skill and six model-facing orr_* tools. This allows agents to record user demonstrations, validate evidence, and package it for the host Skill Creator.

What This Is

dsh-record-replay is maintained by humblebanana, current version v0.2.0, MIT license. The plugin itself does not implement the underlying recording but calls the local bin/orr.js from the open-record-replay repository, exposing the recording session and event stream as Harness tools.

The entire chain is as follows:

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

Core Functionality

Skill and Tools

The plugin registers the open-record-replay skill and provides the following orr_* tools:

Tool CLI Mapping Function
orr_permissions_check permissions check Check Accessibility / Input Monitoring permissions before recording
orr_record_start record start Start capturing user demonstration
orr_record_stop record stop End and finalize the session to disk
orr_session_events session events Read the events.jsonl evidence stream; number of entries can be limited via limit
orr_session_validate session validate-recording Validate the recording result against the official contract
orr_skill_prepare skill prepare Package a skill-input directory for the host Skill Creator
orr_skill_create — (built-in) Fallback when no host Skill Creator exists: generates a SKILL.md skeleton from the recording session per the Anthropic skills spec and installs it to ~/.agents/skills/<name>/

The CLI runs with the session workspace as the current directory, and the recording artifacts and skill package land in a location readable by the agent’s file system tools.

Runtime Requirements

  • macOS (recording backend is Swift, requires Xcode Command Line Tools)
  • Node.js >= 22.19 (Harness runtime)
  • DeepSeek Harness installed
  • A local checkout of open-record-replay for the plugin to call its bin/orr.js

Installation and Enabling

First build, then add the package to the 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 writes the package into the profile’s package.json dependencies and dsh.profile.bundles, and the Harness fixes the profiles/node_modules fallback path to resolve the bundle.

The plugin comes with a cordis.patch.yml that mounts a neutral configuration line. Override repoRoot in the profile’s cordis.patch.yml to point to your open-record-replay path:

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

Profile patches support hot loading; the running GUI generally recognizes changes without restart. If not on a live profile, you need to restart the Harness.

Configuration Options

Key Default Meaning
cliPath Environment variable ORR_CLI_PATH Explicit path to bin/orr.js, takes precedence over repoRoot
repoRoot Environment variable ORR_REPO_ROOT Root directory of the open-record-replay repository; CLI is <repoRoot>/bin/orr.js
runsOut runs Recording directory relative to the workspace
skillInputsOut skill-inputs skill-input package directory relative to the workspace

Typical Usage

Below is a reproducible agent-side flow.

  1. Check permissions before recording:
orr_permissions_check
  1. Start recording after the user begins demonstration, stop after demonstration ends:
orr_record_start
# User completes operation demonstration on macOS
orr_record_stop
  1. Validate the recording and read events as needed:
orr_session_validate
orr_session_events
  1. Package the skill-input and hand it to the host Skill Creator; if no native creator exists, use the built-in fallback:
orr_skill_prepare
# or
orr_skill_create

After the above steps, a desktop demonstration produces session.json, events.jsonl, and a skill-input directory, ready for subsequent Skill generation and installation.

Use Cases and Notes

Who It’s For: Developers using DSH on macOS for computer-use or workflow automation; scenarios where turning “let me show you” into a reusable Skill is needed.

Platform Limitation: Supports macOS only, and depends on the local open-record-replay and system Accessibility and Input Monitoring permissions.

Security and Trust: The plugin runs with the current DSH process permissions and calls the local CLI to read/write workspace files. Before installation, please read the GitHub source code and MIT license to confirm repoRoot points to a trusted open-record-replay checkout.

The DSH ecosystem follows “everything is a plugin”; SkillHub is an independent community directory with no official affiliation to DeepSeek / High-Flyer.

Links