Fernando Abishai's local-first video workspace arrives
Cutmark is a local-first video production workspace for people and AI agents, built by TriHerm Labs and created by Fernando Abishai. The software runs on Apple silicon Macs with macOS 15 or newer and requires Apple's Command Line Tools, ffmpeg and ffprobe, and at least one configured chat runner. The default library lives at ~/Movies/Cutmark and uses ordinary files and folders, eliminating the need for a hosted project database.
To begin, download Cutmark.dmg from the latest GitHub release, open it, and copy Cutmark.app to Applications. On first launch, macOS may require System Settings → Privacy & Security → Open Anyway because Cutmark 0.3.0 uses an explicitly authorized ad-hoc signing channel and is not notarized. The repository retains a separate protected Developer ID + Apple notarization path for production-signed releases once Apple credentials are configured.
Recording and organizing takes in Cutmark
The application captures talking-head video and keeps source files on the Mac. The default library at ~/Movies/Cutmark stores projects, which contain sessions. Each session holds scripts, recordings, edits, storyboards, thumbnails, post files, and metadata. Users can change the library folder from within the app. Cutmark does not require a hosted project database for this workflow.
Video recording initiates takes that feed into a storyboard builder. Editing tools built on ffmpeg and Whisper enable trimming, transcription, and clip assembly. Review notes accumulate alongside version history. Publishing assets such as thumbnails and post drafts prepare content for distribution. A local .capture-events sidecar may store normalized pointer movement, mouse clicks, scroll deltas, and manual markers for later editing features, but keystrokes are not recorded in this format.
Four AI runners and how they integrate
Cutmark supports four AI runners during first-run setup: Claude Code, Codex, pi, and opencode. Each runner connects to its respective provider's CLI, which owns its own login and model configuration. Claude Code uses the Claude Code account or API configuration already available to the CLI. Codex uses the Codex/ChatGPT account or API configuration available to the CLI. pi uses the provider and model configured in pi. opencode uses the providers and model configured in opencode.
The product works against a shared agent interface while provider-specific command construction stays inside dedicated adapters. This multi-provider chat design lets users switch between runners without changing the product's internal structure. No AI provider is installed until the user chooses one and presses Install during first-run setup. The first-run setup can guide users through missing dependencies.
Chat adapters and multi-provider support
Provider-specific command construction remains inside dedicated adapters while the product operates against a shared agent interface. This means the chat experience is unified regardless of which runner is active. The table below summarizes runner behavior:
- Claude Code: Uses the Claude Code account or API configuration already available to the CLI.
- Codex: Uses the Codex/ChatGPT account or API configuration available to the CLI.
- pi: Uses the provider and model configured in pi.
- opencode: Uses the providers and model configured in opencode.
Video, scripts, chats, and project metadata stay in the library on the Mac unless a selected provider or explicit publishing or generation action sends data to an external service.
MCP server connectivity on loopback
The local Cutmark MCP server supports stdio and Streamable HTTP transports. The HTTP transport listens on loopback by default, binding to 127.0.0.1:8765/mcp. A Python command launches this server:
python3 /Applications/Cutmark.app/Contents/Resources/cutmark_mcp.py --httpThis gives http://127.0.0.1:8765/mcp. The loopback server must not be exposed directly to the public internet. A public deployment requires a stable HTTPS endpoint and appropriate authentication and per-user isolation.
For ChatGPT users on a private Mac, OpenAI's Secure MCP Tunnel can launch the local stdio server; see docs/chatgpt-mcp.md for details. The packaged Cutmark MCP server is local-first and can connect to compatible agent clients on the same Mac.
Editing video, building storyboards and preparing assets
The video workflow records takes, builds storyboards, edits with ffmpeg/Whisper-based tools, reviews versions, and prepares publishing assets. Storyboards combine clips, transcripts, and notes into a coherent sequence. Thumbnails and post drafts emerge from the editing process. The MCP server exposes the same local production workspace to compatible agent clients, enabling AI assistance across the entire pipeline.
Signing, notarization and privacy defaults
Cutmark 0.3.0 is not notarized and uses an explicitly authorized ad-hoc signing channel. On first launch, macOS may prompt Open Anyway in Privacy & Security settings. The protected production workflow uses the production-release GitHub environment with Apple Developer ID and notarization credentials described in docs/releasing.md. Production signing is fail-closed; it does not fall back to an ad-hoc artifact when credentials or notarization are unavailable. Cutmark 0.2.0 was intentionally published through the legacy ad-hoc channel instead of weakening that production gate.
The release configures no usage analytics endpoint, and the MCP HTTP listener binds to loopback by default. Provider CLIs continue to own their own login and model configuration. API and provider calls follow the privacy and billing terms of the chosen service. The auxiliary environment file at ~/.config/cutmark/.env stores configuration, but video, scripts, chats, and project metadata remain on the Mac unless an explicit action sends data outward.
CI runs the Python MCP suite and Swift tests on macOS. Tags matching v* reuse the successful CI result for the same commit, then build Cutmark.app, package Cutmark.dmg, verify the artifact, and create a GitHub Release. Tags are created after CI on main is green; an early tag fails quickly and can be re-run after CI finishes. The software is released under the MIT License, and required third-party license notices are retained in THIRD_PARTY_NOTICES.md.