Skip to main content

The component catalogue.

Baton runs with any subset

One conductor, optional instruments. Every component below installs on its own, carries a sha256 the installer pins, and a signature made offline — a compromised download host cannot hand your machine someone else's binary.

Install baton

macOS / Linux curl -fsSL https://quantumencoding.io/install.sh | sh
Windows irm https://quantumencoding.io/install.ps1 | iex
AI assistant Read https://quantumencoding.io/baton-skill.md and follow it to set up baton on this machine.

Both scripts check the sha256 and the publisher's signature before anything runs, then pin the key so every later install is verified the same way.

agent

module
baton-agent

Delegate to the engine you choose.

Hand work to the engine you name: Claude Code, Gemini, GLM, Z.ai, a local model, or the qai CLI — the fleet's own agent, which runs on the Quantum AI backend as a service or on your own endpoint and key. run takes a prompt and returns the answer; work <id> claims a filed work item, works it end to end, and closes it with evidence or hands it back. Headless runs never stall on a hidden prompt: an action needing approval parks and resumes on your verdict.

macOS arm64 v0.1.0 · 1.3 MB
Linux x86_64 v0.1.0 · 1.7 MB
baton update install baton-agent More →

apple

module
baton-apple

Apple on-device AI. No API key.

Speech to text, text to speech, OCR that returns reading-order lines and tables from images and PDFs, and ask — the on-device Foundation Models LLM, with guided JSON output via --schema. All of it runs on the Neural Engine: no network, no key, no per-token bill. The transcription half of the video-comprehension pipeline, and the cheapest OCR you will ever run.

macOS arm64 v0.1.0 · 214 KB
baton update install baton-apple More →

audit

module
baton-audit

Scan your dependencies for known vulnerabilities.

Checks your project's dependencies against the OSV.dev vulnerability database — npm, crates.io, Go, PyPI and Packagist — and tells you what to fix. Findings are ranked by whether they can actually hurt you: production dependencies keep full severity, dev-only tools are downgraded, and deep transitive noise is grouped so the report stays readable. One repo, or every repo you have.

macOS arm64 v0.1.0 · 4.9 MB
Linux x86_64 v0.1.0 · 5.5 MB
baton update install baton-audit More →

audit-web

module
baton-audit-web

Scan your website. Get a PDF report.

Scans your production website for issues — speed, SEO, accessibility, security headers, cookie and GDPR behaviour — and writes the findings into a scored, branded PDF report. It uses a real browser and real Lighthouse, so the numbers match what your visitors and Google actually see. Fix, redeploy, scan again: the before/after is two commands.

macOS arm64 v0.1.0 · 2 KB
baton update install baton-audit-web More →

baton-core

platform
baton-core

The conductor CLI and its daemon.

The always-working centre: the baton CLI plus the batond daemon, same verbs on macOS, Linux and Windows. A shared ledger for goals and todos, per-repo knowledge in plain markdown, federation between machines over SSH, and cron entries that compile to launchd, systemd timers or Task Scheduler. Nothing polls — the daemon blocks on filesystem events and wakes when there is work. Core runs with zero other components installed.

macOS arm64 v0.1.0 · 5.5 MB
Linux x86_64 v0.1.0 · 6.5 MB
Windows x86_64 v0.1.0 · 49.5 MB
baton update install baton-core More →

baton-hub

platform
baton-hub

Your fleet, served to claude.ai.

An always-on MCP server, about 4 MB resident, that exposes the fleet to any MCP client: claude.ai on web or phone, Claude Desktop, Claude Code. Forty-eight tools, each a thin shell over a CLI verb that already works from the terminal. Work queue, project knowledge, repo reads, the vault, media generation, messaging doors, GUI control — that last one gated by mac-drive's Touch ID grant, below the protocol where no client can reach it.

macOS arm64 v0.1.0 · 1.8 MB
baton update install baton-hub More →

blueprint

module
baton-blueprint

The declared architecture, checked against code.

Map a program onto its module graph and hold the code to the blueprint it declared: validate the graph, compute dependency-ordered build waves (artifact edges are barriers, contract edges impose no ordering), and flag duplication and incomplete ports. baton's own workspace is built and checked from a blueprint.json this module validates.

macOS arm64 v0.1.0 · 1014 KB
Linux x86_64 v0.1.0 · 1.1 MB
baton update install baton-blueprint More →

brain

module
baton-brain

A Second Brain that is just markdown.

Vault capture without an app: note writes a thought, clip turns a URL into a note, search/read/list get it back, reindex and doctor keep it honest. Writes ~/.baton/vault directly — markdown files ARE the database, so any editor, any sync tool and any future you can read it. Secrets are redacted inside the writer, before a byte lands on disk.

macOS arm64 v0.1.0 · 3.9 MB
Linux x86_64 v0.1.0 · 4.5 MB
baton update install baton-brain More →

browser

module
baton-browser

Drive your real browser from the terminal.

