Object Invocation Protocol · protocol specification

OIP system: Mac — local shell + files

#oip#object-invocation-protocol#protocol-specification#machine-native-json#system

Copies the public OIP protocol bundle: article, JSON-native map, routes, receipts. No owner token.

§SELF — protocol specification
## §SELF — OIP protocol specification

**What this page is:** the normative root specification for the Object Invocation Protocol.

**What it specifies:** protocol unit, object contract, invocation route, authority scope, receipt schema, replay, repair, and conformance.

**Read:** https://miscsubjects.com/a/oip-system-local
**Machine bundle:** https://miscsubjects.com/api/articles/oip-system-local/bundle?format=markdown
**Live object tree:** https://miscsubjects.com/api/dispatch?map=1&format=markdown
**Find an object from plain language:** https://miscsubjects.com/api/dispatch?ask=<what you want>
**Read one object:** https://miscsubjects.com/api/dispatch?key=<KEY>&format=markdown

**Proof rule:** an action is not proven by intent, description, or a 200. It is proven by the ledger and the OIP receipt for the invocation.

Mac — local shell + files

A generated article for one OIP shelf. It lists every operation in this API/CLI/MCP/device/model/core subsystem, links each leaf article, and gives the ledger path for proof.

This page is the operating article for one build subsystem. It is generated from live directory rows. If a task belongs to this subsystem, scan the operations below, open the matching capability article, run only the exact object named there, and verify by receipt.

Kind: device. Capabilities: 40. Machine system map: /api/dispatch?map=LOCAL&format=markdown. Root: /a/oip.

Operations

LOCAL_CAFFEINATE

Keep Mac awake for N seconds (caffeinate -dimsu). Use when: "keep my mac awake", "caffeinate for N seconds", "don't let my mac sleep" Arguments: seconds. Human article: /a/oip-capability-local-caffeinate. Machine doc: ?key=LOCAL_CAFFEINATE&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_CAFFEINATE.

LOCAL_CLIPBOARD_GET

Read the Mac's clipboard (pbpaste). Use when: "what's on my clipboard", "read my clipboard", "clipboard contents" Arguments: (none). Human article: /a/oip-capability-local-clipboard-get. Machine doc: ?key=LOCAL_CLIPBOARD_GET&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_CLIPBOARD_GET.

LOCAL_CLIPBOARD_SET

Put text on the Mac's clipboard (pbcopy). Use when: "copy X to my clipboard", "put X on my clipboard", "set my clipboard to" Arguments: the text. Human article: /a/oip-capability-local-clipboard-set. Machine doc: ?key=LOCAL_CLIPBOARD_SET&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_CLIPBOARD_SET.

LOCAL_DOWNLOAD

Download a URL to a local path on the Mac. Use when: "download X to my mac", "curl X to", "grab this URL to disk" Arguments: url | path. Human article: /a/oip-capability-local-download. Machine doc: ?key=LOCAL_DOWNLOAD&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_DOWNLOAD.

LOCAL_EDIT

Exact-string replace in a file (python str.replace, all occurrences). Prints count. Use when: "edit X in <file>", "replace X with Y in <file>", "change <pattern> to <pattern> in" Arguments: path | old | new. Human article: /a/oip-capability-local-edit. Machine doc: ?key=LOCAL_EDIT&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_EDIT.

LOCAL_EXEC

Run a shell command on Cyrus Mac. Use when: any file operation, git command, system check, or script execution. Arguments: $1 = the shell command (pipes, &&, redirects allowed).. Human article: /a/oip-capability-local-exec. Machine doc: ?key=LOCAL_EXEC&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_EXEC.

LOCAL_GREP

ripgrep on the Mac with line numbers (50 hits per file max). Use when: "grep for X in", "find where X is in", "search <pattern> in <path>" Arguments: pattern | path. Human article: /a/oip-capability-local-grep. Machine doc: ?key=LOCAL_GREP&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_GREP.

LOCAL_HEALTH

Bridge liveness {ok, ts, installed_cli, deny_globs, ...}. Use when: "is the bridge alive", "is my mac reachable", "what's installed on my mac", "bridge health" Arguments: (none). Human article: /a/oip-capability-local-health. Machine doc: ?key=LOCAL_HEALTH&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_HEALTH.

LOCAL_LAUNCHD

launchctl on the Mac. Inspect/restart launch agents. Use when: "restart the bridge", "launchctl X", "kickstart <service>" Arguments: launchctl arguments. Human article: /a/oip-capability-local-launchd. Machine doc: ?key=LOCAL_LAUNCHD&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_LAUNCHD.

LOCAL_LIST

ls -la a path on the Mac. Use when: "list <dir>", "what's in <dir>", "ls <path>" Arguments: path (empty = home). Human article: /a/oip-capability-local-list. Machine doc: ?key=LOCAL_LIST&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_LIST.

LOCAL_OCR

OCR an image (tesseract). Local path or https URL. Use when: "read text from this image", "ocr this", "extract text from <image>" Arguments: path or https URL. Human article: /a/oip-capability-local-ocr. Machine doc: ?key=LOCAL_OCR&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_OCR.

LOCAL_OPEN

macOS open — launch an app, file, or URL on the Mac. Use when: "open X on my mac", "launch <app>", "open this URL on my mac" Arguments: target (URL, file path, or -a AppName). Human article: /a/oip-capability-local-open. Machine doc: ?key=LOCAL_OPEN&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_OPEN.

LOCAL_OSASCRIPT

Run one line of AppleScript on the Mac (osascript -e). Use when: "applescript: <line>", "tell <app> to <action>", "run osascript" Arguments: the AppleScript line. Human article: /a/oip-capability-local-osascript. Machine doc: ?key=LOCAL_OSASCRIPT&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_OSASCRIPT.

LOCAL_PORTS

Listening TCP ports on the Mac (lsof). Use when: "what's listening on my mac", "listening ports", "ports in use" Arguments: (none). Human article: /a/oip-capability-local-ports. Machine doc: ?key=LOCAL_PORTS&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_PORTS.

LOCAL_PS

Running processes filtered by string. Empty filter = first 50. Use when: "what's running on my mac", "is X running", "ps for <name>" Arguments: filter (empty = first 50). Human article: /a/oip-capability-local-ps. Machine doc: ?key=LOCAL_PS&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_PS.

LOCAL_SAY

Speak text aloud on the Mac (say). Use when: "say X out loud", "speak X on my mac", "make my mac say" Arguments: the text. Human article: /a/oip-capability-local-say. Machine doc: ?key=LOCAL_SAY&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_SAY.

LOCAL_SCREENSHOT

Screenshot the screen, upload to R2, return a stable URL. Use when: "screenshot my mac", "take a screenshot", "what's on my screen right now" Arguments: (none). Human article: /a/oip-capability-local-screenshot. Machine doc: ?key=LOCAL_SCREENSHOT&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_SCREENSHOT.

LOCAL_WRITE

Overwrite a file on the Mac. Echoes the content back. Use when: "write this to <file>", "create <file> with", "drop this in <file>" Arguments: path | content. Human article: /a/oip-capability-local-write. Machine doc: ?key=LOCAL_WRITE&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_WRITE.

LOCAL_APPS

List running GUI apps on the Mac (foreground processes). Use when: "what apps are open", "list running apps", "what is running on my mac" Arguments: none. Human article: /a/oip-capability-local-apps. Machine doc: ?key=LOCAL_APPS&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_APPS.

LOCAL_FRONTMOST

Name of the frontmost (active) app on the Mac. Use when: "what app is in front", "what am I looking at", "frontmost app" Arguments: none. Human article: /a/oip-capability-local-frontmost. Machine doc: ?key=LOCAL_FRONTMOST&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_FRONTMOST.

LOCAL_WINDOWS

List window titles of the frontmost app. Use when: "what windows are open", "list windows of the front app" Arguments: none. Human article: /a/oip-capability-local-windows. Machine doc: ?key=LOCAL_WINDOWS&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_WINDOWS.