Chrome or Brave over CDP — your actual session, with its cookies, logins and fingerprint, which is what separates a page that renders from a bot-wall. open, extract, eval, click, type, screenshot, network, emulate, scrape, and more. Every command passes a deny, sensitive, approve, audit perimeter, so an agent can read a rendered page without inheriting the keys to your bank tab.

macOS arm64 v0.1.0 · 2.2 MB
Linux x86_64 v0.1.0 · 2.6 MB
baton update install baton-browser More →

conductor

module
baton-conductor

The fleet's knowledge graph.

Where session memory becomes structure: turn-end notes minable by project and time, fact and decision as first-class records, and hydrate to assemble a context brief from all of it — what a fresh session reads instead of re-deriving the last one's conclusions. Speaks --json/--ndjson for anything downstream.

macOS arm64 v0.1.0 · 1.2 MB
Linux x86_64 v0.1.0 · 1.6 MB
baton update install baton-conductor More →

dingtalk

module
baton-dingtalk

The same door, five networks.

Telegram, WhatsApp, DingTalk, Lark and WeCom, one posture everywhere: each bridge sends as the fleet and drains inbound from an allowlist where empty means nobody. recent shows everything the door heard; inbox emits only allowlisted senders — the gap between the two is the security model. WhatsApp picks Twilio, Meta Cloud or your own paired number; Telegram allowlists numeric user ids only; DingTalk connects outbound so it needs no inbound tunnel.

macOS arm64 v0.1.0 · 2.9 MB
Linux x86_64 v0.1.0 · 3.4 MB
baton update install baton-dingtalk More →

drive

module
baton-drive

One verb for every desktop.

The pass-through to whichever drive backend this OS has: baton drive <anything> hands the arguments verbatim to mac-drive, lin-drive or win-drive, locally or on a peer with --node. baton holds no model of the verbs — it probes for a binary and gets out of the way, so a new backend capability needs no baton release. doctor reports what is installed and operable.

macOS arm64 v0.1.0 · 1.3 MB
Linux x86_64 v0.1.0 · 1.5 MB
baton update install baton-drive More →

duck

module
baton-duck

Storyboard in, narrated video out.

The CLI face of the Cosmic Duck video suite: render turns a storyboard JSON into a finished narrated mp4 (--draft for a fast pass), compose builds clip timelines, edit trims and overlays, plus stitch, image/video/music/tts generation and a gallery. Each verb routes to whichever app is running — studio or editor — or --app forces one.

macOS arm64 v0.1.0 · 1.2 MB
Linux x86_64 v0.1.0 · 1.3 MB
baton update install baton-duck More →

ga

module
baton-ga

GA4 from the terminal. Read-only.

Google Analytics 4 without the dashboard: accounts, report, pages, sources, events, realtime, or a raw run query. Everything is a read; nothing mutates. Identities live in ~/.baton/config/ga.json — each account alias can impersonate a service account via short-lived gcloud tokens, scope analytics.readonly, no key files on disk, tokens held in memory and never logged.

macOS arm64 v0.1.0 · 1.2 MB
Linux x86_64 v0.1.0 · 1.4 MB
baton update install baton-ga More →

lark

module
baton-lark

The same door, five networks.

Telegram, WhatsApp, DingTalk, Lark and WeCom, one posture everywhere: each bridge sends as the fleet and drains inbound from an allowlist where empty means nobody. recent shows everything the door heard; inbox emits only allowlisted senders — the gap between the two is the security model. WhatsApp picks Twilio, Meta Cloud or your own paired number; Telegram allowlists numeric user ids only; DingTalk connects outbound so it needs no inbound tunnel.

macOS arm64 v0.1.0 · 3.0 MB
Linux x86_64 v0.1.0 · 3.5 MB
baton update install baton-lark More →

lin-drive

platform
lin-drive

Desktop automation for GNOME and Wayland.

The Linux sibling, same JSON contract, so app profiles and orchestration port unchanged. It perceives over AT-SPI, captures through the ScreenCast portal, and acts two ways: element-first over D-Bus, with no pointer to aim and no focus to steal — the robust default on Wayland — or humanized synthetic input through kernel uinput for targets AT-SPI cannot see. Drives Chromium browsers over CDP; manages windows through a bundled GNOME Shell extension.

Linux x86_64 v0.1.0 · 2.1 MB
baton update install lin-drive More →

mac-drive

platform
mac-drive

Playwright for the Mac desktop.

JSON-driven perceive-and-act automation for native macOS apps: read the accessibility tree, snapshot elements to stable refs, click, type, and run a whole flow in one invocation. Input is humanized, down to glide paths and typing rhythm. Acts sit behind a Secure-Enclave arm grant — the first act fires Touch ID on the physical machine — and the operator always gets a countdown card with live Pause and Cancel.

macOS arm64 v0.1.0 · 567 KB
baton update install mac-drive More →

mcp

module
baton-mcp

Let web AI use your computer.