LOCAL_ACTIVATE

Bring an app to the front (focus it). Use when: "open X", "switch to X", "focus X" (X = app name) Arguments: app name (e.g. Safari). Human article: /a/oip-capability-local-activate. Machine doc: ?key=LOCAL_ACTIVATE&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_ACTIVATE.

LOCAL_KEYSTROKE

Type text into the focused field on the Mac (System Events keystroke). Use when: "type X", "enter X into the focused field" Arguments: the text to type. Human article: /a/oip-capability-local-keystroke. Machine doc: ?key=LOCAL_KEYSTROKE&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_KEYSTROKE.

LOCAL_KEYCODE

Send a macOS key code to the focused app (36=return 53=esc 48=tab 123-126=arrows). Use when: "press enter", "hit escape", "press the down arrow" Arguments: key code number. Human article: /a/oip-capability-local-keycode. Machine doc: ?key=LOCAL_KEYCODE&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_KEYCODE.

LOCAL_UI_SNAPSHOT

Accessibility snapshot of the frontmost window — role+name+description of each top-level UI element. Semantic, not pixels. The basis for LOCAL_UI_CLICK. Use when: "what is on screen", "list the buttons", "snapshot the UI" — run before clicking by name Arguments: none. Human article: /a/oip-capability-local-ui-snapshot. Machine doc: ?key=LOCAL_UI_SNAPSHOT&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_UI_SNAPSHOT.

LOCAL_UI_CLICK

Click a UI element by NAME in the frontmost app (semantic, not blind x/y). Pair with LOCAL_UI_SNAPSHOT to find names. Use when: "click the X button", "press X" where X is an on-screen element name Arguments: element name. Human article: /a/oip-capability-local-ui-click. Machine doc: ?key=LOCAL_UI_CLICK&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_UI_CLICK.

LOCAL_NOTIFY

post a macOS Notification Center banner. ARGS: title|message|sound (optional). Use when: bring eyes back to the Mac when something async finishes. Human article: /a/oip-capability-local-notify. Machine doc: ?key=LOCAL_NOTIFY&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_NOTIFY.

LOCAL_NETWORK

dump current network state (Wi-Fi SSID, IP, gateway). ARGS: none. Human article: /a/oip-capability-local-network. Machine doc: ?key=LOCAL_NETWORK&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_NETWORK.

LOCAL_BATTERY

read battery % and AC power state on the Mac. ARGS: none. Human article: /a/oip-capability-local-battery. Machine doc: ?key=LOCAL_BATTERY&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_BATTERY.

LOCAL_FOCUS

read current Focus mode (do not disturb / work / etc) from defaults. Human article: /a/oip-capability-local-focus. Machine doc: ?key=LOCAL_FOCUS&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_FOCUS.

LOCAL_OPEN_URL

open a URL in the default browser. ARGS: $1 = url. Human article: /a/oip-capability-local-open-url. Machine doc: ?key=LOCAL_OPEN_URL&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_OPEN_URL.

LOCAL_OPEN_APP

open a macOS app by name. ARGS: $1 = app name (e.g. "Safari", "Cursor", "Messages"). Human article: /a/oip-capability-local-open-app. Machine doc: ?key=LOCAL_OPEN_APP&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_OPEN_APP.

LOCAL_VOICE_RECORD

record N seconds of mic to /tmp/voice-<ts>.m4a using ffmpeg, return path. Arguments: seconds (default 10).. Human article: /a/oip-capability-local-voice-record. Machine doc: ?key=LOCAL_VOICE_RECORD&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_VOICE_RECORD.

LOCAL_SHORTCUTS_RUN

run a macOS/iOS Shortcut by name (shortcuts run "Name"). ARGS: $1 = name, $2 = input (optional). Use when: invoke any shortcut Cyrus saved (cross-syncs with iOS). Human article: /a/oip-capability-local-shortcuts-run. Machine doc: ?key=LOCAL_SHORTCUTS_RUN&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_SHORTCUTS_RUN.

LOCAL_SHORTCUTS_LIST

list all Shortcuts on the Mac (shortcuts list). Human article: /a/oip-capability-local-shortcuts-list. Machine doc: ?key=LOCAL_SHORTCUTS_LIST&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_SHORTCUTS_LIST.

LOCAL_PASTEBOARD_PUSH_PHONE

push text into Mac clipboard so Universal Clipboard syncs it to the iPhone. ARGS: $1 = text. Human article: /a/oip-capability-local-pasteboard-push-phone. Machine doc: ?key=LOCAL_PASTEBOARD_PUSH_PHONE&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_PASTEBOARD_PUSH_PHONE.

LOCAL_AIRDROP

AirDrop a file from the Mac via osascript. ARGS: $1 = absolute file path. Human article: /a/oip-capability-local-airdrop. Machine doc: ?key=LOCAL_AIRDROP&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_AIRDROP.

LOCAL_DICTATE_TO_PHONE

TTS the text via macOS say(1) at the Mac speakers. ARGS: $1 = text, $2 = voice (optional, default Samantha). Human article: /a/oip-capability-local-dictate-to-phone. Machine doc: ?key=LOCAL_DICTATE_TO_PHONE&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_DICTATE_TO_PHONE.

LOCAL_HELP

Print the --help / -h / man page of a binary on the Mac. Args: binary name. Use when: "how do I use X", "what flags does X have", "X --help". Arguments: $1. Human article: /a/oip-capability-local-help. Machine doc: ?key=LOCAL_HELP&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_HELP.

LOCAL_READ

Read a file on Cyrus Mac. Use when: the user says "show me", "read", "what is in", "display". Arguments: $1 = absolute path.. Human article: /a/oip-capability-local-read. Machine doc: ?key=LOCAL_READ&format=markdown. Invocation history: /api/invocations?object_id=LOCAL_READ.

40
capabilities
Evidence · 5 sources · swipe →chain oipinvocatio · verify chain · provenance

Key evidence

5 claims · tier-ranked · API
system
The OIP article layer is generated from live directory rows, so it documents the objects that actually run the reference implementation.
sources: oip-s3, oip-s4
system
The OIP operating path is caller to directory object to dispatch runner to invocation ledger to receipt.
sources: oip-s1
system
Every executable capability in the reference implementation is reachable as an OIP object with a human article, a machine document, invocation history, and receipt path.
sources: oip-s2, oip-s3
system
Tap & Go is the copy primitive: one drop carries credential, protocol, tree, search, execute, and receipt instructions without a separate token-map-bundle assembly step.
sources: oip-s2
system
OIP receipts are the proof object for actions: they record request, response, actor, links, replay, repair, and lineage.
sources: oip-s2, oip-s5
Talk to this article
Tap a phone. Ask anything about OIP system: Mac — local shell + files. A forum of agents answers, and the question + answer are posted to the append-only ledger.
Questions queue for the coding-agent forum (one answer per cron tick). Real phone instead: iMessage +14245134626 · WhatsApp. Thread + proof: JSON · ledger.
oip-system-local · posted 2026-07-02 · updated 2026-07-02
Ledger API & provenance
Provenance · 1 model pass · 0 tokens · $0 · 1 model
chain head virtual-oip
generate system/oip_articles · 2026-07-02 23:01 · 0 tok · virtual-oip
verify chain →
OIP REST + ledger
system shelf GET /api/dispatch?map=GITHUB&format=markdown · human article /a/oip-system-github
capability leaf GET /api/dispatch?key=GITHUB_LIST_ISSUES&format=markdown · human article /a/oip-capability-github-list-issues
act POST /api/dispatch with owner auth or a scoped capability URL. Public docs are open; mutating action is token-bounded.
token explain GET /api/dispatch?explain=1&share=TOKEN
receipt GET /api/dispatch?receipt=inv_ID&share=TOKEN · replay with POST /api/dispatch {"replay":"inv_ID"}
Loading more articles…