The MCP door between claude.ai and your machine: the AI in the browser tab files goals on YOUR computer and launches the agents that work them, browses through YOUR browser — the real rendered DOM, logins and all, not a bot-walled fetch — and generates media straight to your disk instead of you ferrying prompts and downloads by hand. Works with anything that speaks MCP, over stdio or HTTP.

macOS arm64 v0.1.0 · 1.5 MB
Linux x86_64 v0.1.0 · 1.6 MB
baton update install baton-mcp More →

qai

module
baton-qai

AI media from the command line.

Cloud media generation as a verb: media new and edit for image, video, music and speech, ask for analysis, chat for iteration, and a gallery every result lands in — a prompt goes in, a local file path comes out. It is the generation backend the MCP hub's qai_generate tool shells to, so claude.ai and the terminal produce into the same gallery.

macOS arm64 v0.1.0 · 1.9 MB
Linux x86_64 v0.1.0 · 2.2 MB
baton update install baton-qai More →

rag

module
baton-rag

Knowledge search over backends you choose.

Search and ingest over pluggable knowledge backends, local-first: Joplin and SurrealDB out of the box, Vertex as a deliberate opt-in. $BATON_RAG_BACKENDS picks the default set per machine, so a laptop can answer from local notes while a build box adds the cloud index — same verbs, different reach.

macOS arm64 v0.1.0 · 1.2 MB
Linux x86_64 v0.1.0 · 1.4 MB
baton update install baton-rag More →

secrets-vault

module
secrets-vault

The fleet's biometric secret store.

An encrypted vault (AES-256-GCM, PBKDF2) that asks for Touch ID at the moment of read, not at login. Store a key once; then scoped injection with secrets exec, per-agent grants, TTL leases that self-destruct, and a session broker decide who reads what, and when. Every baton flow above fetches its keys from here. Install: cargo install secrets-vault.

share

module
baton-share

Move files between fleet peers.

File transfer with the peer host over ztransfer: push, pull, ls, dir, peer. Small on purpose — no sync daemon, no conflict model, just get this file to that machine as a fleet verb, over the same SSH relationships federation already trusts.

macOS arm64 v0.1.0 · 354 KB
Linux x86_64 v0.1.0 · 502 KB
baton update install baton-share More →

telegram

module
baton-telegram

The same door, five networks.

Telegram, WhatsApp, DingTalk, Lark and WeCom, one posture everywhere: each bridge sends as the fleet and drains inbound from an allowlist where empty means nobody. recent shows everything the door heard; inbox emits only allowlisted senders — the gap between the two is the security model. WhatsApp picks Twilio, Meta Cloud or your own paired number; Telegram allowlists numeric user ids only; DingTalk connects outbound so it needs no inbound tunnel.

macOS arm64 v0.1.0 · 2.7 MB
Linux x86_64 v0.1.0 · 3.2 MB
baton update install baton-telegram More →

web

module
baton-web

Brave Search in a pipe.

Web search as a composable verb: baton web "query" for ranked results, ask for an AI answer, context for LLM-sized grounding chunks, clip to file a page into Joplin. -n and --json throughout. The difference from a browser tab is that the output is data — an agent or a script consumes it without a scrape.

macOS arm64 v0.1.0 · 1.2 MB
Linux x86_64 v0.1.0 · 1.3 MB
baton update install baton-web More →

wecom

module
baton-wecom

The same door, five networks.

Telegram, WhatsApp, DingTalk, Lark and WeCom, one posture everywhere: each bridge sends as the fleet and drains inbound from an allowlist where empty means nobody. recent shows everything the door heard; inbox emits only allowlisted senders — the gap between the two is the security model. WhatsApp picks Twilio, Meta Cloud or your own paired number; Telegram allowlists numeric user ids only; DingTalk connects outbound so it needs no inbound tunnel.

macOS arm64 v0.1.0 · 2.8 MB
Linux x86_64 v0.1.0 · 3.3 MB
baton update install baton-wecom More →

whatsapp

module
baton-whatsapp

The same door, five networks.

Telegram, WhatsApp, DingTalk, Lark and WeCom, one posture everywhere: each bridge sends as the fleet and drains inbound from an allowlist where empty means nobody. recent shows everything the door heard; inbox emits only allowlisted senders — the gap between the two is the security model. WhatsApp picks Twilio, Meta Cloud or your own paired number; Telegram allowlists numeric user ids only; DingTalk connects outbound so it needs no inbound tunnel.

macOS arm64 v0.1.0 · 9.8 MB
Linux x86_64 v0.1.0 · 11.0 MB
baton update install baton-whatsapp More →

yt

module
baton-yt

Watch YouTube without watching it.

YouTube ingestion for the video-comprehension pipeline: grab audio or video, then brief builds an on-device transcript (Apple STT, no API bill) with an optional contact sheet and OCR timeline — enough for an agent to answer what a video says and shows without a model that can watch. Everything caches per video, so a second question about the same video is free.

macOS arm64 v0.1.0 · 6 KB
baton update install baton-yt More →