car-runtime 0.51.0 → 0.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -2
- package/docs/ASSISTANT.md +491 -0
- package/docs/CLI.md +3051 -0
- package/docs/GUIDE.md +266 -0
- package/docs/MCP.md +382 -0
- package/docs/SPEC.md +169 -0
- package/docs/agent-ir-spec.md +677 -0
- package/docs/websocket-protocol.md +10 -0
- package/package.json +5 -3
package/docs/CLI.md
ADDED
|
@@ -0,0 +1,3051 @@
|
|
|
1
|
+
# CAR CLI reference
|
|
2
|
+
|
|
3
|
+
> **Generated file — do not hand-edit below the task map.** Produced by
|
|
4
|
+
> `scripts/gen-cli-docs.sh` from `car --help` / `car help <command>` on car
|
|
5
|
+
> 0.51.0 (2026-09-03). Every subcommand the installed binary reports is
|
|
6
|
+
> below; a new subcommand cannot ship without appearing here the next time
|
|
7
|
+
> this script runs. To regenerate: `bash scripts/gen-cli-docs.sh`.
|
|
8
|
+
>
|
|
9
|
+
> 66 top-level commands, 98 nested subcommands
|
|
10
|
+
> (one level deep) — counted from the live binary at generation time, not
|
|
11
|
+
> typed by hand.
|
|
12
|
+
|
|
13
|
+
## Finding your way around
|
|
14
|
+
|
|
15
|
+
`car` is one binary with 66 subcommands spanning several different jobs:
|
|
16
|
+
running the built-in agent, coding, local model management, OS integrations,
|
|
17
|
+
and installing other people's agents on your machine. This map groups the
|
|
18
|
+
commands people actually reach for; the full alphabetical reference with every
|
|
19
|
+
flag follows below.
|
|
20
|
+
|
|
21
|
+
### Run an agent
|
|
22
|
+
|
|
23
|
+
- [`car do`](#car-do) — the general-purpose CAR Assistant. No goal opens an
|
|
24
|
+
interactive REPL; with a goal it runs once and prints the result. Ships
|
|
25
|
+
wired with files, a real shell, web access, and durable memory; runs
|
|
26
|
+
sandbox-first (a hardened Docker container) unless you pass `--local`.
|
|
27
|
+
- [`car board`](#car-board) — fullscreen supervision board for coder
|
|
28
|
+
sessions: attach to a run's history, confirm its outcome contract, answer
|
|
29
|
+
its questions, approve its diff.
|
|
30
|
+
- [`car agent`](#car-agent) — build and run in-daemon agents from
|
|
31
|
+
plain-language descriptions; nothing extra to install.
|
|
32
|
+
- [`car build`](#car-build) — build a runnable workflow from a
|
|
33
|
+
natural-language goal.
|
|
34
|
+
- [`car run-task`](#car-run-task) — headless entry point for external eval
|
|
35
|
+
harnesses: run a goal autonomously against stdio MCP tool servers, emitting
|
|
36
|
+
a JSONL transcript.
|
|
37
|
+
|
|
38
|
+
### Code
|
|
39
|
+
|
|
40
|
+
- [`car code`](#car-code) — built-in coding agent: state an intent, confirm
|
|
41
|
+
the verifiable outcome contract, and CAR delivers it in an isolated git
|
|
42
|
+
worktree (natively or via an installed frontier CLI). Results land on a
|
|
43
|
+
`car/coder/<id>` branch after your approval; your checkout is never
|
|
44
|
+
touched.
|
|
45
|
+
- [`car code-task`](#car-code-task) — run a coder session headlessly and in
|
|
46
|
+
this process, driving to a green outcome contract and delivering a PR.
|
|
47
|
+
- [`car coder-ab`](#car-coder-ab) — A/B-test CAR's coder against an external
|
|
48
|
+
agent (Codex / Claude Code) over a corpus, and grow that corpus from git
|
|
49
|
+
history.
|
|
50
|
+
|
|
51
|
+
### Models and media
|
|
52
|
+
|
|
53
|
+
- [`car setup`](#car-setup) — detect hardware, recommend, and install the
|
|
54
|
+
right model for this machine. Interactive walkthrough with no flags.
|
|
55
|
+
- [`car models`](#car-models) — manage local inference models: list, pull,
|
|
56
|
+
remove, benchmark, route, and more (see the subcommand table below).
|
|
57
|
+
- [`car infer`](#car-infer) — run text generation with a local model.
|
|
58
|
+
- [`car image`](#car-image) / [`car video`](#car-video) — generate an
|
|
59
|
+
image or video with a local MLX model.
|
|
60
|
+
- [`car speech`](#car-speech) — manage the CAR speech runtime, health
|
|
61
|
+
checks, and smoke tests.
|
|
62
|
+
- [`car embed`](#car-embed) — generate embeddings for text.
|
|
63
|
+
- [`car reason`](#car-reason) — reason about code: diagnose, suggest fixes,
|
|
64
|
+
explain.
|
|
65
|
+
|
|
66
|
+
### Memory and skills
|
|
67
|
+
|
|
68
|
+
- [`car skills`](#car-skills) — manage learned skills (SkillRL-inspired).
|
|
69
|
+
- [`car dream`](#car-dream) — run memory consolidation ("dream") — prune,
|
|
70
|
+
GC, embed, evolve.
|
|
71
|
+
- [`car eval`](#car-eval) — evaluate agent improvement from stored
|
|
72
|
+
trajectories.
|
|
73
|
+
|
|
74
|
+
### Auth and accounts
|
|
75
|
+
|
|
76
|
+
- [`car auth`](#car-auth) — Parslee account authentication for CAR
|
|
77
|
+
cloud-backed features (`login`, `status`, `logout`, `orgs`,
|
|
78
|
+
`switch-org`, `accounts`, `switch-account`).
|
|
79
|
+
- [`car parslee`](#car-parslee) — Parslee platform capabilities for the
|
|
80
|
+
signed-in account (requires `car auth login`).
|
|
81
|
+
- [`car keys`](#car-keys) — store cloud-provider API keys in the OS
|
|
82
|
+
keychain, so a native-app user never sets an environment variable.
|
|
83
|
+
- [`car secrets`](#car-secrets) — OS-native secret store (Keychain /
|
|
84
|
+
Credential Manager / Secret Service); aliased `secret`.
|
|
85
|
+
- [`car keychain`](#car-keychain) — OS keychain integration.
|
|
86
|
+
- [`car identity`](#car-identity) — show or change the name your assistant
|
|
87
|
+
answers to, in conversation, in the host apps, and as its voice wake word.
|
|
88
|
+
|
|
89
|
+
### Install and supervise contributed agents
|
|
90
|
+
|
|
91
|
+
- [`car install`](#car-install) — install a contributed agent, from a local
|
|
92
|
+
directory or a registry reference.
|
|
93
|
+
- [`car ls`](#car-ls) — list every installed contributed agent (long alias
|
|
94
|
+
`agents`).
|
|
95
|
+
- [`car inspect`](#car-inspect) — inspect a single installed agent: on-disk
|
|
96
|
+
manifest plus the supervisor's current status.
|
|
97
|
+
- [`car start`](#car-start) / [`car stop`](#car-stop) /
|
|
98
|
+
[`car restart`](#car-restart) — control a supervised, installed agent.
|
|
99
|
+
- [`car tail-log`](#car-tail-log) — tail an installed agent's captured
|
|
100
|
+
stdout/stderr (long alias `logs`).
|
|
101
|
+
- [`car uninstall`](#car-uninstall) — uninstall a contributed agent
|
|
102
|
+
(idempotent).
|
|
103
|
+
- [`car registry`](#car-registry) — registry tooling: `digest` a manifest,
|
|
104
|
+
`validate` a registry directory, or print the canonical `schema`.
|
|
105
|
+
- [`car publish`](#car-publish) — publish a contributed agent to the
|
|
106
|
+
registry (signs, stages, opens a PR).
|
|
107
|
+
|
|
108
|
+
### OS integrations
|
|
109
|
+
|
|
110
|
+
`car` reaches into the OS for accounts, calendar, contacts, mail, messages,
|
|
111
|
+
notes, reminders, photos, bookmarks, files, wearable health data, and browser
|
|
112
|
+
bookmarks, plus the permission preflight that gates them and voiceprint
|
|
113
|
+
enrollment. Most of these are cross-platform (TCC on macOS, WAM/Credential
|
|
114
|
+
Manager on Windows, GOA/xdg-desktop-portal on Linux, per the command's own
|
|
115
|
+
`--help`); `car notes`, `car reminders`, and `car photos` are macOS-only —
|
|
116
|
+
each says so in its own description below:
|
|
117
|
+
[`car accounts`](#car-accounts), [`car cal`](#car-cal),
|
|
118
|
+
[`car contacts`](#car-contacts), [`car mail`](#car-mail),
|
|
119
|
+
[`car messages`](#car-messages), [`car notes`](#car-notes),
|
|
120
|
+
[`car reminders`](#car-reminders), [`car photos`](#car-photos),
|
|
121
|
+
[`car bookmarks`](#car-bookmarks), [`car files`](#car-files),
|
|
122
|
+
[`car health`](#car-health), [`car permissions`](#car-permissions),
|
|
123
|
+
[`car voice`](#car-voice).
|
|
124
|
+
|
|
125
|
+
### Diagnose an install
|
|
126
|
+
|
|
127
|
+
- [`car doctor`](#car-doctor) — diagnose (and optionally repair) a CAR
|
|
128
|
+
install: corrupt model weights, unparseable `~/.car` state files, version
|
|
129
|
+
skew, leftover files from a previous install. Runs against the local
|
|
130
|
+
filesystem only — no daemon required.
|
|
131
|
+
- [`car update`](#car-update) — update the locally-installed `car` CLI and
|
|
132
|
+
its sibling `car-server` daemon to the latest release (or a pinned
|
|
133
|
+
version), in place, reconciling drift between update channels.
|
|
134
|
+
- [`car purge`](#car-purge) — remove this install's own state under
|
|
135
|
+
`~/.car` and reap OS-level schedules CAR installed, for a clean slate
|
|
136
|
+
before reinstalling.
|
|
137
|
+
- [`car onboard`](#car-onboard) — onboarding readiness: what's set up and
|
|
138
|
+
what's still pending (headless equivalent of the CarHost setup wizard).
|
|
139
|
+
- [`car approvals`](#car-approvals) — the default posture for what agents
|
|
140
|
+
may do without asking (CLI counterpart to CarHost's Approvals settings).
|
|
141
|
+
- [`car info`](#car-info) — show runtime info.
|
|
142
|
+
|
|
143
|
+
### Runtime internals
|
|
144
|
+
|
|
145
|
+
Lower-level commands mostly useful when embedding CAR or debugging the
|
|
146
|
+
runtime itself: [`car daemon`](#car-daemon) (start the daemon server),
|
|
147
|
+
[`car verify`](#car-verify) / [`car simulate`](#car-simulate) /
|
|
148
|
+
[`car optimize`](#car-optimize) (static proposal verification — see
|
|
149
|
+
[SPEC.md](./SPEC.md)), [`car replay`](#car-replay) (replay an event journal
|
|
150
|
+
and show reconstructed state), [`car policy-check-hook`](#car-policy-check-hook)
|
|
151
|
+
(evaluate a host's proposed tool call against `.car/policies/` for that
|
|
152
|
+
host's hook decision envelope), [`car ui`](#car-ui) (open the browser
|
|
153
|
+
dashboard served by the daemon), [`car project`](#car-project) (manage
|
|
154
|
+
CAR-managed, git-backed workspaces), [`car init`](#car-init) (initialize a
|
|
155
|
+
`.car/` project directory), [`car browse`](#car-browse) (browser
|
|
156
|
+
automation through the runtime), [`car schedule`](#car-schedule) (schedule
|
|
157
|
+
commands on a cadence via launchd / cron / schtasks).
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## All commands
|
|
162
|
+
|
|
163
|
+
| Command | Description |
|
|
164
|
+
|---|---|
|
|
165
|
+
| [`car info`](#car-info) | Show runtime info |
|
|
166
|
+
| [`car ui`](#car-ui) | Open the browser dashboard served by the daemon |
|
|
167
|
+
| [`car verify`](#car-verify) | Statically verify a proposal |
|
|
168
|
+
| [`car simulate`](#car-simulate) | Simulate a proposal's state effects without executing |
|
|
169
|
+
| [`car optimize`](#car-optimize) | Optimize a proposal (remove phantom dependencies) |
|
|
170
|
+
| [`car replay`](#car-replay) | Replay an event journal and show reconstructed state |
|
|
171
|
+
| [`car run-task`](#car-run-task) | Run a goal autonomously against stdio MCP tool servers, emitting a JSONL transcript. Headless entry point for external eval harnesses |
|
|
172
|
+
| [`car code-task`](#car-code-task) | Run a coder session headlessly and IN THIS PROCESS: derive or accept an outcome contract, work in a git worktree until the runtime's own re-run of that contract is green, then deliver the result as a pull request |
|
|
173
|
+
| [`car coder-ab`](#car-coder-ab) | A/B-test CAR's coder against an external agent (Codex / Claude Code) over a corpus, and grow that corpus from git history — the productionized dogfooding loop (docs/proposals/coder-ab-dogfood.md) |
|
|
174
|
+
| [`car keys`](#car-keys) | Store cloud-provider API keys in the OS keychain, so a native-app user never sets an environment variable (docs/proposals/native-secrets-no-env.md). The key is read env-first, keychain-fallback by the runtime |
|
|
175
|
+
| [`car daemon`](#car-daemon) | Start the daemon server (delegates to car-server binary) |
|
|
176
|
+
| [`car models`](#car-models) | Manage local inference models |
|
|
177
|
+
| [`car setup`](#car-setup) | Set up the right model for this machine — detect hardware, recommend, and install. Run with no flags for an interactive walkthrough |
|
|
178
|
+
| [`car speech`](#car-speech) | Manage CAR speech runtime, health checks, and smoke tests |
|
|
179
|
+
| [`car infer`](#car-infer) | Run text generation with a local model |
|
|
180
|
+
| [`car image`](#car-image) | Generate an image with a local MLX model |
|
|
181
|
+
| [`car video`](#car-video) | Generate a video with a local MLX model |
|
|
182
|
+
| [`car embed`](#car-embed) | Generate embeddings for text |
|
|
183
|
+
| [`car skills`](#car-skills) | Manage learned skills (SkillRL-inspired) |
|
|
184
|
+
| [`car reason`](#car-reason) | Reason about code: diagnose, suggest fixes, explain |
|
|
185
|
+
| [`car eval`](#car-eval) | Evaluate agent improvement from stored trajectories |
|
|
186
|
+
| [`car identity`](#car-identity) | Show or change the name your assistant answers to — in conversation, in the host apps, and as its voice wake word |
|
|
187
|
+
| [`car init`](#car-init) | Initialize a .car/ project directory for team-shared configuration |
|
|
188
|
+
| [`car doctor`](#car-doctor) | Diagnose (and optionally repair) a CAR install: corrupt model weights, unparseable `~/.car` state files, version skew, and leftover files from a previous install. Runs entirely against the local filesystem — no daemon required, so it works even when `car-server` won't start |
|
|
189
|
+
| [`car update`](#car-update) | Update the locally-installed `car` CLI and its sibling `car-server` daemon to the latest release (or `--version <X.Y.Z>`), in place — regardless of how they were installed. Reconciles the drift that otherwise builds up when one channel updates and another doesn't (e.g. CarHost.app auto-updates its bundled daemon via Sparkle but leaves the `/usr/local/bin/car` CLI behind). The npm/PyPI `car-runtime` client packages are separate — this command never touches them; `car doctor` reports which of your agents have drifted, and prints the exact command per environment. Both remedies pin: `npm install car-runtime@<version>` (`npm update` CANNOT cross a 0.x minor — npm reads `^0.41.0` as `>=0.41.0 <0.42.0`, so it is a no-op) and `<venv>/bin/python -m pip install -U car-runtime==<version>` (a bare `-U` can be silently defeated by the consumer's own pin, and the wrong interpreter installs into an environment that does not hold the stale wheel) |
|
|
190
|
+
| [`car purge`](#car-purge) | Remove this CAR install's own state under `~/.car` (config, logs, managed models, binaries) and reap any OS-level schedules CAR installed — for a clean slate before a reinstall. On macOS this also clears CarHost.app's user-level state and resets its privacy (TCC) permissions, so a reinstall really does re-run permission onboarding. NEVER touches the shared HuggingFace model cache (other tools use it); managed models are symlinks into it, so only the links are removed, not the multi-GB blobs. (To uninstall a single contributed agent instead, use `car uninstall <id>`.) |
|
|
191
|
+
| [`car code`](#car-code) | Built-in coding agent: state an intent, confirm the verifiable outcome contract, and CAR delivers it in an isolated git worktree — natively or via an installed frontier CLI. Results land on a `car/coder/<id>` branch after your approval; your checkout is never touched |
|
|
192
|
+
| [`car board`](#car-board) | Fullscreen supervision board for coder sessions — one screen for every run on this host, whoever started it (`car code`, CarHost, milo, another board). Attach to a run's full history, confirm its outcome contract, answer its questions, approve its diff, or scope work in a repo-grounded discussion first. Closing the board never stops a run |
|
|
193
|
+
| [`car do`](#car-do) | CAR Assistant: a general-purpose agent that works out of the box |
|
|
194
|
+
| [`car policy-check-hook`](#car-policy-check-hook) | Evaluate a host's proposed tool call against `.car/policies/` and answer on stdout with that host's hook decision envelope |
|
|
195
|
+
| [`car project`](#car-project) | Manage CAR-managed projects (a named, git-backed workspace CAR creates for you — no repo to pick) |
|
|
196
|
+
| [`car parslee`](#car-parslee) | Parslee platform capabilities for the signed-in account (requires `car auth login`) |
|
|
197
|
+
| [`car agent`](#car-agent) | Build and run in-daemon agents from plain-language descriptions. An agent runs inside CAR — nothing to install |
|
|
198
|
+
| [`car build`](#car-build) | Build a runnable workflow from a natural-language goal |
|
|
199
|
+
| [`car dream`](#car-dream) | Run memory consolidation ("dream") — prune, GC, embed, evolve |
|
|
200
|
+
| [`car browse`](#car-browse) | Browser automation — drive Chromium through the CAR runtime |
|
|
201
|
+
| [`car secrets`](#car-secrets) | OS-native secret store — Keychain / Credential Manager / Secret Service. Aliased as `secret` (singular) for backward compatibility |
|
|
202
|
+
| [`car auth`](#car-auth) | Parslee account authentication for CAR cloud-backed features |
|
|
203
|
+
| [`car permissions`](#car-permissions) | OS permission preflight — TCC / Windows Privacy / xdg-desktop-portal |
|
|
204
|
+
| [`car voice`](#car-voice) | Voiceprint enrollment — teach CAR your voice so it knows who's speaking (the owner drives commands; other voices are context). Proxies the daemon's `voice.*` surface |
|
|
205
|
+
| [`car onboard`](#car-onboard) | Onboarding readiness — what's set up and what's still pending (the headless equivalent of the CarHost setup wizard) |
|
|
206
|
+
| [`car approvals`](#car-approvals) | Agent approval policy — the default posture for what agents may do without asking. Proxies the daemon's `agent_permissions.*` surface (the CLI counterpart to the CarHost "Approvals" settings / onboarding step) |
|
|
207
|
+
| [`car accounts`](#car-accounts) | OS-native account discovery — Internet Accounts / WAM / GOA |
|
|
208
|
+
| [`car cal`](#car-cal) | OS-native Calendar integration |
|
|
209
|
+
| [`car contacts`](#car-contacts) | OS-native Contacts integration |
|
|
210
|
+
| [`car mail`](#car-mail) | OS-native Mail integration |
|
|
211
|
+
| [`car messages`](#car-messages) | OS-native Messages integration |
|
|
212
|
+
| [`car notes`](#car-notes) | macOS Notes integration |
|
|
213
|
+
| [`car reminders`](#car-reminders) | macOS Reminders integration |
|
|
214
|
+
| [`car photos`](#car-photos) | macOS Photos integration |
|
|
215
|
+
| [`car bookmarks`](#car-bookmarks) | Browser bookmark integration |
|
|
216
|
+
| [`car files`](#car-files) | Account-backed file locations |
|
|
217
|
+
| [`car keychain`](#car-keychain) | OS keychain integration |
|
|
218
|
+
| [`car health`](#car-health) | Wearable / activity data (HealthKit + Fitbit/Garmin/Oura/etc.) |
|
|
219
|
+
| [`car install`](#car-install) | Install a contributed agent — from a local directory OR a registry reference (Parslee-ai/car#182 phases 4 + 5) |
|
|
220
|
+
| [`car ls`](#car-ls) | List every installed contributed agent (Parslee-ai/car#182 phase 4). Calls the daemon's `agents.list` and renders the result. Long alias: `agents` |
|
|
221
|
+
| [`car inspect`](#car-inspect) | Inspect a single installed agent (Parslee-ai/car#182 phase 4). Shows the on-disk manifest plus the supervisor's current status. Resolves unqualified names to the highest installed semver per the contributed-agents proposal |
|
|
222
|
+
| [`car start`](#car-start) | Start an installed contributed agent |
|
|
223
|
+
| [`car stop`](#car-stop) | Stop an installed contributed agent |
|
|
224
|
+
| [`car restart`](#car-restart) | Restart an installed contributed agent |
|
|
225
|
+
| [`car tail-log`](#car-tail-log) | Tail the most recent stdout/stderr lines captured from a supervised agent (Parslee-ai/car#231 §5.2). Calls the daemon's `agents.tail_log`. Closes the DX gap where the daemon captured logs to `~/.car/logs/` (`%USERPROFILE%\.car\logs\` on Windows) but offered no CLI surface to read them. Long alias: `logs` |
|
|
226
|
+
| [`car uninstall`](#car-uninstall) | Uninstall a contributed agent (Parslee-ai/car#182 phase 4). Stops the running child if any, removes the manifest from `~/.car/agents/<id>/`, and reaps the legacy `agents.json` entry. Idempotent |
|
|
227
|
+
| [`car schedule`](#car-schedule) | Schedule commands to run on a cadence (launchd / cron / schtasks) |
|
|
228
|
+
| [`car registry`](#car-registry) | Registry tooling for the contributed-agents registry (Parslee-ai/car#182 phase 5): `digest` a manifest, or `validate` a registry directory (the CI gate run by Parslee-ai/car-agent-registry) |
|
|
229
|
+
| [`car publish`](#car-publish) | Publish a contributed agent to the registry (Parslee-ai/car#182 phase 5). Reads a local agent's `manifest.toml`, signs it for `--audience public` (ed25519 key at `$CAR_PUBLISH_KEY_PATH`), stages it at the versioned `agents/<namespace>/<name>/<version>/` path, updates `index.json` + the README catalog, re-runs the EXACT `car registry validate` CI gate locally, and opens a PR against the registry repo. Aborts (no PR) on a missing signing key or a validation failure |
|
|
230
|
+
| [`car help`](#car-help) | Print this message or the help of the given subcommand(s) |
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## Command reference
|
|
235
|
+
|
|
236
|
+
Full `--help` output for every command, generated directly from the binary.
|
|
237
|
+
|
|
238
|
+
### car info
|
|
239
|
+
|
|
240
|
+
```text
|
|
241
|
+
Show runtime info
|
|
242
|
+
|
|
243
|
+
Usage: car info
|
|
244
|
+
|
|
245
|
+
Options:
|
|
246
|
+
-h, --help Print help
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### car ui
|
|
250
|
+
|
|
251
|
+
```text
|
|
252
|
+
Open the browser dashboard served by the daemon
|
|
253
|
+
|
|
254
|
+
Usage: car ui [OPTIONS]
|
|
255
|
+
|
|
256
|
+
Options:
|
|
257
|
+
-p, --port <PORT> Daemon WS port; the dashboard is served on this + 1 [default: 9100]
|
|
258
|
+
-h, --help Print help
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
### car verify
|
|
262
|
+
|
|
263
|
+
```text
|
|
264
|
+
Statically verify a proposal
|
|
265
|
+
|
|
266
|
+
Usage: car verify [OPTIONS] <PROPOSAL>
|
|
267
|
+
|
|
268
|
+
Arguments:
|
|
269
|
+
<PROPOSAL> Path to proposal JSON file
|
|
270
|
+
|
|
271
|
+
Options:
|
|
272
|
+
--state <STATE> Path to initial state JSON file
|
|
273
|
+
--tools <TOOLS> Comma-separated tool names
|
|
274
|
+
-h, --help Print help
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
### car simulate
|
|
278
|
+
|
|
279
|
+
```text
|
|
280
|
+
Simulate a proposal's state effects without executing
|
|
281
|
+
|
|
282
|
+
Usage: car simulate [OPTIONS] <PROPOSAL>
|
|
283
|
+
|
|
284
|
+
Arguments:
|
|
285
|
+
<PROPOSAL> Path to proposal JSON file
|
|
286
|
+
|
|
287
|
+
Options:
|
|
288
|
+
--state <STATE> Path to initial state JSON file
|
|
289
|
+
-h, --help Print help
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
### car optimize
|
|
293
|
+
|
|
294
|
+
```text
|
|
295
|
+
Optimize a proposal (remove phantom dependencies)
|
|
296
|
+
|
|
297
|
+
Usage: car optimize <PROPOSAL>
|
|
298
|
+
|
|
299
|
+
Arguments:
|
|
300
|
+
<PROPOSAL> Path to proposal JSON file
|
|
301
|
+
|
|
302
|
+
Options:
|
|
303
|
+
-h, --help Print help
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
### car replay
|
|
307
|
+
|
|
308
|
+
```text
|
|
309
|
+
Replay an event journal and show reconstructed state
|
|
310
|
+
|
|
311
|
+
Usage: car replay <JOURNAL>
|
|
312
|
+
|
|
313
|
+
Arguments:
|
|
314
|
+
<JOURNAL> Path to JSONL journal file
|
|
315
|
+
|
|
316
|
+
Options:
|
|
317
|
+
-h, --help Print help
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
### car run-task
|
|
321
|
+
|
|
322
|
+
```text
|
|
323
|
+
Run a goal autonomously against stdio MCP tool servers, emitting a JSONL transcript. Headless entry
|
|
324
|
+
point for external eval harnesses
|
|
325
|
+
|
|
326
|
+
Usage: car run-task [OPTIONS] --goal-file <GOAL_FILE> --mcp-config <MCP_CONFIG> --transcript
|
|
327
|
+
<TRANSCRIPT> --model <MODEL>
|
|
328
|
+
|
|
329
|
+
Options:
|
|
330
|
+
--goal-file <GOAL_FILE> File whose contents are the task instruction
|
|
331
|
+
--mcp-config <MCP_CONFIG> JSON file listing the stdio MCP servers to expose as tools
|
|
332
|
+
--transcript <TRANSCRIPT> Where to write the JSONL transcript
|
|
333
|
+
--eventlog <EVENTLOG> Where to write the engine event journal (optional)
|
|
334
|
+
--max-turns <MAX_TURNS> Hard cap on agent loop turns [default: 100]
|
|
335
|
+
--model <MODEL> Inference model id (resolved by CAR's registry/router)
|
|
336
|
+
--resume Resume from a checkpoint next to the transcript if one exists
|
|
337
|
+
(survives a crash / SIGKILL / VM-host restart mid-run)
|
|
338
|
+
--gui-subagent Route GUI (mcp_cua_*) tools through a delegate_gui sub-agent
|
|
339
|
+
instead of exposing them to the main model (also via CAR_RUNTASK_GUI_SUBAGENT=1)
|
|
340
|
+
-h, --help Print help
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
### car code-task
|
|
344
|
+
|
|
345
|
+
```text
|
|
346
|
+
Run a coder session headlessly and IN THIS PROCESS: derive or accept an outcome contract, work in a
|
|
347
|
+
git worktree until the runtime's own re-run of that contract is green, then deliver the result as a
|
|
348
|
+
pull request.
|
|
349
|
+
|
|
350
|
+
No daemon is contacted and none needs to be running — this drives `car_server_core::coder` as a
|
|
351
|
+
library. `car code` is the interactive twin, and it does go through the daemon.
|
|
352
|
+
|
|
353
|
+
Usage: car code-task [OPTIONS] --repo <REPO>
|
|
354
|
+
|
|
355
|
+
Options:
|
|
356
|
+
--repo <REPO>
|
|
357
|
+
Repository to work in (must be a git repo)
|
|
358
|
+
|
|
359
|
+
--intent-file <INTENT_FILE>
|
|
360
|
+
File whose contents are the intent. Exactly one of --intent-file/--intent
|
|
361
|
+
|
|
362
|
+
--intent <INTENT>
|
|
363
|
+
Inline intent. Exactly one of --intent-file/--intent
|
|
364
|
+
|
|
365
|
+
--contract-file <CONTRACT_FILE>
|
|
366
|
+
JSON `OutcomeContract`. When present, contract derivation does not run
|
|
367
|
+
|
|
368
|
+
--target-branch <TARGET_BRANCH>
|
|
369
|
+
Stable delivery branch. Required for `--deliver pr`
|
|
370
|
+
|
|
371
|
+
--pr-base <PR_BASE>
|
|
372
|
+
PR base branch. Defaults to the repo's default branch
|
|
373
|
+
|
|
374
|
+
--draft
|
|
375
|
+
Open the pull request as a draft
|
|
376
|
+
|
|
377
|
+
--deliver <DELIVER>
|
|
378
|
+
pr | branch | none. Defaults to `pr` when --target-branch is given, else `branch`
|
|
379
|
+
|
|
380
|
+
Possible values:
|
|
381
|
+
- pr: Push the delivery branch and reconcile exactly one pull request for it
|
|
382
|
+
- branch: Create a local `car/coder/<id>` branch in the repo and stop there
|
|
383
|
+
- none: Verify only. Nothing leaves the worktree
|
|
384
|
+
|
|
385
|
+
--model <MODEL>
|
|
386
|
+
Pin the inference model for this session
|
|
387
|
+
|
|
388
|
+
--max-iterations <MAX_ITERATIONS>
|
|
389
|
+
Override the coder config's iteration ceiling (default 8)
|
|
390
|
+
|
|
391
|
+
--max-session-wall-secs <MAX_SESSION_WALL_SECS>
|
|
392
|
+
Override the coder config's session wall clock (default 3600). 0 = unlimited
|
|
393
|
+
|
|
394
|
+
--max-check-timeout-secs <MAX_CHECK_TIMEOUT_SECS>
|
|
395
|
+
Ceiling for ONE contract check's command (default 600). Raise it for a verification gate
|
|
396
|
+
that legitimately runs longer than ten minutes; the model's own `shell` tool keeps the
|
|
397
|
+
600s ceiling regardless
|
|
398
|
+
|
|
399
|
+
--workspace-dir <WORKSPACE_DIR>
|
|
400
|
+
Explicit workspace location. Reused when it is already a valid worktree
|
|
401
|
+
|
|
402
|
+
--keep-workspace
|
|
403
|
+
Keep the workspace on any non-zero exit (and on a green `--deliver none` run, where the
|
|
404
|
+
worktree is the only copy), for the next round to reuse
|
|
405
|
+
|
|
406
|
+
--transcript <TRANSCRIPT>
|
|
407
|
+
Also mirror the JSONL event stream to this file
|
|
408
|
+
|
|
409
|
+
--json
|
|
410
|
+
Emit the JSONL event stream on stdout, one compact object per line
|
|
411
|
+
|
|
412
|
+
-h, --help
|
|
413
|
+
Print help (see a summary with '-h')
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
### car coder-ab
|
|
417
|
+
|
|
418
|
+
```text
|
|
419
|
+
A/B-test CAR's coder against an external agent (Codex / Claude Code) over a corpus, and grow that
|
|
420
|
+
corpus from git history — the productionized dogfooding loop (docs/proposals/coder-ab-dogfood.md)
|
|
421
|
+
|
|
422
|
+
Usage: car coder-ab <COMMAND>
|
|
423
|
+
|
|
424
|
+
Commands:
|
|
425
|
+
run Run the paired A/B over a corpus manifest, verify each arm against the task's own
|
|
426
|
+
contract, and write a JSON report. Exits non-zero when CAR is significantly *behind* the external
|
|
427
|
+
arm (McNemar), so it doubles as a CI regression gate. Needs a running daemon (`car code` routes to
|
|
428
|
+
it)
|
|
429
|
+
extract Grow the corpus from a git repo's history: for each recent commit that fixes code AND
|
|
430
|
+
touches a test, materialize the pre-fix (failing) state as a task (parent's source + the commit's
|
|
431
|
+
test), keep only tasks whose test actually fails at that state, and append them to a corpus.
|
|
432
|
+
Best-effort candidate generation for human review
|
|
433
|
+
help Print this message or the help of the given subcommand(s)
|
|
434
|
+
|
|
435
|
+
Options:
|
|
436
|
+
-h, --help Print help
|
|
437
|
+
```
|
|
438
|
+
|
|
439
|
+
#### car coder-ab run
|
|
440
|
+
|
|
441
|
+
```text
|
|
442
|
+
Run the paired A/B over a corpus manifest, verify each arm against the task's own contract, and
|
|
443
|
+
write a JSON report. Exits non-zero when CAR is significantly *behind* the external arm (McNemar),
|
|
444
|
+
so it doubles as a CI regression gate. Needs a running daemon (`car code` routes to it)
|
|
445
|
+
|
|
446
|
+
Usage: car coder-ab run [OPTIONS] --corpus <CORPUS>
|
|
447
|
+
|
|
448
|
+
Options:
|
|
449
|
+
--corpus <CORPUS>
|
|
450
|
+
Corpus manifest (JSONL of tasks; see bench/coder-ab/README.md)
|
|
451
|
+
--external <EXTERNAL>
|
|
452
|
+
External comparison engine (codex | claude-code | gemini). Omit to run native-only
|
|
453
|
+
--model <MODEL>
|
|
454
|
+
Pin CAR's arm to a backbone, as a CAR model id (e.g. parslee/reasoning). Backbone choice
|
|
455
|
+
is ~3x the harness spread, so an unpinned run measures the model, not the runtime. NOT
|
|
456
|
+
forwarded to an external arm — a CAR id means nothing to another CLI; use --external-model
|
|
457
|
+
for that arm
|
|
458
|
+
--external-model <EXTERNAL_MODEL>
|
|
459
|
+
Pin the external arm's backbone, in THAT CLI's own id namespace (e.g. gpt-5.5 for `codex
|
|
460
|
+
-m`). Omit and the CLI uses its own configured default — the report then says UNPINNED,
|
|
461
|
+
since the backbone is unverified. For a fair same-backbone A/B pass both flags naming the
|
|
462
|
+
same model (--model parslee/reasoning --external-model gpt-5.5); to measure the cross-tier
|
|
463
|
+
diagonal name different tiers (--model openai/gpt-5.4 --external-model gpt-5.5). Differing
|
|
464
|
+
pins are reported as DIFFERENT PINS and are NOT a harness delta
|
|
465
|
+
--iters <ITERS>
|
|
466
|
+
Native arm's repair-iteration cap per task. Defaults to the coder's OWN shipping default,
|
|
467
|
+
so the A/B measures the coder users actually get — it used to hardcode 4, i.e. half of it.
|
|
468
|
+
Raise it when the cap binds: a weaker backbone needs more rounds, and a run whose losses
|
|
469
|
+
all end at `iteration N/N` is measuring this number, not the harness (at gpt-5.4, 4 → 45%
|
|
470
|
+
and 20 → 75%, every loss cap-bound at both). The external arm is not capped by this — it
|
|
471
|
+
gets its CLI's own turn budget (`max_turns: 50` per invocation), so setting this low is a
|
|
472
|
+
silent handicap [default: 8]
|
|
473
|
+
--out-dir <OUT_DIR>
|
|
474
|
+
Directory for the timestamped JSON report [default: bench/results/coder-ab]
|
|
475
|
+
--timeout-secs <TIMEOUT_SECS>
|
|
476
|
+
Per-task wall bound (seconds) for the NATIVE arm before it's infra. The native reasoning
|
|
477
|
+
loop can legitimately take many minutes [default: 900]
|
|
478
|
+
--external-timeout-secs <EXTERNAL_TIMEOUT_SECS>
|
|
479
|
+
Per-task wall bound (seconds) for the EXTERNAL arm (Codex/Claude Code). An external CLI
|
|
480
|
+
finishes fast or is stuck, so keep this well below `--timeout-secs` — a stuck external run
|
|
481
|
+
otherwise burns the native budget and drags the whole suite [default: 300]
|
|
482
|
+
--limit <LIMIT>
|
|
483
|
+
Run at most this many not-yet-scored tasks, then stop (the rest resume on the next run).
|
|
484
|
+
Omit to run all remaining. `--limit 1` runs one task so you can inspect it and fix what it
|
|
485
|
+
surfaces before continuing
|
|
486
|
+
--fresh
|
|
487
|
+
Ignore any existing checkpoint for this corpus and re-score from scratch
|
|
488
|
+
--report-issues
|
|
489
|
+
File each durable-fix proposal that clears the reporting bar as an issue on --report-repo,
|
|
490
|
+
skipping signatures already open there. Off by default: a measurement run must not open
|
|
491
|
+
issues on a shared tracker as a side effect
|
|
492
|
+
--report-repo <REPORT_REPO>
|
|
493
|
+
Where --report-issues files. The releases repo by default, not the source repo — filing a
|
|
494
|
+
defect report needs no source checkout [default: Parslee-ai/car-releases]
|
|
495
|
+
-h, --help
|
|
496
|
+
Print help
|
|
497
|
+
```
|
|
498
|
+
|
|
499
|
+
#### car coder-ab extract
|
|
500
|
+
|
|
501
|
+
```text
|
|
502
|
+
Grow the corpus from a git repo's history: for each recent commit that fixes code AND touches a
|
|
503
|
+
test, materialize the pre-fix (failing) state as a task (parent's source + the commit's test), keep
|
|
504
|
+
only tasks whose test actually fails at that state, and append them to a corpus. Best-effort
|
|
505
|
+
candidate generation for human review
|
|
506
|
+
|
|
507
|
+
Usage: car coder-ab extract [OPTIONS] --out <OUT>
|
|
508
|
+
|
|
509
|
+
Options:
|
|
510
|
+
--repo <REPO>
|
|
511
|
+
Repo to mine (default: current dir)
|
|
512
|
+
|
|
513
|
+
[default: .]
|
|
514
|
+
|
|
515
|
+
--out <OUT>
|
|
516
|
+
Corpus directory to write (`manifest.jsonl` + `tasks/<id>/`)
|
|
517
|
+
|
|
518
|
+
--test-cmd <TEST_CMD>
|
|
519
|
+
Command that verifies a task (the contract check), run in each task dir. `pytest -q`
|
|
520
|
+
rather than `python3 -m pytest -q`: `python3` does not exist on a standard Windows
|
|
521
|
+
python.org install, and `python` is often absent on macOS/Linux — pytest's console script
|
|
522
|
+
is the portable spelling
|
|
523
|
+
|
|
524
|
+
[default: "pytest -q"]
|
|
525
|
+
|
|
526
|
+
--path <PATH>
|
|
527
|
+
Only mine commits touching paths under this prefix
|
|
528
|
+
|
|
529
|
+
--max <MAX>
|
|
530
|
+
Limit to this many recent commits scanned
|
|
531
|
+
|
|
532
|
+
[default: 50]
|
|
533
|
+
|
|
534
|
+
--max-files <MAX_FILES>
|
|
535
|
+
Skip a commit whose changed-file count exceeds this (keep tasks small)
|
|
536
|
+
|
|
537
|
+
[default: 6]
|
|
538
|
+
|
|
539
|
+
--full-tree
|
|
540
|
+
Materialize the FULL pre-fix source tree into each task (not just the changed files), so a
|
|
541
|
+
package-structured repo's sibling imports resolve and the test fails on the real bug — not
|
|
542
|
+
a `ModuleNotFoundError`. Recommended for any repo whose modules import each other
|
|
543
|
+
|
|
544
|
+
--subject-filter <SUBJECT_FILTER>
|
|
545
|
+
Keep only commits whose subject contains this substring (e.g. `fix(`).
|
|
546
|
+
|
|
547
|
+
On a Rust repo this is close to required: a `feat` commit's test imports a symbol the
|
|
548
|
+
commit itself adds, so it cannot compile at the pre-fix parent. Such tasks are rejected
|
|
549
|
+
anyway, but only after a full tree materialize + build, which costs 30-200s each.
|
|
550
|
+
|
|
551
|
+
-h, --help
|
|
552
|
+
Print help (see a summary with '-h')
|
|
553
|
+
```
|
|
554
|
+
|
|
555
|
+
### car keys
|
|
556
|
+
|
|
557
|
+
```text
|
|
558
|
+
Store cloud-provider API keys in the OS keychain, so a native-app user never sets an environment
|
|
559
|
+
variable (docs/proposals/native-secrets-no-env.md). The key is read env-first, keychain-fallback by
|
|
560
|
+
the runtime
|
|
561
|
+
|
|
562
|
+
Usage: car keys <COMMAND>
|
|
563
|
+
|
|
564
|
+
Commands:
|
|
565
|
+
set Store a provider key in the keychain. `<name>` is a provider
|
|
566
|
+
(openai/anthropic/gemini/elevenlabs/github/aws) or a raw env-var name. Omit `<value>` to read it
|
|
567
|
+
from stdin (keeps it out of shell history)
|
|
568
|
+
list Show which provider keys are configured (keychain or env); values hidden
|
|
569
|
+
remove Remove a stored provider key from the keychain
|
|
570
|
+
help Print this message or the help of the given subcommand(s)
|
|
571
|
+
|
|
572
|
+
Options:
|
|
573
|
+
-h, --help Print help
|
|
574
|
+
```
|
|
575
|
+
|
|
576
|
+
#### car keys set
|
|
577
|
+
|
|
578
|
+
```text
|
|
579
|
+
Store a provider key in the keychain. `<name>` is a provider
|
|
580
|
+
(openai/anthropic/gemini/elevenlabs/github/aws) or a raw env-var name. Omit `<value>` to read it
|
|
581
|
+
from stdin (keeps it out of shell history)
|
|
582
|
+
|
|
583
|
+
Usage: car keys set <NAME> [VALUE]
|
|
584
|
+
|
|
585
|
+
Arguments:
|
|
586
|
+
<NAME>
|
|
587
|
+
[VALUE]
|
|
588
|
+
|
|
589
|
+
Options:
|
|
590
|
+
-h, --help Print help
|
|
591
|
+
```
|
|
592
|
+
|
|
593
|
+
#### car keys list
|
|
594
|
+
|
|
595
|
+
```text
|
|
596
|
+
Show which provider keys are configured (keychain or env); values hidden
|
|
597
|
+
|
|
598
|
+
Usage: car keys list
|
|
599
|
+
|
|
600
|
+
Options:
|
|
601
|
+
-h, --help Print help
|
|
602
|
+
```
|
|
603
|
+
|
|
604
|
+
#### car keys remove
|
|
605
|
+
|
|
606
|
+
```text
|
|
607
|
+
Remove a stored provider key from the keychain
|
|
608
|
+
|
|
609
|
+
Usage: car keys remove <NAME>
|
|
610
|
+
|
|
611
|
+
Arguments:
|
|
612
|
+
<NAME>
|
|
613
|
+
|
|
614
|
+
Options:
|
|
615
|
+
-h, --help Print help
|
|
616
|
+
```
|
|
617
|
+
|
|
618
|
+
### car daemon
|
|
619
|
+
|
|
620
|
+
```text
|
|
621
|
+
Start the daemon server (delegates to car-server binary)
|
|
622
|
+
|
|
623
|
+
Usage: car daemon [OPTIONS]
|
|
624
|
+
|
|
625
|
+
Options:
|
|
626
|
+
-p, --port <PORT> Port to listen on [default: 9100]
|
|
627
|
+
-h, --help Print help
|
|
628
|
+
```
|
|
629
|
+
|
|
630
|
+
### car models
|
|
631
|
+
|
|
632
|
+
```text
|
|
633
|
+
Manage local inference models
|
|
634
|
+
|
|
635
|
+
Usage: car models <COMMAND>
|
|
636
|
+
|
|
637
|
+
Commands:
|
|
638
|
+
list List available models and download status
|
|
639
|
+
discover Discover models exposed by a running vLLM-MLX server
|
|
640
|
+
pull Download a model
|
|
641
|
+
resource-policy Inspect or update the local-model RAM policy
|
|
642
|
+
preflight Evaluate one local model without downloading or loading it
|
|
643
|
+
adopt Adopt an already-usable local artifact into CAR ownership
|
|
644
|
+
recommend Recommend the best model for this machine and what you want to do
|
|
645
|
+
remove Remove a downloaded model
|
|
646
|
+
upgrades Show installed models that have curated newer replacements
|
|
647
|
+
upgrade Upgrade installed models to curated newer replacements when CAR can do so
|
|
648
|
+
serve Start an external MLX runtime for a cataloged local-server model
|
|
649
|
+
add Add any HuggingFace model by repo id, deriving its schema automatically
|
|
650
|
+
register Register a custom model from a JSON schema file
|
|
651
|
+
unregister Unregister a model by ID
|
|
652
|
+
stats Show performance stats for models based on observed outcomes
|
|
653
|
+
benchmark Benchmark curated models and write benchmark priors for cold-start routing
|
|
654
|
+
doctor Report configured defaults, provider health, and modality coverage
|
|
655
|
+
smoke Run representative live model checks across text, code, tool, vision, and speech
|
|
656
|
+
route Route a prompt and show which model would be selected (dry run)
|
|
657
|
+
help Print this message or the help of the given subcommand(s)
|
|
658
|
+
|
|
659
|
+
Options:
|
|
660
|
+
-h, --help Print help
|
|
661
|
+
```
|
|
662
|
+
|
|
663
|
+
#### car models list
|
|
664
|
+
|
|
665
|
+
```text
|
|
666
|
+
List available models and download status
|
|
667
|
+
|
|
668
|
+
Usage: car models list [OPTIONS]
|
|
669
|
+
|
|
670
|
+
Options:
|
|
671
|
+
-c, --capability <CAPABILITY> Filter by capability (generate, embed, code, reasoning, etc.)
|
|
672
|
+
--provider <PROVIDER> Filter by provider (e.g., openai, qwen, google, vllm-mlx)
|
|
673
|
+
--local-only Only show local models
|
|
674
|
+
-h, --help Print help
|
|
675
|
+
```
|
|
676
|
+
|
|
677
|
+
#### car models discover
|
|
678
|
+
|
|
679
|
+
```text
|
|
680
|
+
Discover models exposed by a running vLLM-MLX server
|
|
681
|
+
|
|
682
|
+
Usage: car models discover [OPTIONS]
|
|
683
|
+
|
|
684
|
+
Options:
|
|
685
|
+
--json Output as JSON
|
|
686
|
+
-h, --help Print help
|
|
687
|
+
```
|
|
688
|
+
|
|
689
|
+
#### car models pull
|
|
690
|
+
|
|
691
|
+
```text
|
|
692
|
+
Download a model
|
|
693
|
+
|
|
694
|
+
Usage: car models pull <NAME>
|
|
695
|
+
|
|
696
|
+
Arguments:
|
|
697
|
+
<NAME> Model name (e.g., Qwen3-0.6B, Qwen3-1.7B)
|
|
698
|
+
|
|
699
|
+
Options:
|
|
700
|
+
-h, --help Print help
|
|
701
|
+
```
|
|
702
|
+
|
|
703
|
+
#### car models resource-policy
|
|
704
|
+
|
|
705
|
+
```text
|
|
706
|
+
Inspect or update the local-model RAM policy
|
|
707
|
+
|
|
708
|
+
Usage: car models resource-policy <COMMAND>
|
|
709
|
+
|
|
710
|
+
Commands:
|
|
711
|
+
get Show the saved policy and its evaluated machine budget
|
|
712
|
+
set Persist a policy. Custom values are exact MB in 512 MB increments
|
|
713
|
+
help Print this message or the help of the given subcommand(s)
|
|
714
|
+
|
|
715
|
+
Options:
|
|
716
|
+
-h, --help Print help
|
|
717
|
+
```
|
|
718
|
+
|
|
719
|
+
#### car models preflight
|
|
720
|
+
|
|
721
|
+
```text
|
|
722
|
+
Evaluate one local model without downloading or loading it
|
|
723
|
+
|
|
724
|
+
Usage: car models preflight [OPTIONS] <MODEL_ID>
|
|
725
|
+
|
|
726
|
+
Arguments:
|
|
727
|
+
<MODEL_ID>
|
|
728
|
+
|
|
729
|
+
Options:
|
|
730
|
+
--context-tokens <CONTEXT_TOKENS> [default: 0]
|
|
731
|
+
-h, --help Print help
|
|
732
|
+
```
|
|
733
|
+
|
|
734
|
+
#### car models adopt
|
|
735
|
+
|
|
736
|
+
```text
|
|
737
|
+
Adopt an already-usable local artifact into CAR ownership
|
|
738
|
+
|
|
739
|
+
Usage: car models adopt <MODEL_ID>
|
|
740
|
+
|
|
741
|
+
Arguments:
|
|
742
|
+
<MODEL_ID>
|
|
743
|
+
|
|
744
|
+
Options:
|
|
745
|
+
-h, --help Print help
|
|
746
|
+
```
|
|
747
|
+
|
|
748
|
+
#### car models recommend
|
|
749
|
+
|
|
750
|
+
```text
|
|
751
|
+
Recommend the best model for this machine and what you want to do
|
|
752
|
+
|
|
753
|
+
Usage: car models recommend [OPTIONS]
|
|
754
|
+
|
|
755
|
+
Options:
|
|
756
|
+
--for <USE_CASE> What you'll use it for: assistant, coding, search, vision, transcription,
|
|
757
|
+
summarize [default: assistant]
|
|
758
|
+
--tier <TIER> Speed/quality: fastest, balanced, most-capable [default: balanced]
|
|
759
|
+
--cloud-ok Allow cloud models to compete (default: on-device only)
|
|
760
|
+
-h, --help Print help
|
|
761
|
+
```
|
|
762
|
+
|
|
763
|
+
#### car models remove
|
|
764
|
+
|
|
765
|
+
```text
|
|
766
|
+
Remove a downloaded model
|
|
767
|
+
|
|
768
|
+
Usage: car models remove <NAME>
|
|
769
|
+
|
|
770
|
+
Arguments:
|
|
771
|
+
<NAME> Model name
|
|
772
|
+
|
|
773
|
+
Options:
|
|
774
|
+
-h, --help Print help
|
|
775
|
+
```
|
|
776
|
+
|
|
777
|
+
#### car models upgrades
|
|
778
|
+
|
|
779
|
+
```text
|
|
780
|
+
Show installed models that have curated newer replacements
|
|
781
|
+
|
|
782
|
+
Usage: car models upgrades [OPTIONS]
|
|
783
|
+
|
|
784
|
+
Options:
|
|
785
|
+
--json Output as JSON
|
|
786
|
+
-h, --help Print help
|
|
787
|
+
```
|
|
788
|
+
|
|
789
|
+
#### car models upgrade
|
|
790
|
+
|
|
791
|
+
```text
|
|
792
|
+
Upgrade installed models to curated newer replacements when CAR can do so
|
|
793
|
+
|
|
794
|
+
Usage: car models upgrade [OPTIONS]
|
|
795
|
+
|
|
796
|
+
Options:
|
|
797
|
+
--apply Actually perform supported downloads/removals. Without this, print a plan
|
|
798
|
+
--remove-old Remove the older local model after a replacement is available
|
|
799
|
+
--json Output as JSON
|
|
800
|
+
-h, --help Print help
|
|
801
|
+
```
|
|
802
|
+
|
|
803
|
+
#### car models serve
|
|
804
|
+
|
|
805
|
+
```text
|
|
806
|
+
Start an external MLX runtime for a cataloged local-server model
|
|
807
|
+
|
|
808
|
+
Usage: car models serve [OPTIONS] <MODEL>
|
|
809
|
+
|
|
810
|
+
Arguments:
|
|
811
|
+
<MODEL> Model id, short alias, or Hugging Face repo to serve
|
|
812
|
+
|
|
813
|
+
Options:
|
|
814
|
+
--port <PORT> Port for the OpenAI-compatible local server [default: 8000]
|
|
815
|
+
--dry-run Print the command without starting the server
|
|
816
|
+
--json Output as JSON
|
|
817
|
+
-h, --help Print help
|
|
818
|
+
```
|
|
819
|
+
|
|
820
|
+
#### car models add
|
|
821
|
+
|
|
822
|
+
```text
|
|
823
|
+
Add any HuggingFace model by repo id, deriving its schema automatically
|
|
824
|
+
|
|
825
|
+
Reads the repo's `config.json` and picks the right backend for you: architectures with an in-process
|
|
826
|
+
Rust MLX backend register as native, everything else routes to the supervised vLLM-MLX runtime. This
|
|
827
|
+
is the path that does NOT require a CAR release to adopt a new model.
|
|
828
|
+
|
|
829
|
+
Usage: car models add [OPTIONS] <REPO>
|
|
830
|
+
|
|
831
|
+
Arguments:
|
|
832
|
+
<REPO>
|
|
833
|
+
HuggingFace repo id, e.g. `mlx-community/Qwen3.8-27B-4bit`
|
|
834
|
+
|
|
835
|
+
Options:
|
|
836
|
+
--dry-run
|
|
837
|
+
Show the derived schema without registering it
|
|
838
|
+
|
|
839
|
+
--pull
|
|
840
|
+
Download the weights now instead of on first use
|
|
841
|
+
|
|
842
|
+
-h, --help
|
|
843
|
+
Print help (see a summary with '-h')
|
|
844
|
+
```
|
|
845
|
+
|
|
846
|
+
#### car models register
|
|
847
|
+
|
|
848
|
+
```text
|
|
849
|
+
Register a custom model from a JSON schema file
|
|
850
|
+
|
|
851
|
+
Usage: car models register <SCHEMA>
|
|
852
|
+
|
|
853
|
+
Arguments:
|
|
854
|
+
<SCHEMA> Path to model schema JSON file
|
|
855
|
+
|
|
856
|
+
Options:
|
|
857
|
+
-h, --help Print help
|
|
858
|
+
```
|
|
859
|
+
|
|
860
|
+
#### car models unregister
|
|
861
|
+
|
|
862
|
+
```text
|
|
863
|
+
Unregister a model by ID
|
|
864
|
+
|
|
865
|
+
Usage: car models unregister <ID>
|
|
866
|
+
|
|
867
|
+
Arguments:
|
|
868
|
+
<ID> Model ID (e.g., "anthropic/claude-sonnet-4-6:latest")
|
|
869
|
+
|
|
870
|
+
Options:
|
|
871
|
+
-h, --help Print help
|
|
872
|
+
```
|
|
873
|
+
|
|
874
|
+
#### car models stats
|
|
875
|
+
|
|
876
|
+
```text
|
|
877
|
+
Show performance stats for models based on observed outcomes
|
|
878
|
+
|
|
879
|
+
Usage: car models stats [ID]
|
|
880
|
+
|
|
881
|
+
Arguments:
|
|
882
|
+
[ID] Model ID (omit for all models)
|
|
883
|
+
|
|
884
|
+
Options:
|
|
885
|
+
-h, --help Print help
|
|
886
|
+
```
|
|
887
|
+
|
|
888
|
+
#### car models benchmark
|
|
889
|
+
|
|
890
|
+
```text
|
|
891
|
+
Benchmark curated models and write benchmark priors for cold-start routing
|
|
892
|
+
|
|
893
|
+
Usage: car models benchmark [OPTIONS]
|
|
894
|
+
|
|
895
|
+
Options:
|
|
896
|
+
--json Output as JSON
|
|
897
|
+
--models <MODELS> Optional comma-separated model names to benchmark
|
|
898
|
+
--cases <CASES> Optional comma-separated benchmark case ids
|
|
899
|
+
--judge-model <JUDGE_MODEL> Optional judge model override
|
|
900
|
+
-h, --help Print help
|
|
901
|
+
```
|
|
902
|
+
|
|
903
|
+
#### car models doctor
|
|
904
|
+
|
|
905
|
+
```text
|
|
906
|
+
Report configured defaults, provider health, and modality coverage
|
|
907
|
+
|
|
908
|
+
Usage: car models doctor [OPTIONS]
|
|
909
|
+
|
|
910
|
+
Options:
|
|
911
|
+
--json Output as JSON
|
|
912
|
+
--mlx Only report MLX runtime/tooling diagnostics
|
|
913
|
+
-h, --help Print help
|
|
914
|
+
```
|
|
915
|
+
|
|
916
|
+
#### car models smoke
|
|
917
|
+
|
|
918
|
+
```text
|
|
919
|
+
Run representative live model checks across text, code, tool, vision, and speech
|
|
920
|
+
|
|
921
|
+
Usage: car models smoke [OPTIONS]
|
|
922
|
+
|
|
923
|
+
Options:
|
|
924
|
+
--json Output as JSON
|
|
925
|
+
--dry-run Only validate routing/orchestration without making live model calls
|
|
926
|
+
-h, --help Print help
|
|
927
|
+
```
|
|
928
|
+
|
|
929
|
+
#### car models route
|
|
930
|
+
|
|
931
|
+
```text
|
|
932
|
+
Route a prompt and show which model would be selected (dry run)
|
|
933
|
+
|
|
934
|
+
Usage: car models route <PROMPT>
|
|
935
|
+
|
|
936
|
+
Arguments:
|
|
937
|
+
<PROMPT> Prompt to route
|
|
938
|
+
|
|
939
|
+
Options:
|
|
940
|
+
-h, --help Print help
|
|
941
|
+
```
|
|
942
|
+
|
|
943
|
+
### car setup
|
|
944
|
+
|
|
945
|
+
```text
|
|
946
|
+
Set up the right model for this machine — detect hardware, recommend, and install. Run with no flags
|
|
947
|
+
for an interactive walkthrough
|
|
948
|
+
|
|
949
|
+
Usage: car setup [OPTIONS]
|
|
950
|
+
|
|
951
|
+
Options:
|
|
952
|
+
--use-case <USE_CASE> What you'll mainly do: assistant, coding, search, vision,
|
|
953
|
+
transcription, summarize. Prompted if omitted
|
|
954
|
+
--tier <TIER> Speed/quality preference: fastest, balanced, most-capable [default:
|
|
955
|
+
balanced]
|
|
956
|
+
--cloud-ok Allow cloud models to compete (default: on-device only)
|
|
957
|
+
--yes Don't prompt — accept the top recommendation. For scripts/CI
|
|
958
|
+
-h, --help Print help
|
|
959
|
+
```
|
|
960
|
+
|
|
961
|
+
### car speech
|
|
962
|
+
|
|
963
|
+
```text
|
|
964
|
+
Manage CAR speech runtime, health checks, and smoke tests
|
|
965
|
+
|
|
966
|
+
Usage: car speech <COMMAND>
|
|
967
|
+
|
|
968
|
+
Commands:
|
|
969
|
+
install Install the managed speech runtime and curated local speech models
|
|
970
|
+
doctor Report managed speech runtime, local model cache, and remote-provider health
|
|
971
|
+
smoke Run end-to-end speech smoke tests through CAR
|
|
972
|
+
help Print this message or the help of the given subcommand(s)
|
|
973
|
+
|
|
974
|
+
Options:
|
|
975
|
+
-h, --help Print help
|
|
976
|
+
```
|
|
977
|
+
|
|
978
|
+
#### car speech install
|
|
979
|
+
|
|
980
|
+
```text
|
|
981
|
+
Install the managed speech runtime and curated local speech models
|
|
982
|
+
|
|
983
|
+
Usage: car speech install [OPTIONS]
|
|
984
|
+
|
|
985
|
+
Options:
|
|
986
|
+
--json Output as JSON
|
|
987
|
+
-h, --help Print help
|
|
988
|
+
```
|
|
989
|
+
|
|
990
|
+
#### car speech doctor
|
|
991
|
+
|
|
992
|
+
```text
|
|
993
|
+
Report managed speech runtime, local model cache, and remote-provider health
|
|
994
|
+
|
|
995
|
+
Usage: car speech doctor [OPTIONS]
|
|
996
|
+
|
|
997
|
+
Options:
|
|
998
|
+
--json Output as JSON
|
|
999
|
+
-h, --help Print help
|
|
1000
|
+
```
|
|
1001
|
+
|
|
1002
|
+
#### car speech smoke
|
|
1003
|
+
|
|
1004
|
+
```text
|
|
1005
|
+
Run end-to-end speech smoke tests through CAR
|
|
1006
|
+
|
|
1007
|
+
Usage: car speech smoke [OPTIONS]
|
|
1008
|
+
|
|
1009
|
+
Options:
|
|
1010
|
+
--local-only Only run the local speech path
|
|
1011
|
+
--remote-only Only run the remote speech path
|
|
1012
|
+
--json Output as JSON
|
|
1013
|
+
-h, --help Print help
|
|
1014
|
+
```
|
|
1015
|
+
|
|
1016
|
+
### car infer
|
|
1017
|
+
|
|
1018
|
+
```text
|
|
1019
|
+
Run text generation with a local model
|
|
1020
|
+
|
|
1021
|
+
Usage: car infer [OPTIONS] <PROMPT>
|
|
1022
|
+
|
|
1023
|
+
Arguments:
|
|
1024
|
+
<PROMPT> Prompt text
|
|
1025
|
+
|
|
1026
|
+
Options:
|
|
1027
|
+
-m, --model <MODEL> Model name (default: Qwen3-1.7B)
|
|
1028
|
+
--image <IMAGE> Local image path to include for vision-language inference. May be
|
|
1029
|
+
repeated
|
|
1030
|
+
--workload <WORKLOAD> Workload class for routing: interactive, batch, or background
|
|
1031
|
+
[default: interactive]
|
|
1032
|
+
--max-tokens <MAX_TOKENS> Max tokens to generate [default: 512]
|
|
1033
|
+
--temperature <TEMPERATURE> Temperature (0.0 = greedy) [default: 0.7]
|
|
1034
|
+
--thinking <THINKING> Qwen3 thinking mode: `off` injects `/no_think` and prefills a
|
|
1035
|
+
closed `<think></think>` block (direct answer, no reasoning); `on` injects `/think` (force
|
|
1036
|
+
reasoning); `auto` trusts the model's trained default. CLI defaults to `off` because Qwen3's
|
|
1037
|
+
trained default is reasoning-on, which chews through small `--max-tokens` budgets inside an
|
|
1038
|
+
unclosed `<think>` block and makes the post-strip text empty (issue #168). Set `auto` or `on`
|
|
1039
|
+
for tasks that actually want reasoning, and pair with a larger `--max-tokens` so the model can
|
|
1040
|
+
both think and answer [default: off]
|
|
1041
|
+
-h, --help Print help
|
|
1042
|
+
```
|
|
1043
|
+
|
|
1044
|
+
### car image
|
|
1045
|
+
|
|
1046
|
+
```text
|
|
1047
|
+
Generate an image with a local MLX model
|
|
1048
|
+
|
|
1049
|
+
Usage: car image [OPTIONS] <PROMPT>
|
|
1050
|
+
|
|
1051
|
+
Arguments:
|
|
1052
|
+
<PROMPT> Prompt text
|
|
1053
|
+
|
|
1054
|
+
Options:
|
|
1055
|
+
-m, --model <MODEL> Model name
|
|
1056
|
+
-o, --output <OUTPUT> Output path
|
|
1057
|
+
--width <WIDTH> Image width
|
|
1058
|
+
--height <HEIGHT> Image height
|
|
1059
|
+
--steps <STEPS> Sampling steps
|
|
1060
|
+
--guidance <GUIDANCE> CFG / guidance scale
|
|
1061
|
+
--seed <SEED> Random seed
|
|
1062
|
+
-h, --help Print help
|
|
1063
|
+
```
|
|
1064
|
+
|
|
1065
|
+
### car video
|
|
1066
|
+
|
|
1067
|
+
```text
|
|
1068
|
+
Generate a video with a local MLX model
|
|
1069
|
+
|
|
1070
|
+
Usage: car video [OPTIONS] <PROMPT>
|
|
1071
|
+
|
|
1072
|
+
Arguments:
|
|
1073
|
+
<PROMPT> Prompt text
|
|
1074
|
+
|
|
1075
|
+
Options:
|
|
1076
|
+
-m, --model <MODEL> Model name
|
|
1077
|
+
-o, --output <OUTPUT> Output path
|
|
1078
|
+
--width <WIDTH> Video width
|
|
1079
|
+
--height <HEIGHT> Video height
|
|
1080
|
+
--frames <FRAMES> Number of frames
|
|
1081
|
+
--steps <STEPS> Sampling steps
|
|
1082
|
+
--guidance <GUIDANCE> CFG / guidance scale
|
|
1083
|
+
--fps <FPS> Frames per second
|
|
1084
|
+
--seed <SEED> Random seed
|
|
1085
|
+
--image <IMAGE> Reference image for image-to-video (first frame anchor)
|
|
1086
|
+
--audio-video Enable joint audio+video synthesis (text-to-(video+audio))
|
|
1087
|
+
--audio <AUDIO> Audio-reference conditioning (#113) — drives video timing off the
|
|
1088
|
+
audio bytes using the LTX audio-to-video path. Mutually exclusive with `--audio-video` and
|
|
1089
|
+
`--audio-mux`
|
|
1090
|
+
--audio-mux <AUDIO_MUX> Audio path for downstream muxing. The generated video is text-only
|
|
1091
|
+
(no audio conditioning); the path is recorded on the request so downstream tooling (e.g.
|
|
1092
|
+
Musicart) can find it and mux a final track. The path-records-only behavior previously hid
|
|
1093
|
+
behind `--audio` and silently produced text-only video; `--audio-mux` makes the intent
|
|
1094
|
+
explicit (Parslee-ai/car#183). Mutually exclusive with `--audio` and `--audio-video`
|
|
1095
|
+
-h, --help Print help
|
|
1096
|
+
```
|
|
1097
|
+
|
|
1098
|
+
### car embed
|
|
1099
|
+
|
|
1100
|
+
```text
|
|
1101
|
+
Generate embeddings for text
|
|
1102
|
+
|
|
1103
|
+
Usage: car embed [OPTIONS] <TEXT>
|
|
1104
|
+
|
|
1105
|
+
Arguments:
|
|
1106
|
+
<TEXT> Text to embed
|
|
1107
|
+
|
|
1108
|
+
Options:
|
|
1109
|
+
-m, --model <MODEL> Model name (default: Qwen3-0.6B)
|
|
1110
|
+
-h, --help Print help
|
|
1111
|
+
```
|
|
1112
|
+
|
|
1113
|
+
### car skills
|
|
1114
|
+
|
|
1115
|
+
```text
|
|
1116
|
+
Manage learned skills (SkillRL-inspired)
|
|
1117
|
+
|
|
1118
|
+
Usage: car skills <COMMAND>
|
|
1119
|
+
|
|
1120
|
+
Commands:
|
|
1121
|
+
distill Distill skills from an event log journal
|
|
1122
|
+
list List skills in a memory file
|
|
1123
|
+
help Print this message or the help of the given subcommand(s)
|
|
1124
|
+
|
|
1125
|
+
Options:
|
|
1126
|
+
-h, --help Print help
|
|
1127
|
+
```
|
|
1128
|
+
|
|
1129
|
+
#### car skills distill
|
|
1130
|
+
|
|
1131
|
+
```text
|
|
1132
|
+
Distill skills from an event log journal
|
|
1133
|
+
|
|
1134
|
+
Usage: car skills distill [OPTIONS] <JOURNAL>
|
|
1135
|
+
|
|
1136
|
+
Arguments:
|
|
1137
|
+
<JOURNAL> Path to JSONL journal file
|
|
1138
|
+
|
|
1139
|
+
Options:
|
|
1140
|
+
-o, --output <OUTPUT> Output skills to this JSON file (default: print to stdout)
|
|
1141
|
+
-h, --help Print help
|
|
1142
|
+
```
|
|
1143
|
+
|
|
1144
|
+
#### car skills list
|
|
1145
|
+
|
|
1146
|
+
```text
|
|
1147
|
+
List skills in a memory file
|
|
1148
|
+
|
|
1149
|
+
Usage: car skills list [OPTIONS] <MEMORY>
|
|
1150
|
+
|
|
1151
|
+
Arguments:
|
|
1152
|
+
<MEMORY> Path to memory JSON file
|
|
1153
|
+
|
|
1154
|
+
Options:
|
|
1155
|
+
-d, --domain <DOMAIN> Filter by domain
|
|
1156
|
+
-h, --help Print help
|
|
1157
|
+
```
|
|
1158
|
+
|
|
1159
|
+
### car reason
|
|
1160
|
+
|
|
1161
|
+
```text
|
|
1162
|
+
Reason about code: diagnose, suggest fixes, explain
|
|
1163
|
+
|
|
1164
|
+
Usage: car reason [OPTIONS] <PROBLEM>
|
|
1165
|
+
|
|
1166
|
+
Arguments:
|
|
1167
|
+
<PROBLEM> Problem description or question
|
|
1168
|
+
|
|
1169
|
+
Options:
|
|
1170
|
+
--format <FORMAT> Output format: text (default) or json [default: text]
|
|
1171
|
+
-h, --help Print help
|
|
1172
|
+
```
|
|
1173
|
+
|
|
1174
|
+
### car eval
|
|
1175
|
+
|
|
1176
|
+
```text
|
|
1177
|
+
Evaluate agent improvement from stored trajectories
|
|
1178
|
+
|
|
1179
|
+
Usage: car eval [OPTIONS]
|
|
1180
|
+
|
|
1181
|
+
Options:
|
|
1182
|
+
-t, --trajectories <TRAJECTORIES> Path to trajectory store directory (default:
|
|
1183
|
+
~/.car/trajectories/)
|
|
1184
|
+
--json Output as JSON instead of human-readable
|
|
1185
|
+
-h, --help Print help
|
|
1186
|
+
```
|
|
1187
|
+
|
|
1188
|
+
### car identity
|
|
1189
|
+
|
|
1190
|
+
```text
|
|
1191
|
+
Show or change the name your assistant answers to — in conversation, in the host apps, and as its
|
|
1192
|
+
voice wake word
|
|
1193
|
+
|
|
1194
|
+
Usage: car identity [COMMAND]
|
|
1195
|
+
|
|
1196
|
+
Commands:
|
|
1197
|
+
show Show the current name, the spoken forms it wakes on, and where the record lives
|
|
1198
|
+
set Name the assistant. Takes effect for its system prompt, the host apps, and its voice
|
|
1199
|
+
wake word
|
|
1200
|
+
set-user Tell the assistant what to call YOU
|
|
1201
|
+
help Print this message or the help of the given subcommand(s)
|
|
1202
|
+
|
|
1203
|
+
Options:
|
|
1204
|
+
-h, --help Print help
|
|
1205
|
+
```
|
|
1206
|
+
|
|
1207
|
+
#### car identity show
|
|
1208
|
+
|
|
1209
|
+
```text
|
|
1210
|
+
Show the current name, the spoken forms it wakes on, and where the record lives
|
|
1211
|
+
|
|
1212
|
+
Usage: car identity show
|
|
1213
|
+
|
|
1214
|
+
Options:
|
|
1215
|
+
-h, --help Print help
|
|
1216
|
+
```
|
|
1217
|
+
|
|
1218
|
+
#### car identity set
|
|
1219
|
+
|
|
1220
|
+
```text
|
|
1221
|
+
Name the assistant. Takes effect for its system prompt, the host apps, and its voice wake word
|
|
1222
|
+
|
|
1223
|
+
Usage: car identity set [OPTIONS] <NAME>
|
|
1224
|
+
|
|
1225
|
+
Arguments:
|
|
1226
|
+
<NAME> What to call it, e.g. `Jarvis`
|
|
1227
|
+
|
|
1228
|
+
Options:
|
|
1229
|
+
--also-hear <SPELLING> Another way speech-to-text might hear the name, e.g. `jervis`.
|
|
1230
|
+
Repeatable. Only useful for voice
|
|
1231
|
+
-h, --help Print help
|
|
1232
|
+
```
|
|
1233
|
+
|
|
1234
|
+
#### car identity set-user
|
|
1235
|
+
|
|
1236
|
+
```text
|
|
1237
|
+
Tell the assistant what to call YOU
|
|
1238
|
+
|
|
1239
|
+
Usage: car identity set-user <NAME>
|
|
1240
|
+
|
|
1241
|
+
Arguments:
|
|
1242
|
+
<NAME> Your name, or `-` to clear it
|
|
1243
|
+
|
|
1244
|
+
Options:
|
|
1245
|
+
-h, --help Print help
|
|
1246
|
+
```
|
|
1247
|
+
|
|
1248
|
+
### car init
|
|
1249
|
+
|
|
1250
|
+
```text
|
|
1251
|
+
Initialize a .car/ project directory for team-shared configuration
|
|
1252
|
+
|
|
1253
|
+
Usage: car init [OPTIONS]
|
|
1254
|
+
|
|
1255
|
+
Options:
|
|
1256
|
+
-d, --dir <DIR> Directory to create .car/ in (default: current directory)
|
|
1257
|
+
-h, --help Print help
|
|
1258
|
+
```
|
|
1259
|
+
|
|
1260
|
+
### car doctor
|
|
1261
|
+
|
|
1262
|
+
```text
|
|
1263
|
+
Diagnose (and optionally repair) a CAR install: corrupt model weights, unparseable `~/.car` state
|
|
1264
|
+
files, version skew, and leftover files from a previous install. Runs entirely against the local
|
|
1265
|
+
filesystem — no daemon required, so it works even when `car-server` won't start
|
|
1266
|
+
|
|
1267
|
+
Usage: car doctor [OPTIONS]
|
|
1268
|
+
|
|
1269
|
+
Options:
|
|
1270
|
+
--repair Apply safe repairs: purge corrupt cache files (re-pull afterward), back up
|
|
1271
|
+
unparseable state files, refresh the version stamp. Never deletes unrecognized entries or
|
|
1272
|
+
anything not provably corrupt
|
|
1273
|
+
--deep Deep-verify model weights (recompute sha256 vs the HuggingFace etag) instead of the
|
|
1274
|
+
cheap presence/non-empty check. Slower but catches truncated-but-non-empty corruption
|
|
1275
|
+
-h, --help Print help
|
|
1276
|
+
```
|
|
1277
|
+
|
|
1278
|
+
### car update
|
|
1279
|
+
|
|
1280
|
+
```text
|
|
1281
|
+
Update the locally-installed `car` CLI and its sibling `car-server` daemon to the latest release (or
|
|
1282
|
+
`--version <X.Y.Z>`), in place — regardless of how they were installed. Reconciles the drift that
|
|
1283
|
+
otherwise builds up when one channel updates and another doesn't (e.g. CarHost.app auto-updates its
|
|
1284
|
+
bundled daemon via Sparkle but leaves the `/usr/local/bin/car` CLI behind). The npm/PyPI
|
|
1285
|
+
`car-runtime` client packages are separate — this command never touches them; `car doctor` reports
|
|
1286
|
+
which of your agents have drifted, and prints the exact command per environment. Both remedies pin:
|
|
1287
|
+
`npm install car-runtime@<version>` (`npm update` CANNOT cross a 0.x minor — npm reads `^0.41.0` as
|
|
1288
|
+
`>=0.41.0 <0.42.0`, so it is a no-op) and `<venv>/bin/python -m pip install -U
|
|
1289
|
+
car-runtime==<version>` (a bare `-U` can be silently defeated by the consumer's own pin, and the
|
|
1290
|
+
wrong interpreter installs into an environment that does not hold the stale wheel)
|
|
1291
|
+
|
|
1292
|
+
Usage: car update [OPTIONS]
|
|
1293
|
+
|
|
1294
|
+
Options:
|
|
1295
|
+
--check Report whether a newer version exists without downloading anything
|
|
1296
|
+
--version <VERSION> Install a specific version (e.g. `0.34.0`) instead of the latest
|
|
1297
|
+
--force Re-install even if already on the target version (repair a partial or
|
|
1298
|
+
corrupt install)
|
|
1299
|
+
-h, --help Print help
|
|
1300
|
+
```
|
|
1301
|
+
|
|
1302
|
+
### car purge
|
|
1303
|
+
|
|
1304
|
+
```text
|
|
1305
|
+
Remove this CAR install's own state under `~/.car` (config, logs, managed models, binaries) and reap
|
|
1306
|
+
any OS-level schedules CAR installed — for a clean slate before a reinstall. On macOS this also
|
|
1307
|
+
clears CarHost.app's user-level state and resets its privacy (TCC) permissions, so a reinstall
|
|
1308
|
+
really does re-run permission onboarding. NEVER touches the shared HuggingFace model cache (other
|
|
1309
|
+
tools use it); managed models are symlinks into it, so only the links are removed, not the multi-GB
|
|
1310
|
+
blobs. (To uninstall a single contributed agent instead, use `car uninstall <id>`.)
|
|
1311
|
+
|
|
1312
|
+
Usage: car purge [OPTIONS]
|
|
1313
|
+
|
|
1314
|
+
Options:
|
|
1315
|
+
--dry-run Show what would be removed and exit without deleting anything
|
|
1316
|
+
-y, --yes Skip the confirmation prompt
|
|
1317
|
+
--keep-secrets Keep `~/.car/env` (the dotenv secrets file) so a reinstall doesn't need
|
|
1318
|
+
API keys re-entered
|
|
1319
|
+
--keep-permissions macOS: keep CarHost.app's privacy (TCC) grants — Accessibility, Screen
|
|
1320
|
+
Recording, Automation, … — instead of resetting them. For using `car purge` as a state reset
|
|
1321
|
+
rather than an uninstall
|
|
1322
|
+
-h, --help Print help
|
|
1323
|
+
```
|
|
1324
|
+
|
|
1325
|
+
### car code
|
|
1326
|
+
|
|
1327
|
+
```text
|
|
1328
|
+
Built-in coding agent: state an intent, confirm the verifiable outcome contract, and CAR delivers it
|
|
1329
|
+
in an isolated git worktree — natively or via an installed frontier CLI. Results land on a
|
|
1330
|
+
`car/coder/<id>` branch after your approval; your checkout is never touched
|
|
1331
|
+
|
|
1332
|
+
Usage: car code [OPTIONS] [INTENT]...
|
|
1333
|
+
|
|
1334
|
+
Arguments:
|
|
1335
|
+
[INTENT]... What to build or fix, in plain English
|
|
1336
|
+
|
|
1337
|
+
Options:
|
|
1338
|
+
--repo <REPO>
|
|
1339
|
+
Repository to work on. Relative paths (`.`, `../sibling`) resolve against your current
|
|
1340
|
+
directory (default: `.`)
|
|
1341
|
+
--engine <ENGINE>
|
|
1342
|
+
Engine: auto | native | external[:agent_id] | foreman[:agent_id]. Foreman farms subtasks
|
|
1343
|
+
to the external CLI in parallel worktrees behind a merge-verify gate; auto prefers it for
|
|
1344
|
+
broad tasks
|
|
1345
|
+
-y, --yes
|
|
1346
|
+
Skip the interactive contract and merge prompts
|
|
1347
|
+
--max-iterations <MAX_ITERATIONS>
|
|
1348
|
+
Max plan→edit→verify iterations before giving up
|
|
1349
|
+
--model <MODEL>
|
|
1350
|
+
Pin the native loop's inference model for this session (e.g. `parslee/reasoning` for
|
|
1351
|
+
gpt-5.5), overriding `~/.car/coder.toml`. Blank/omitted keeps the config default, then
|
|
1352
|
+
adaptive routing
|
|
1353
|
+
-h, --help
|
|
1354
|
+
Print help
|
|
1355
|
+
```
|
|
1356
|
+
|
|
1357
|
+
### car board
|
|
1358
|
+
|
|
1359
|
+
```text
|
|
1360
|
+
Fullscreen supervision board for coder sessions — one screen for every run on this host, whoever
|
|
1361
|
+
started it (`car code`, CarHost, milo, another board). Attach to a run's full history, confirm its
|
|
1362
|
+
outcome contract, answer its questions, approve its diff, or scope work in a repo-grounded
|
|
1363
|
+
discussion first. Closing the board never stops a run
|
|
1364
|
+
|
|
1365
|
+
Usage: car board [OPTIONS]
|
|
1366
|
+
|
|
1367
|
+
Options:
|
|
1368
|
+
--repo <REPO> Repository the board opens against — pre-fills new runs and grounds
|
|
1369
|
+
discussions. Relative paths (`.`, `../sibling`) resolve against your current directory
|
|
1370
|
+
(default: `.`)
|
|
1371
|
+
-h, --help Print help
|
|
1372
|
+
```
|
|
1373
|
+
|
|
1374
|
+
### car do
|
|
1375
|
+
|
|
1376
|
+
```text
|
|
1377
|
+
CAR Assistant: a general-purpose agent that works out of the box.
|
|
1378
|
+
|
|
1379
|
+
With a goal it runs once and prints the result; with no goal it opens an interactive REPL. It comes
|
|
1380
|
+
wired with files, a real shell, web access, and durable memory, and runs sandbox-first (a hardened
|
|
1381
|
+
Docker container) so edits are isolated. `--local` runs on the host; `--serve` runs it as a
|
|
1382
|
+
supervised, conversational agent for CarHost.
|
|
1383
|
+
|
|
1384
|
+
Usage: car do [OPTIONS] [GOAL]...
|
|
1385
|
+
|
|
1386
|
+
Arguments:
|
|
1387
|
+
[GOAL]...
|
|
1388
|
+
What you want done, in plain English. Omit for an interactive REPL
|
|
1389
|
+
|
|
1390
|
+
Options:
|
|
1391
|
+
--local
|
|
1392
|
+
Run on the LOCAL host instead of the default Docker sandbox. Writes and shell then require
|
|
1393
|
+
--full-access
|
|
1394
|
+
|
|
1395
|
+
-y, --full-access
|
|
1396
|
+
Allow file writes and shell on the local host without prompting. (No effect in the
|
|
1397
|
+
sandbox, which is already isolated.)
|
|
1398
|
+
|
|
1399
|
+
--dir <DIR>
|
|
1400
|
+
Working directory (default: current directory)
|
|
1401
|
+
|
|
1402
|
+
--model <MODEL>
|
|
1403
|
+
Inference model id (default: a tool-capable model chosen for you)
|
|
1404
|
+
|
|
1405
|
+
--image <IMAGE>
|
|
1406
|
+
Docker image for the sandbox (default: python:3.11, which bundles git/gcc/curl). Ignored
|
|
1407
|
+
with --local
|
|
1408
|
+
|
|
1409
|
+
--max-turns <MAX_TURNS>
|
|
1410
|
+
Safety cap on agent turns. This is a backstop, not the expected stop: the loop ends on its
|
|
1411
|
+
own when the model finishes (stops calling tools). 12 was too low for whole-project builds
|
|
1412
|
+
— it cut real work off mid-task; raise it further for large jobs
|
|
1413
|
+
|
|
1414
|
+
[default: 50]
|
|
1415
|
+
|
|
1416
|
+
--until <SHELL>
|
|
1417
|
+
Goal mode: keep working until this shell command exits 0 (a DETERMINISTIC completion check
|
|
1418
|
+
the runtime runs itself — unlike `/goal`, which asks a model to judge the transcript).
|
|
1419
|
+
Re-drives the agent each round with the failure as guidance. E.g. `--until 'cargo test
|
|
1420
|
+
-q'`
|
|
1421
|
+
|
|
1422
|
+
--infer-until
|
|
1423
|
+
Infer a deterministic --until check from the prompt and working directory, then run goal
|
|
1424
|
+
mode. Refuses to run if no concrete check can be inferred
|
|
1425
|
+
|
|
1426
|
+
--goal-max-iterations <GOAL_MAX_ITERATIONS>
|
|
1427
|
+
In goal mode, the hard cap on re-drive iterations (the governor's turn budget). A hard
|
|
1428
|
+
bound, not a soft prose clause
|
|
1429
|
+
|
|
1430
|
+
[default: 10]
|
|
1431
|
+
|
|
1432
|
+
--serve
|
|
1433
|
+
Run as a supervised, conversational agent (for CarHost / agents.chat)
|
|
1434
|
+
|
|
1435
|
+
--governed-host
|
|
1436
|
+
Run the supervised assistant on the real host with repository, approval, and
|
|
1437
|
+
durable-action governance. Requires an explicit `--dir` naming a Git repository; rejects
|
|
1438
|
+
`/` and the home directory
|
|
1439
|
+
|
|
1440
|
+
--json
|
|
1441
|
+
Machine-readable output for a calling agent or script: exactly one JSON document on
|
|
1442
|
+
stdout, JSONL progress events on stderr, and no human progress rendering. Needs a goal —
|
|
1443
|
+
there is no JSON shape for an interactive REPL. See docs/car-do-json.md
|
|
1444
|
+
|
|
1445
|
+
-h, --help
|
|
1446
|
+
Print help (see a summary with '-h')
|
|
1447
|
+
```
|
|
1448
|
+
|
|
1449
|
+
### car policy-check-hook
|
|
1450
|
+
|
|
1451
|
+
```text
|
|
1452
|
+
Evaluate a host's proposed tool call against `.car/policies/` and answer on stdout with that host's
|
|
1453
|
+
hook decision envelope.
|
|
1454
|
+
|
|
1455
|
+
Reads a Claude Code / Codex `PreToolUse` payload on stdin. Wire it into a plugin as a `PreToolUse`
|
|
1456
|
+
command hook and the operator's policy rules govern the agent in their editor, not just CAR's own
|
|
1457
|
+
loop.
|
|
1458
|
+
|
|
1459
|
+
Fails OPEN on anything it cannot evaluate (and says why on stderr), and CLOSED on a genuine deny —
|
|
1460
|
+
including a policy file that will not parse.
|
|
1461
|
+
|
|
1462
|
+
Usage: car policy-check-hook
|
|
1463
|
+
|
|
1464
|
+
Options:
|
|
1465
|
+
-h, --help
|
|
1466
|
+
Print help (see a summary with '-h')
|
|
1467
|
+
```
|
|
1468
|
+
|
|
1469
|
+
### car project
|
|
1470
|
+
|
|
1471
|
+
```text
|
|
1472
|
+
Manage CAR-managed projects (a named, git-backed workspace CAR creates for you — no repo to pick)
|
|
1473
|
+
|
|
1474
|
+
Usage: car project <COMMAND>
|
|
1475
|
+
|
|
1476
|
+
Commands:
|
|
1477
|
+
new Create a managed project (idempotent — re-running loads it)
|
|
1478
|
+
list List your managed projects
|
|
1479
|
+
help Print this message or the help of the given subcommand(s)
|
|
1480
|
+
|
|
1481
|
+
Options:
|
|
1482
|
+
-h, --help Print help
|
|
1483
|
+
```
|
|
1484
|
+
|
|
1485
|
+
#### car project new
|
|
1486
|
+
|
|
1487
|
+
```text
|
|
1488
|
+
Create a managed project (idempotent — re-running loads it)
|
|
1489
|
+
|
|
1490
|
+
Usage: car project new [OPTIONS] [NAME]...
|
|
1491
|
+
|
|
1492
|
+
Arguments:
|
|
1493
|
+
[NAME]... A friendly name (CAR derives a slug)
|
|
1494
|
+
|
|
1495
|
+
Options:
|
|
1496
|
+
--kind <KIND> `app` (code) or `agent` (an in-daemon agent) [default: app]
|
|
1497
|
+
-h, --help Print help
|
|
1498
|
+
```
|
|
1499
|
+
|
|
1500
|
+
#### car project list
|
|
1501
|
+
|
|
1502
|
+
```text
|
|
1503
|
+
List your managed projects
|
|
1504
|
+
|
|
1505
|
+
Usage: car project list
|
|
1506
|
+
|
|
1507
|
+
Options:
|
|
1508
|
+
-h, --help Print help
|
|
1509
|
+
```
|
|
1510
|
+
|
|
1511
|
+
### car parslee
|
|
1512
|
+
|
|
1513
|
+
```text
|
|
1514
|
+
Parslee platform capabilities for the signed-in account (requires `car auth login`)
|
|
1515
|
+
|
|
1516
|
+
Usage: car parslee <COMMAND>
|
|
1517
|
+
|
|
1518
|
+
Commands:
|
|
1519
|
+
capabilities Discover what your Parslee account can do — identity, product entitlements, and
|
|
1520
|
+
Studio reachability. Read-only
|
|
1521
|
+
generate-document Generate a Word document from a natural-language brief and save it to your
|
|
1522
|
+
connected drive (OneDrive/Google Drive). Requires the `aie` product
|
|
1523
|
+
help Print this message or the help of the given subcommand(s)
|
|
1524
|
+
|
|
1525
|
+
Options:
|
|
1526
|
+
-h, --help Print help
|
|
1527
|
+
```
|
|
1528
|
+
|
|
1529
|
+
#### car parslee capabilities
|
|
1530
|
+
|
|
1531
|
+
```text
|
|
1532
|
+
Discover what your Parslee account can do — identity, product entitlements, and Studio reachability.
|
|
1533
|
+
Read-only
|
|
1534
|
+
|
|
1535
|
+
Usage: car parslee capabilities [OPTIONS]
|
|
1536
|
+
|
|
1537
|
+
Options:
|
|
1538
|
+
--json Print the raw JSON response instead of a summary
|
|
1539
|
+
-h, --help Print help
|
|
1540
|
+
```
|
|
1541
|
+
|
|
1542
|
+
#### car parslee generate-document
|
|
1543
|
+
|
|
1544
|
+
```text
|
|
1545
|
+
Generate a Word document from a natural-language brief and save it to your connected drive
|
|
1546
|
+
(OneDrive/Google Drive). Requires the `aie` product
|
|
1547
|
+
|
|
1548
|
+
Usage: car parslee generate-document [OPTIONS] --brief <BRIEF> --out <OUT>
|
|
1549
|
+
|
|
1550
|
+
Options:
|
|
1551
|
+
--brief <BRIEF> What the document should contain (20–2000 chars)
|
|
1552
|
+
--out <OUT> Output path in your drive, e.g. "Generated/report.docx"
|
|
1553
|
+
--type <DOC_TYPE> Report | Proposal | Memo | Letter | Contract | ExecutiveSummary |
|
|
1554
|
+
MeetingMinutes | ProjectPlan [default: Report]
|
|
1555
|
+
--title <TITLE> Optional title override
|
|
1556
|
+
--author <AUTHOR> Optional author name for document metadata
|
|
1557
|
+
-h, --help Print help
|
|
1558
|
+
```
|
|
1559
|
+
|
|
1560
|
+
### car agent
|
|
1561
|
+
|
|
1562
|
+
```text
|
|
1563
|
+
Build and run in-daemon agents from plain-language descriptions. An agent runs inside CAR — nothing
|
|
1564
|
+
to install
|
|
1565
|
+
|
|
1566
|
+
Usage: car agent <COMMAND>
|
|
1567
|
+
|
|
1568
|
+
Commands:
|
|
1569
|
+
new Describe an agent in plain language; CAR builds, verifies, and registers it to run
|
|
1570
|
+
in-daemon
|
|
1571
|
+
run Run a registered agent on an input
|
|
1572
|
+
list List registered in-daemon agents
|
|
1573
|
+
external Show installed external agentic CLIs (Claude Code, Codex, Gemini): which binary each
|
|
1574
|
+
resolved to, and whether it can actually run
|
|
1575
|
+
help Print this message or the help of the given subcommand(s)
|
|
1576
|
+
|
|
1577
|
+
Options:
|
|
1578
|
+
-h, --help Print help
|
|
1579
|
+
```
|
|
1580
|
+
|
|
1581
|
+
#### car agent new
|
|
1582
|
+
|
|
1583
|
+
```text
|
|
1584
|
+
Describe an agent in plain language; CAR builds, verifies, and registers it to run in-daemon
|
|
1585
|
+
|
|
1586
|
+
Usage: car agent new [OPTIONS] [DESCRIPTION]...
|
|
1587
|
+
|
|
1588
|
+
Arguments:
|
|
1589
|
+
[DESCRIPTION]... What the agent should do
|
|
1590
|
+
|
|
1591
|
+
Options:
|
|
1592
|
+
-y, --yes Skip the interactive confirm/approve prompts
|
|
1593
|
+
-h, --help Print help
|
|
1594
|
+
```
|
|
1595
|
+
|
|
1596
|
+
#### car agent run
|
|
1597
|
+
|
|
1598
|
+
```text
|
|
1599
|
+
Run a registered agent on an input
|
|
1600
|
+
|
|
1601
|
+
Usage: car agent run <ID> [INPUT]...
|
|
1602
|
+
|
|
1603
|
+
Arguments:
|
|
1604
|
+
<ID> The agent id (its project slug)
|
|
1605
|
+
[INPUT]... The input to give it
|
|
1606
|
+
|
|
1607
|
+
Options:
|
|
1608
|
+
-h, --help Print help
|
|
1609
|
+
```
|
|
1610
|
+
|
|
1611
|
+
#### car agent list
|
|
1612
|
+
|
|
1613
|
+
```text
|
|
1614
|
+
List registered in-daemon agents
|
|
1615
|
+
|
|
1616
|
+
Usage: car agent list
|
|
1617
|
+
|
|
1618
|
+
Options:
|
|
1619
|
+
-h, --help Print help
|
|
1620
|
+
```
|
|
1621
|
+
|
|
1622
|
+
#### car agent external
|
|
1623
|
+
|
|
1624
|
+
```text
|
|
1625
|
+
Show installed external agentic CLIs (Claude Code, Codex, Gemini): which binary each resolved to,
|
|
1626
|
+
and whether it can actually run.
|
|
1627
|
+
|
|
1628
|
+
Runs detection in-process, so it works with the daemon stopped — diagnosing a CLI that won't start
|
|
1629
|
+
should not require a healthy daemon. Exits non-zero if any detected CLI cannot be executed.
|
|
1630
|
+
|
|
1631
|
+
Usage: car agent external [OPTIONS]
|
|
1632
|
+
|
|
1633
|
+
Options:
|
|
1634
|
+
--json
|
|
1635
|
+
Emit the raw `[ExternalAgentSpec]` JSON instead of a table
|
|
1636
|
+
|
|
1637
|
+
-h, --help
|
|
1638
|
+
Print help (see a summary with '-h')
|
|
1639
|
+
```
|
|
1640
|
+
|
|
1641
|
+
### car build
|
|
1642
|
+
|
|
1643
|
+
```text
|
|
1644
|
+
Build a runnable workflow from a natural-language goal.
|
|
1645
|
+
|
|
1646
|
+
Generates a car-workflow manifest with a model, validates it with the runtime verifier (repairing on
|
|
1647
|
+
failure), shows it for approval, and saves it. Use --update to edit an existing workflow file.
|
|
1648
|
+
|
|
1649
|
+
Usage: car build [OPTIONS] [GOAL]...
|
|
1650
|
+
|
|
1651
|
+
Arguments:
|
|
1652
|
+
[GOAL]...
|
|
1653
|
+
What the workflow should do, in plain English
|
|
1654
|
+
|
|
1655
|
+
Options:
|
|
1656
|
+
-o, --output <OUTPUT>
|
|
1657
|
+
Where to write the workflow JSON (default: ~/.car/workflows/<id>.json)
|
|
1658
|
+
|
|
1659
|
+
-u, --update <UPDATE>
|
|
1660
|
+
Update this existing workflow file instead of creating a new one
|
|
1661
|
+
|
|
1662
|
+
-y, --yes
|
|
1663
|
+
Save without the interactive approval prompt
|
|
1664
|
+
|
|
1665
|
+
--max-attempts <MAX_ATTEMPTS>
|
|
1666
|
+
Max generate→validate→repair attempts per round
|
|
1667
|
+
|
|
1668
|
+
[default: 3]
|
|
1669
|
+
|
|
1670
|
+
-h, --help
|
|
1671
|
+
Print help (see a summary with '-h')
|
|
1672
|
+
```
|
|
1673
|
+
|
|
1674
|
+
### car dream
|
|
1675
|
+
|
|
1676
|
+
```text
|
|
1677
|
+
Run memory consolidation ("dream") — prune, GC, embed, evolve
|
|
1678
|
+
|
|
1679
|
+
Usage: car dream [OPTIONS]
|
|
1680
|
+
|
|
1681
|
+
Options:
|
|
1682
|
+
-m, --memory <MEMORY> Path to memory graph JSON file (default: ~/.car/memory.json)
|
|
1683
|
+
-e, --embeddings <EMBEDDINGS> Path to embeddings cache file (default: ~/.car/embeddings.bin)
|
|
1684
|
+
--json Output as JSON instead of human-readable
|
|
1685
|
+
-h, --help Print help
|
|
1686
|
+
```
|
|
1687
|
+
|
|
1688
|
+
### car browse
|
|
1689
|
+
|
|
1690
|
+
```text
|
|
1691
|
+
Browser automation — drive Chromium through the CAR runtime
|
|
1692
|
+
|
|
1693
|
+
Usage: car browse <COMMAND>
|
|
1694
|
+
|
|
1695
|
+
Commands:
|
|
1696
|
+
run Execute a script of browser operations in order. See docs for the script JSON schema (see
|
|
1697
|
+
crates/car-cli/BROWSE.md once published)
|
|
1698
|
+
schema Print the script schema and the list of supported operations
|
|
1699
|
+
help Print this message or the help of the given subcommand(s)
|
|
1700
|
+
|
|
1701
|
+
Options:
|
|
1702
|
+
-h, --help Print help
|
|
1703
|
+
```
|
|
1704
|
+
|
|
1705
|
+
#### car browse run
|
|
1706
|
+
|
|
1707
|
+
```text
|
|
1708
|
+
Execute a script of browser operations in order. See docs for the script JSON schema (see
|
|
1709
|
+
crates/car-cli/BROWSE.md once published)
|
|
1710
|
+
|
|
1711
|
+
Usage: car browse run [OPTIONS] <SCRIPT>
|
|
1712
|
+
|
|
1713
|
+
Arguments:
|
|
1714
|
+
<SCRIPT> Path to the script JSON file. Use `-` for stdin
|
|
1715
|
+
|
|
1716
|
+
Options:
|
|
1717
|
+
--width <WIDTH> Viewport width in pixels [default: 1280]
|
|
1718
|
+
--height <HEIGHT> Viewport height in pixels [default: 720]
|
|
1719
|
+
--headed Launch a visible Chromium window instead of headless. Intended for
|
|
1720
|
+
interactive flows (first-time auth, 2FA, captcha) where a human completes a step mid-script
|
|
1721
|
+
before the automation runs headless against the captured session
|
|
1722
|
+
--pretty Output trace as pretty JSON instead of compact
|
|
1723
|
+
-h, --help Print help
|
|
1724
|
+
```
|
|
1725
|
+
|
|
1726
|
+
#### car browse schema
|
|
1727
|
+
|
|
1728
|
+
```text
|
|
1729
|
+
Print the script schema and the list of supported operations
|
|
1730
|
+
|
|
1731
|
+
Usage: car browse schema
|
|
1732
|
+
|
|
1733
|
+
Options:
|
|
1734
|
+
-h, --help Print help
|
|
1735
|
+
```
|
|
1736
|
+
|
|
1737
|
+
### car secrets
|
|
1738
|
+
|
|
1739
|
+
```text
|
|
1740
|
+
OS-native secret store — Keychain / Credential Manager / Secret Service. Aliased as `secret`
|
|
1741
|
+
(singular) for backward compatibility
|
|
1742
|
+
|
|
1743
|
+
Usage: car secrets <COMMAND>
|
|
1744
|
+
|
|
1745
|
+
Commands:
|
|
1746
|
+
put Store a secret. Value is read from --value or piped stdin
|
|
1747
|
+
get Retrieve a secret — prints the value on stdout
|
|
1748
|
+
delete Delete a secret (idempotent)
|
|
1749
|
+
status Check whether a secret exists, without returning the value
|
|
1750
|
+
available Probe whether the OS secret store is reachable on this host
|
|
1751
|
+
migrate-from-env Walk known remote-model env vars and copy any non-empty values from process env
|
|
1752
|
+
into the OS keychain. Idempotent — running again only rewrites entries when the env value differs
|
|
1753
|
+
from what's stored
|
|
1754
|
+
help Print this message or the help of the given subcommand(s)
|
|
1755
|
+
|
|
1756
|
+
Options:
|
|
1757
|
+
-h, --help Print help
|
|
1758
|
+
```
|
|
1759
|
+
|
|
1760
|
+
#### car secrets put
|
|
1761
|
+
|
|
1762
|
+
```text
|
|
1763
|
+
Store a secret. Value is read from --value or piped stdin
|
|
1764
|
+
|
|
1765
|
+
Usage: car secrets put [OPTIONS] <KEY>
|
|
1766
|
+
|
|
1767
|
+
Arguments:
|
|
1768
|
+
<KEY>
|
|
1769
|
+
|
|
1770
|
+
Options:
|
|
1771
|
+
--service <SERVICE>
|
|
1772
|
+
--value <VALUE>
|
|
1773
|
+
-h, --help Print help
|
|
1774
|
+
```
|
|
1775
|
+
|
|
1776
|
+
#### car secrets get
|
|
1777
|
+
|
|
1778
|
+
```text
|
|
1779
|
+
Retrieve a secret — prints the value on stdout
|
|
1780
|
+
|
|
1781
|
+
Usage: car secrets get [OPTIONS] <KEY>
|
|
1782
|
+
|
|
1783
|
+
Arguments:
|
|
1784
|
+
<KEY>
|
|
1785
|
+
|
|
1786
|
+
Options:
|
|
1787
|
+
--service <SERVICE>
|
|
1788
|
+
-h, --help Print help
|
|
1789
|
+
```
|
|
1790
|
+
|
|
1791
|
+
#### car secrets delete
|
|
1792
|
+
|
|
1793
|
+
```text
|
|
1794
|
+
Delete a secret (idempotent)
|
|
1795
|
+
|
|
1796
|
+
Usage: car secrets delete [OPTIONS] <KEY>
|
|
1797
|
+
|
|
1798
|
+
Arguments:
|
|
1799
|
+
<KEY>
|
|
1800
|
+
|
|
1801
|
+
Options:
|
|
1802
|
+
--service <SERVICE>
|
|
1803
|
+
-h, --help Print help
|
|
1804
|
+
```
|
|
1805
|
+
|
|
1806
|
+
#### car secrets status
|
|
1807
|
+
|
|
1808
|
+
```text
|
|
1809
|
+
Check whether a secret exists, without returning the value
|
|
1810
|
+
|
|
1811
|
+
Usage: car secrets status [OPTIONS] <KEY>
|
|
1812
|
+
|
|
1813
|
+
Arguments:
|
|
1814
|
+
<KEY>
|
|
1815
|
+
|
|
1816
|
+
Options:
|
|
1817
|
+
--service <SERVICE>
|
|
1818
|
+
-h, --help Print help
|
|
1819
|
+
```
|
|
1820
|
+
|
|
1821
|
+
#### car secrets available
|
|
1822
|
+
|
|
1823
|
+
```text
|
|
1824
|
+
Probe whether the OS secret store is reachable on this host
|
|
1825
|
+
|
|
1826
|
+
Usage: car secrets available
|
|
1827
|
+
|
|
1828
|
+
Options:
|
|
1829
|
+
-h, --help Print help
|
|
1830
|
+
```
|
|
1831
|
+
|
|
1832
|
+
#### car secrets migrate-from-env
|
|
1833
|
+
|
|
1834
|
+
```text
|
|
1835
|
+
Walk known remote-model env vars and copy any non-empty values from process env into the OS
|
|
1836
|
+
keychain. Idempotent — running again only rewrites entries when the env value differs from what's
|
|
1837
|
+
stored.
|
|
1838
|
+
|
|
1839
|
+
One-time setup for users moving away from `~/.car/env`. After migration, you can `unset
|
|
1840
|
+
OPENAI_API_KEY` (etc.) in your shell rc and the keychain entries will be picked up at runtime by
|
|
1841
|
+
car-inference.
|
|
1842
|
+
|
|
1843
|
+
Usage: car secrets migrate-from-env [OPTIONS]
|
|
1844
|
+
|
|
1845
|
+
Options:
|
|
1846
|
+
--dry-run
|
|
1847
|
+
Print what would be migrated without writing anything
|
|
1848
|
+
|
|
1849
|
+
--service <SERVICE>
|
|
1850
|
+
Service to write entries under. Defaults to "car" (the per-app namespace; same one
|
|
1851
|
+
car-inference reads at runtime)
|
|
1852
|
+
|
|
1853
|
+
--include <ENV_VAR>
|
|
1854
|
+
Additional env-var names to migrate beyond the built-in remote-model defaults
|
|
1855
|
+
(ANTHROPIC_API_KEY, OPENAI_API_KEY, GOOGLE_API_KEY). Repeatable
|
|
1856
|
+
|
|
1857
|
+
-h, --help
|
|
1858
|
+
Print help (see a summary with '-h')
|
|
1859
|
+
```
|
|
1860
|
+
|
|
1861
|
+
### car auth
|
|
1862
|
+
|
|
1863
|
+
```text
|
|
1864
|
+
Parslee account authentication for CAR cloud-backed features
|
|
1865
|
+
|
|
1866
|
+
Usage: car auth <COMMAND>
|
|
1867
|
+
|
|
1868
|
+
Commands:
|
|
1869
|
+
login Sign in with a Parslee account using browser-based OAuth + PKCE
|
|
1870
|
+
status Show whether CAR has a usable Parslee account token
|
|
1871
|
+
logout Remove stored Parslee account tokens from the OS keychain
|
|
1872
|
+
orgs List the organizations the signed-in account belongs to (active marked)
|
|
1873
|
+
switch-org Switch the account's active organization by id (e.g. `org_parslee`)
|
|
1874
|
+
accounts List all stored Parslee logins (active marked)
|
|
1875
|
+
switch-account Switch the active Parslee login by account id
|
|
1876
|
+
help Print this message or the help of the given subcommand(s)
|
|
1877
|
+
|
|
1878
|
+
Options:
|
|
1879
|
+
-h, --help Print help
|
|
1880
|
+
```
|
|
1881
|
+
|
|
1882
|
+
#### car auth login
|
|
1883
|
+
|
|
1884
|
+
```text
|
|
1885
|
+
Sign in with a Parslee account using browser-based OAuth + PKCE
|
|
1886
|
+
|
|
1887
|
+
Usage: car auth login [OPTIONS]
|
|
1888
|
+
|
|
1889
|
+
Options:
|
|
1890
|
+
--api-base <API_BASE> Parslee API base URL [default: https://api.parslee.ai]
|
|
1891
|
+
--client-id <CLIENT_ID> OAuth client id registered in the Parslee backend [default:
|
|
1892
|
+
parslee-car]
|
|
1893
|
+
--callback-port <CALLBACK_PORT> Local callback port. The backend must allow this exact
|
|
1894
|
+
redirect URI [default: 53682]
|
|
1895
|
+
--provider <PROVIDER> Provider hint forwarded to Parslee authorize (`microsoft` or
|
|
1896
|
+
`google`)
|
|
1897
|
+
--add Add a second Parslee login alongside the current one (forces
|
|
1898
|
+
the account chooser) instead of replacing it
|
|
1899
|
+
-h, --help Print help
|
|
1900
|
+
```
|
|
1901
|
+
|
|
1902
|
+
#### car auth status
|
|
1903
|
+
|
|
1904
|
+
```text
|
|
1905
|
+
Show whether CAR has a usable Parslee account token
|
|
1906
|
+
|
|
1907
|
+
Usage: car auth status [OPTIONS]
|
|
1908
|
+
|
|
1909
|
+
Options:
|
|
1910
|
+
--api-base <API_BASE> Parslee API base URL override
|
|
1911
|
+
--json Print the raw session object from the Parslee API instead of a summary.
|
|
1912
|
+
The shape is the upstream API's and is not a CAR contract
|
|
1913
|
+
-h, --help Print help
|
|
1914
|
+
```
|
|
1915
|
+
|
|
1916
|
+
#### car auth logout
|
|
1917
|
+
|
|
1918
|
+
```text
|
|
1919
|
+
Remove stored Parslee account tokens from the OS keychain
|
|
1920
|
+
|
|
1921
|
+
Usage: car auth logout
|
|
1922
|
+
|
|
1923
|
+
Options:
|
|
1924
|
+
-h, --help Print help
|
|
1925
|
+
```
|
|
1926
|
+
|
|
1927
|
+
#### car auth orgs
|
|
1928
|
+
|
|
1929
|
+
```text
|
|
1930
|
+
List the organizations the signed-in account belongs to (active marked)
|
|
1931
|
+
|
|
1932
|
+
Usage: car auth orgs [OPTIONS]
|
|
1933
|
+
|
|
1934
|
+
Options:
|
|
1935
|
+
--api-base <API_BASE> Parslee API base URL override
|
|
1936
|
+
-h, --help Print help
|
|
1937
|
+
```
|
|
1938
|
+
|
|
1939
|
+
#### car auth switch-org
|
|
1940
|
+
|
|
1941
|
+
```text
|
|
1942
|
+
Switch the account's active organization by id (e.g. `org_parslee`)
|
|
1943
|
+
|
|
1944
|
+
Usage: car auth switch-org [OPTIONS] <ORGANIZATION_ID>
|
|
1945
|
+
|
|
1946
|
+
Arguments:
|
|
1947
|
+
<ORGANIZATION_ID> Target organization id
|
|
1948
|
+
|
|
1949
|
+
Options:
|
|
1950
|
+
--api-base <API_BASE> Parslee API base URL override
|
|
1951
|
+
-h, --help Print help
|
|
1952
|
+
```
|
|
1953
|
+
|
|
1954
|
+
#### car auth accounts
|
|
1955
|
+
|
|
1956
|
+
```text
|
|
1957
|
+
List all stored Parslee logins (active marked)
|
|
1958
|
+
|
|
1959
|
+
Usage: car auth accounts [OPTIONS]
|
|
1960
|
+
|
|
1961
|
+
Options:
|
|
1962
|
+
--api-base <API_BASE> Parslee API base URL override
|
|
1963
|
+
-h, --help Print help
|
|
1964
|
+
```
|
|
1965
|
+
|
|
1966
|
+
#### car auth switch-account
|
|
1967
|
+
|
|
1968
|
+
```text
|
|
1969
|
+
Switch the active Parslee login by account id
|
|
1970
|
+
|
|
1971
|
+
Usage: car auth switch-account [OPTIONS] <ACCOUNT_ID>
|
|
1972
|
+
|
|
1973
|
+
Arguments:
|
|
1974
|
+
<ACCOUNT_ID> Target account id (from `car auth accounts`)
|
|
1975
|
+
|
|
1976
|
+
Options:
|
|
1977
|
+
--api-base <API_BASE> Parslee API base URL override
|
|
1978
|
+
-h, --help Print help
|
|
1979
|
+
```
|
|
1980
|
+
|
|
1981
|
+
### car permissions
|
|
1982
|
+
|
|
1983
|
+
```text
|
|
1984
|
+
OS permission preflight — TCC / Windows Privacy / xdg-desktop-portal
|
|
1985
|
+
|
|
1986
|
+
Usage: car permissions <COMMAND>
|
|
1987
|
+
|
|
1988
|
+
Commands:
|
|
1989
|
+
status Report current grant state for a domain
|
|
1990
|
+
request Trigger a native prompt if the OS supports one
|
|
1991
|
+
explain Human-readable explanation and fix suggestion
|
|
1992
|
+
domains List all known domains
|
|
1993
|
+
help Print this message or the help of the given subcommand(s)
|
|
1994
|
+
|
|
1995
|
+
Options:
|
|
1996
|
+
-h, --help Print help
|
|
1997
|
+
```
|
|
1998
|
+
|
|
1999
|
+
#### car permissions status
|
|
2000
|
+
|
|
2001
|
+
```text
|
|
2002
|
+
Report current grant state for a domain
|
|
2003
|
+
|
|
2004
|
+
Usage: car permissions status [OPTIONS] <DOMAIN>
|
|
2005
|
+
|
|
2006
|
+
Arguments:
|
|
2007
|
+
<DOMAIN>
|
|
2008
|
+
|
|
2009
|
+
Options:
|
|
2010
|
+
--target <TARGET> macOS Automation only: bundle ID of the target app to control. Ignored for
|
|
2011
|
+
other domains
|
|
2012
|
+
-h, --help Print help
|
|
2013
|
+
```
|
|
2014
|
+
|
|
2015
|
+
#### car permissions request
|
|
2016
|
+
|
|
2017
|
+
```text
|
|
2018
|
+
Trigger a native prompt if the OS supports one
|
|
2019
|
+
|
|
2020
|
+
Usage: car permissions request [OPTIONS] <DOMAIN>
|
|
2021
|
+
|
|
2022
|
+
Arguments:
|
|
2023
|
+
<DOMAIN>
|
|
2024
|
+
|
|
2025
|
+
Options:
|
|
2026
|
+
--target <TARGET>
|
|
2027
|
+
-h, --help Print help
|
|
2028
|
+
```
|
|
2029
|
+
|
|
2030
|
+
#### car permissions explain
|
|
2031
|
+
|
|
2032
|
+
```text
|
|
2033
|
+
Human-readable explanation and fix suggestion
|
|
2034
|
+
|
|
2035
|
+
Usage: car permissions explain [OPTIONS] <DOMAIN>
|
|
2036
|
+
|
|
2037
|
+
Arguments:
|
|
2038
|
+
<DOMAIN>
|
|
2039
|
+
|
|
2040
|
+
Options:
|
|
2041
|
+
--target <TARGET>
|
|
2042
|
+
-h, --help Print help
|
|
2043
|
+
```
|
|
2044
|
+
|
|
2045
|
+
#### car permissions domains
|
|
2046
|
+
|
|
2047
|
+
```text
|
|
2048
|
+
List all known domains
|
|
2049
|
+
|
|
2050
|
+
Usage: car permissions domains
|
|
2051
|
+
|
|
2052
|
+
Options:
|
|
2053
|
+
-h, --help Print help
|
|
2054
|
+
```
|
|
2055
|
+
|
|
2056
|
+
### car voice
|
|
2057
|
+
|
|
2058
|
+
```text
|
|
2059
|
+
Voiceprint enrollment — teach CAR your voice so it knows who's speaking (the owner drives commands;
|
|
2060
|
+
other voices are context). Proxies the daemon's `voice.*` surface
|
|
2061
|
+
|
|
2062
|
+
Usage: car voice <COMMAND>
|
|
2063
|
+
|
|
2064
|
+
Commands:
|
|
2065
|
+
enroll Enroll a voiceprint from a WAV recording. The daemon decodes the file and saves a
|
|
2066
|
+
voiceprint under `~/.car/voiceprints/<label>.toml`
|
|
2067
|
+
list List enrolled voiceprints
|
|
2068
|
+
remove Remove an enrolled voiceprint by label
|
|
2069
|
+
help Print this message or the help of the given subcommand(s)
|
|
2070
|
+
|
|
2071
|
+
Options:
|
|
2072
|
+
-h, --help Print help
|
|
2073
|
+
```
|
|
2074
|
+
|
|
2075
|
+
#### car voice enroll
|
|
2076
|
+
|
|
2077
|
+
```text
|
|
2078
|
+
Enroll a voiceprint from a WAV recording. The daemon decodes the file and saves a voiceprint under
|
|
2079
|
+
`~/.car/voiceprints/<label>.toml`
|
|
2080
|
+
|
|
2081
|
+
Usage: car voice enroll --label <LABEL> --wav <WAV>
|
|
2082
|
+
|
|
2083
|
+
Options:
|
|
2084
|
+
--label <LABEL> A name for this voice, e.g. your first name
|
|
2085
|
+
--wav <WAV> Path to a WAV recording of the speaker (a few seconds is enough)
|
|
2086
|
+
-h, --help Print help
|
|
2087
|
+
```
|
|
2088
|
+
|
|
2089
|
+
#### car voice list
|
|
2090
|
+
|
|
2091
|
+
```text
|
|
2092
|
+
List enrolled voiceprints
|
|
2093
|
+
|
|
2094
|
+
Usage: car voice list
|
|
2095
|
+
|
|
2096
|
+
Options:
|
|
2097
|
+
-h, --help Print help
|
|
2098
|
+
```
|
|
2099
|
+
|
|
2100
|
+
#### car voice remove
|
|
2101
|
+
|
|
2102
|
+
```text
|
|
2103
|
+
Remove an enrolled voiceprint by label
|
|
2104
|
+
|
|
2105
|
+
Usage: car voice remove --label <LABEL>
|
|
2106
|
+
|
|
2107
|
+
Options:
|
|
2108
|
+
--label <LABEL>
|
|
2109
|
+
-h, --help Print help
|
|
2110
|
+
```
|
|
2111
|
+
|
|
2112
|
+
### car onboard
|
|
2113
|
+
|
|
2114
|
+
```text
|
|
2115
|
+
Onboarding readiness — what's set up and what's still pending (the headless equivalent of the
|
|
2116
|
+
CarHost setup wizard)
|
|
2117
|
+
|
|
2118
|
+
Usage: car onboard
|
|
2119
|
+
|
|
2120
|
+
Options:
|
|
2121
|
+
-h, --help Print help
|
|
2122
|
+
```
|
|
2123
|
+
|
|
2124
|
+
### car approvals
|
|
2125
|
+
|
|
2126
|
+
```text
|
|
2127
|
+
Agent approval policy — the default posture for what agents may do without asking. Proxies the
|
|
2128
|
+
daemon's `agent_permissions.*` surface (the CLI counterpart to the CarHost "Approvals" settings /
|
|
2129
|
+
onboarding step)
|
|
2130
|
+
|
|
2131
|
+
Usage: car approvals <COMMAND>
|
|
2132
|
+
|
|
2133
|
+
Commands:
|
|
2134
|
+
default Set the default approval preset for all agents (`cautious` asks before any
|
|
2135
|
+
edit/full-access, `balanced` allows sandboxed edits, `trusting` allows everything without asking)
|
|
2136
|
+
get Show the current default approval posture
|
|
2137
|
+
help Print this message or the help of the given subcommand(s)
|
|
2138
|
+
|
|
2139
|
+
Options:
|
|
2140
|
+
-h, --help Print help
|
|
2141
|
+
```
|
|
2142
|
+
|
|
2143
|
+
#### car approvals default
|
|
2144
|
+
|
|
2145
|
+
```text
|
|
2146
|
+
Set the default approval preset for all agents (`cautious` asks before any edit/full-access,
|
|
2147
|
+
`balanced` allows sandboxed edits, `trusting` allows everything without asking)
|
|
2148
|
+
|
|
2149
|
+
Usage: car approvals default <PRESET>
|
|
2150
|
+
|
|
2151
|
+
Arguments:
|
|
2152
|
+
<PRESET> One of: cautious | balanced | trusting
|
|
2153
|
+
|
|
2154
|
+
Options:
|
|
2155
|
+
-h, --help Print help
|
|
2156
|
+
```
|
|
2157
|
+
|
|
2158
|
+
#### car approvals get
|
|
2159
|
+
|
|
2160
|
+
```text
|
|
2161
|
+
Show the current default approval posture
|
|
2162
|
+
|
|
2163
|
+
Usage: car approvals get
|
|
2164
|
+
|
|
2165
|
+
Options:
|
|
2166
|
+
-h, --help Print help
|
|
2167
|
+
```
|
|
2168
|
+
|
|
2169
|
+
### car accounts
|
|
2170
|
+
|
|
2171
|
+
```text
|
|
2172
|
+
OS-native account discovery — Internet Accounts / WAM / GOA
|
|
2173
|
+
|
|
2174
|
+
Usage: car accounts <COMMAND>
|
|
2175
|
+
|
|
2176
|
+
Commands:
|
|
2177
|
+
list List accounts visible to the OS
|
|
2178
|
+
open Open the native account-management UI
|
|
2179
|
+
help Print this message or the help of the given subcommand(s)
|
|
2180
|
+
|
|
2181
|
+
Options:
|
|
2182
|
+
-h, --help Print help
|
|
2183
|
+
```
|
|
2184
|
+
|
|
2185
|
+
#### car accounts list
|
|
2186
|
+
|
|
2187
|
+
```text
|
|
2188
|
+
List accounts visible to the OS
|
|
2189
|
+
|
|
2190
|
+
Usage: car accounts list
|
|
2191
|
+
|
|
2192
|
+
Options:
|
|
2193
|
+
-h, --help Print help
|
|
2194
|
+
```
|
|
2195
|
+
|
|
2196
|
+
#### car accounts open
|
|
2197
|
+
|
|
2198
|
+
```text
|
|
2199
|
+
Open the native account-management UI
|
|
2200
|
+
|
|
2201
|
+
Usage: car accounts open [OPTIONS]
|
|
2202
|
+
|
|
2203
|
+
Options:
|
|
2204
|
+
--account-id <ACCOUNT_ID>
|
|
2205
|
+
-h, --help Print help
|
|
2206
|
+
```
|
|
2207
|
+
|
|
2208
|
+
### car cal
|
|
2209
|
+
|
|
2210
|
+
```text
|
|
2211
|
+
OS-native Calendar integration
|
|
2212
|
+
|
|
2213
|
+
Usage: car cal <COMMAND>
|
|
2214
|
+
|
|
2215
|
+
Commands:
|
|
2216
|
+
list List visible calendars across all sources
|
|
2217
|
+
events List events in an ISO-8601 time range
|
|
2218
|
+
help Print this message or the help of the given subcommand(s)
|
|
2219
|
+
|
|
2220
|
+
Options:
|
|
2221
|
+
-h, --help Print help
|
|
2222
|
+
```
|
|
2223
|
+
|
|
2224
|
+
#### car cal list
|
|
2225
|
+
|
|
2226
|
+
```text
|
|
2227
|
+
List visible calendars across all sources
|
|
2228
|
+
|
|
2229
|
+
Usage: car cal list
|
|
2230
|
+
|
|
2231
|
+
Options:
|
|
2232
|
+
-h, --help Print help
|
|
2233
|
+
```
|
|
2234
|
+
|
|
2235
|
+
#### car cal events
|
|
2236
|
+
|
|
2237
|
+
```text
|
|
2238
|
+
List events in an ISO-8601 time range
|
|
2239
|
+
|
|
2240
|
+
Usage: car cal events [OPTIONS] --start <START> --end <END>
|
|
2241
|
+
|
|
2242
|
+
Options:
|
|
2243
|
+
--start <START> RFC3339 / ISO-8601 start time
|
|
2244
|
+
--end <END> RFC3339 / ISO-8601 end time
|
|
2245
|
+
--calendars <CALENDARS> Optional comma-separated list of calendar IDs
|
|
2246
|
+
-h, --help Print help
|
|
2247
|
+
```
|
|
2248
|
+
|
|
2249
|
+
### car contacts
|
|
2250
|
+
|
|
2251
|
+
```text
|
|
2252
|
+
OS-native Contacts integration
|
|
2253
|
+
|
|
2254
|
+
Usage: car contacts <COMMAND>
|
|
2255
|
+
|
|
2256
|
+
Commands:
|
|
2257
|
+
containers List containers (a.k.a. sources / accounts within Contacts)
|
|
2258
|
+
find Free-text contact search
|
|
2259
|
+
help Print this message or the help of the given subcommand(s)
|
|
2260
|
+
|
|
2261
|
+
Options:
|
|
2262
|
+
-h, --help Print help
|
|
2263
|
+
```
|
|
2264
|
+
|
|
2265
|
+
#### car contacts containers
|
|
2266
|
+
|
|
2267
|
+
```text
|
|
2268
|
+
List containers (a.k.a. sources / accounts within Contacts)
|
|
2269
|
+
|
|
2270
|
+
Usage: car contacts containers
|
|
2271
|
+
|
|
2272
|
+
Options:
|
|
2273
|
+
-h, --help Print help
|
|
2274
|
+
```
|
|
2275
|
+
|
|
2276
|
+
#### car contacts find
|
|
2277
|
+
|
|
2278
|
+
```text
|
|
2279
|
+
Free-text contact search
|
|
2280
|
+
|
|
2281
|
+
Usage: car contacts find [OPTIONS] <QUERY>
|
|
2282
|
+
|
|
2283
|
+
Arguments:
|
|
2284
|
+
<QUERY>
|
|
2285
|
+
|
|
2286
|
+
Options:
|
|
2287
|
+
--limit <LIMIT> [default: 50]
|
|
2288
|
+
--containers <CONTAINERS>
|
|
2289
|
+
-h, --help Print help
|
|
2290
|
+
```
|
|
2291
|
+
|
|
2292
|
+
### car mail
|
|
2293
|
+
|
|
2294
|
+
```text
|
|
2295
|
+
OS-native Mail integration
|
|
2296
|
+
|
|
2297
|
+
Usage: car mail <COMMAND>
|
|
2298
|
+
|
|
2299
|
+
Commands:
|
|
2300
|
+
accounts List mail accounts known to the backend
|
|
2301
|
+
inbox Inbox summaries per account
|
|
2302
|
+
mailboxes List every mailbox (folder) per account, nested ones included (on Microsoft Graph the
|
|
2303
|
+
nested walk is bounded: depth 8, 64 requests)
|
|
2304
|
+
messages Read message rows from one mailbox, newest first across all matched accounts (not
|
|
2305
|
+
newest-first per account, then concatenated)
|
|
2306
|
+
body Fetch one message body by the `id` from `car mail messages`
|
|
2307
|
+
send Send (or draft) a message. JSON payload on stdin matching SendRequest
|
|
2308
|
+
help Print this message or the help of the given subcommand(s)
|
|
2309
|
+
|
|
2310
|
+
Options:
|
|
2311
|
+
-h, --help Print help
|
|
2312
|
+
```
|
|
2313
|
+
|
|
2314
|
+
#### car mail accounts
|
|
2315
|
+
|
|
2316
|
+
```text
|
|
2317
|
+
List mail accounts known to the backend
|
|
2318
|
+
|
|
2319
|
+
Usage: car mail accounts
|
|
2320
|
+
|
|
2321
|
+
Options:
|
|
2322
|
+
-h, --help Print help
|
|
2323
|
+
```
|
|
2324
|
+
|
|
2325
|
+
#### car mail inbox
|
|
2326
|
+
|
|
2327
|
+
```text
|
|
2328
|
+
Inbox summaries per account
|
|
2329
|
+
|
|
2330
|
+
Usage: car mail inbox [OPTIONS]
|
|
2331
|
+
|
|
2332
|
+
Options:
|
|
2333
|
+
--accounts <ACCOUNTS>
|
|
2334
|
+
-h, --help Print help
|
|
2335
|
+
```
|
|
2336
|
+
|
|
2337
|
+
#### car mail mailboxes
|
|
2338
|
+
|
|
2339
|
+
```text
|
|
2340
|
+
List every mailbox (folder) per account, nested ones included (on Microsoft Graph the nested walk is
|
|
2341
|
+
bounded: depth 8, 64 requests)
|
|
2342
|
+
|
|
2343
|
+
Usage: car mail mailboxes [OPTIONS]
|
|
2344
|
+
|
|
2345
|
+
Options:
|
|
2346
|
+
--accounts <ACCOUNTS>
|
|
2347
|
+
-h, --help Print help
|
|
2348
|
+
```
|
|
2349
|
+
|
|
2350
|
+
#### car mail messages
|
|
2351
|
+
|
|
2352
|
+
```text
|
|
2353
|
+
Read message rows from one mailbox, newest first across all matched accounts (not newest-first per
|
|
2354
|
+
account, then concatenated)
|
|
2355
|
+
|
|
2356
|
+
Usage: car mail messages [OPTIONS]
|
|
2357
|
+
|
|
2358
|
+
Options:
|
|
2359
|
+
--accounts <ACCOUNTS>
|
|
2360
|
+
--mailbox <MAILBOX> Mailbox selector — a `full_name` from `car mail mailboxes`, or a bare
|
|
2361
|
+
leaf name like "Travel". Defaults to INBOX
|
|
2362
|
+
--limit <LIMIT> [default: 50]
|
|
2363
|
+
--since <SINCE> Only messages received at or after this RFC3339 instant
|
|
2364
|
+
--include-body Include each message's body inline (bounded per message)
|
|
2365
|
+
-h, --help Print help
|
|
2366
|
+
```
|
|
2367
|
+
|
|
2368
|
+
#### car mail body
|
|
2369
|
+
|
|
2370
|
+
```text
|
|
2371
|
+
Fetch one message body by the `id` from `car mail messages`
|
|
2372
|
+
|
|
2373
|
+
Usage: car mail body <ID>
|
|
2374
|
+
|
|
2375
|
+
Arguments:
|
|
2376
|
+
<ID>
|
|
2377
|
+
|
|
2378
|
+
Options:
|
|
2379
|
+
-h, --help Print help
|
|
2380
|
+
```
|
|
2381
|
+
|
|
2382
|
+
#### car mail send
|
|
2383
|
+
|
|
2384
|
+
```text
|
|
2385
|
+
Send (or draft) a message. JSON payload on stdin matching SendRequest
|
|
2386
|
+
|
|
2387
|
+
Usage: car mail send
|
|
2388
|
+
|
|
2389
|
+
Options:
|
|
2390
|
+
-h, --help Print help
|
|
2391
|
+
```
|
|
2392
|
+
|
|
2393
|
+
### car messages
|
|
2394
|
+
|
|
2395
|
+
```text
|
|
2396
|
+
OS-native Messages integration
|
|
2397
|
+
|
|
2398
|
+
Usage: car messages <COMMAND>
|
|
2399
|
+
|
|
2400
|
+
Commands:
|
|
2401
|
+
services List Messages.app services/accounts
|
|
2402
|
+
chats List recent Messages.app chats
|
|
2403
|
+
send Send a message. JSON payload on stdin matching Messages SendRequest
|
|
2404
|
+
help Print this message or the help of the given subcommand(s)
|
|
2405
|
+
|
|
2406
|
+
Options:
|
|
2407
|
+
-h, --help Print help
|
|
2408
|
+
```
|
|
2409
|
+
|
|
2410
|
+
#### car messages services
|
|
2411
|
+
|
|
2412
|
+
```text
|
|
2413
|
+
List Messages.app services/accounts
|
|
2414
|
+
|
|
2415
|
+
Usage: car messages services
|
|
2416
|
+
|
|
2417
|
+
Options:
|
|
2418
|
+
-h, --help Print help
|
|
2419
|
+
```
|
|
2420
|
+
|
|
2421
|
+
#### car messages chats
|
|
2422
|
+
|
|
2423
|
+
```text
|
|
2424
|
+
List recent Messages.app chats
|
|
2425
|
+
|
|
2426
|
+
Usage: car messages chats [OPTIONS]
|
|
2427
|
+
|
|
2428
|
+
Options:
|
|
2429
|
+
--limit <LIMIT> [default: 50]
|
|
2430
|
+
-h, --help Print help
|
|
2431
|
+
```
|
|
2432
|
+
|
|
2433
|
+
#### car messages send
|
|
2434
|
+
|
|
2435
|
+
```text
|
|
2436
|
+
Send a message. JSON payload on stdin matching Messages SendRequest
|
|
2437
|
+
|
|
2438
|
+
Usage: car messages send
|
|
2439
|
+
|
|
2440
|
+
Options:
|
|
2441
|
+
-h, --help Print help
|
|
2442
|
+
```
|
|
2443
|
+
|
|
2444
|
+
### car notes
|
|
2445
|
+
|
|
2446
|
+
```text
|
|
2447
|
+
macOS Notes integration
|
|
2448
|
+
|
|
2449
|
+
Usage: car notes <COMMAND>
|
|
2450
|
+
|
|
2451
|
+
Commands:
|
|
2452
|
+
accounts List Notes.app accounts
|
|
2453
|
+
find Free-text note search
|
|
2454
|
+
help Print this message or the help of the given subcommand(s)
|
|
2455
|
+
|
|
2456
|
+
Options:
|
|
2457
|
+
-h, --help Print help
|
|
2458
|
+
```
|
|
2459
|
+
|
|
2460
|
+
#### car notes accounts
|
|
2461
|
+
|
|
2462
|
+
```text
|
|
2463
|
+
List Notes.app accounts
|
|
2464
|
+
|
|
2465
|
+
Usage: car notes accounts
|
|
2466
|
+
|
|
2467
|
+
Options:
|
|
2468
|
+
-h, --help Print help
|
|
2469
|
+
```
|
|
2470
|
+
|
|
2471
|
+
#### car notes find
|
|
2472
|
+
|
|
2473
|
+
```text
|
|
2474
|
+
Free-text note search
|
|
2475
|
+
|
|
2476
|
+
Usage: car notes find [OPTIONS] <QUERY>
|
|
2477
|
+
|
|
2478
|
+
Arguments:
|
|
2479
|
+
<QUERY>
|
|
2480
|
+
|
|
2481
|
+
Options:
|
|
2482
|
+
--limit <LIMIT> [default: 50]
|
|
2483
|
+
-h, --help Print help
|
|
2484
|
+
```
|
|
2485
|
+
|
|
2486
|
+
### car reminders
|
|
2487
|
+
|
|
2488
|
+
```text
|
|
2489
|
+
macOS Reminders integration
|
|
2490
|
+
|
|
2491
|
+
Usage: car reminders <COMMAND>
|
|
2492
|
+
|
|
2493
|
+
Commands:
|
|
2494
|
+
lists List Reminders.app lists
|
|
2495
|
+
items List incomplete reminders
|
|
2496
|
+
help Print this message or the help of the given subcommand(s)
|
|
2497
|
+
|
|
2498
|
+
Options:
|
|
2499
|
+
-h, --help Print help
|
|
2500
|
+
```
|
|
2501
|
+
|
|
2502
|
+
#### car reminders lists
|
|
2503
|
+
|
|
2504
|
+
```text
|
|
2505
|
+
List Reminders.app lists
|
|
2506
|
+
|
|
2507
|
+
Usage: car reminders lists
|
|
2508
|
+
|
|
2509
|
+
Options:
|
|
2510
|
+
-h, --help Print help
|
|
2511
|
+
```
|
|
2512
|
+
|
|
2513
|
+
#### car reminders items
|
|
2514
|
+
|
|
2515
|
+
```text
|
|
2516
|
+
List incomplete reminders
|
|
2517
|
+
|
|
2518
|
+
Usage: car reminders items [OPTIONS]
|
|
2519
|
+
|
|
2520
|
+
Options:
|
|
2521
|
+
--limit <LIMIT> [default: 50]
|
|
2522
|
+
-h, --help Print help
|
|
2523
|
+
```
|
|
2524
|
+
|
|
2525
|
+
### car photos
|
|
2526
|
+
|
|
2527
|
+
```text
|
|
2528
|
+
macOS Photos integration
|
|
2529
|
+
|
|
2530
|
+
Usage: car photos <COMMAND>
|
|
2531
|
+
|
|
2532
|
+
Commands:
|
|
2533
|
+
albums List Photos.app albums
|
|
2534
|
+
help Print this message or the help of the given subcommand(s)
|
|
2535
|
+
|
|
2536
|
+
Options:
|
|
2537
|
+
-h, --help Print help
|
|
2538
|
+
```
|
|
2539
|
+
|
|
2540
|
+
#### car photos albums
|
|
2541
|
+
|
|
2542
|
+
```text
|
|
2543
|
+
List Photos.app albums
|
|
2544
|
+
|
|
2545
|
+
Usage: car photos albums
|
|
2546
|
+
|
|
2547
|
+
Options:
|
|
2548
|
+
-h, --help Print help
|
|
2549
|
+
```
|
|
2550
|
+
|
|
2551
|
+
### car bookmarks
|
|
2552
|
+
|
|
2553
|
+
```text
|
|
2554
|
+
Browser bookmark integration
|
|
2555
|
+
|
|
2556
|
+
Usage: car bookmarks <COMMAND>
|
|
2557
|
+
|
|
2558
|
+
Commands:
|
|
2559
|
+
list List Safari bookmarks
|
|
2560
|
+
help Print this message or the help of the given subcommand(s)
|
|
2561
|
+
|
|
2562
|
+
Options:
|
|
2563
|
+
-h, --help Print help
|
|
2564
|
+
```
|
|
2565
|
+
|
|
2566
|
+
#### car bookmarks list
|
|
2567
|
+
|
|
2568
|
+
```text
|
|
2569
|
+
List Safari bookmarks
|
|
2570
|
+
|
|
2571
|
+
Usage: car bookmarks list [OPTIONS]
|
|
2572
|
+
|
|
2573
|
+
Options:
|
|
2574
|
+
--limit <LIMIT> [default: 100]
|
|
2575
|
+
-h, --help Print help
|
|
2576
|
+
```
|
|
2577
|
+
|
|
2578
|
+
### car files
|
|
2579
|
+
|
|
2580
|
+
```text
|
|
2581
|
+
Account-backed file locations
|
|
2582
|
+
|
|
2583
|
+
Usage: car files <COMMAND>
|
|
2584
|
+
|
|
2585
|
+
Commands:
|
|
2586
|
+
locations List standard account-backed file locations
|
|
2587
|
+
help Print this message or the help of the given subcommand(s)
|
|
2588
|
+
|
|
2589
|
+
Options:
|
|
2590
|
+
-h, --help Print help
|
|
2591
|
+
```
|
|
2592
|
+
|
|
2593
|
+
#### car files locations
|
|
2594
|
+
|
|
2595
|
+
```text
|
|
2596
|
+
List standard account-backed file locations
|
|
2597
|
+
|
|
2598
|
+
Usage: car files locations
|
|
2599
|
+
|
|
2600
|
+
Options:
|
|
2601
|
+
-h, --help Print help
|
|
2602
|
+
```
|
|
2603
|
+
|
|
2604
|
+
### car keychain
|
|
2605
|
+
|
|
2606
|
+
```text
|
|
2607
|
+
OS keychain integration
|
|
2608
|
+
|
|
2609
|
+
Usage: car keychain <COMMAND>
|
|
2610
|
+
|
|
2611
|
+
Commands:
|
|
2612
|
+
status Backend availability status
|
|
2613
|
+
help Print this message or the help of the given subcommand(s)
|
|
2614
|
+
|
|
2615
|
+
Options:
|
|
2616
|
+
-h, --help Print help
|
|
2617
|
+
```
|
|
2618
|
+
|
|
2619
|
+
#### car keychain status
|
|
2620
|
+
|
|
2621
|
+
```text
|
|
2622
|
+
Backend availability status
|
|
2623
|
+
|
|
2624
|
+
Usage: car keychain status
|
|
2625
|
+
|
|
2626
|
+
Options:
|
|
2627
|
+
-h, --help Print help
|
|
2628
|
+
```
|
|
2629
|
+
|
|
2630
|
+
### car health
|
|
2631
|
+
|
|
2632
|
+
```text
|
|
2633
|
+
Wearable / activity data (HealthKit + Fitbit/Garmin/Oura/etc.)
|
|
2634
|
+
|
|
2635
|
+
Usage: car health <COMMAND>
|
|
2636
|
+
|
|
2637
|
+
Commands:
|
|
2638
|
+
status Backend availability + guidance
|
|
2639
|
+
sleep Sleep windows in an ISO-8601 time range
|
|
2640
|
+
workouts Workouts in an ISO-8601 time range
|
|
2641
|
+
activity Daily activity summaries across a date range (YYYY-MM-DD)
|
|
2642
|
+
help Print this message or the help of the given subcommand(s)
|
|
2643
|
+
|
|
2644
|
+
Options:
|
|
2645
|
+
-h, --help Print help
|
|
2646
|
+
```
|
|
2647
|
+
|
|
2648
|
+
#### car health status
|
|
2649
|
+
|
|
2650
|
+
```text
|
|
2651
|
+
Backend availability + guidance
|
|
2652
|
+
|
|
2653
|
+
Usage: car health status
|
|
2654
|
+
|
|
2655
|
+
Options:
|
|
2656
|
+
-h, --help Print help
|
|
2657
|
+
```
|
|
2658
|
+
|
|
2659
|
+
#### car health sleep
|
|
2660
|
+
|
|
2661
|
+
```text
|
|
2662
|
+
Sleep windows in an ISO-8601 time range
|
|
2663
|
+
|
|
2664
|
+
Usage: car health sleep --start <START> --end <END>
|
|
2665
|
+
|
|
2666
|
+
Options:
|
|
2667
|
+
--start <START>
|
|
2668
|
+
--end <END>
|
|
2669
|
+
-h, --help Print help
|
|
2670
|
+
```
|
|
2671
|
+
|
|
2672
|
+
#### car health workouts
|
|
2673
|
+
|
|
2674
|
+
```text
|
|
2675
|
+
Workouts in an ISO-8601 time range
|
|
2676
|
+
|
|
2677
|
+
Usage: car health workouts --start <START> --end <END>
|
|
2678
|
+
|
|
2679
|
+
Options:
|
|
2680
|
+
--start <START>
|
|
2681
|
+
--end <END>
|
|
2682
|
+
-h, --help Print help
|
|
2683
|
+
```
|
|
2684
|
+
|
|
2685
|
+
#### car health activity
|
|
2686
|
+
|
|
2687
|
+
```text
|
|
2688
|
+
Daily activity summaries across a date range (YYYY-MM-DD)
|
|
2689
|
+
|
|
2690
|
+
Usage: car health activity --start <START> --end <END>
|
|
2691
|
+
|
|
2692
|
+
Options:
|
|
2693
|
+
--start <START>
|
|
2694
|
+
--end <END>
|
|
2695
|
+
-h, --help Print help
|
|
2696
|
+
```
|
|
2697
|
+
|
|
2698
|
+
### car install
|
|
2699
|
+
|
|
2700
|
+
```text
|
|
2701
|
+
Install a contributed agent — from a local directory OR a registry reference (Parslee-ai/car#182
|
|
2702
|
+
phases 4 + 5).
|
|
2703
|
+
|
|
2704
|
+
A local directory MUST contain a `manifest.toml` per the bundle spec. A registry reference is
|
|
2705
|
+
`<namespace>/<name>[@<version>]` (e.g. `parslee/ui-improver` or `parslee/ui-improver@1.2.3`); it is
|
|
2706
|
+
resolved against the catalog at `--registry` and then handed to the SAME local-install path. Either
|
|
2707
|
+
way, install-time validation runs against the daemon's host capability advertisement before the
|
|
2708
|
+
agent is adopted.
|
|
2709
|
+
|
|
2710
|
+
Usage: car install [OPTIONS] <PATH>
|
|
2711
|
+
|
|
2712
|
+
Arguments:
|
|
2713
|
+
<PATH>
|
|
2714
|
+
Either a local path to a directory containing `manifest.toml` (or the file itself), OR a
|
|
2715
|
+
registry reference `<namespace>/<name>[@<version>]`. An existing filesystem path wins;
|
|
2716
|
+
otherwise a `namespace/name` shape is resolved via the registry
|
|
2717
|
+
|
|
2718
|
+
Options:
|
|
2719
|
+
--registry <REGISTRY>
|
|
2720
|
+
Registry source for `<namespace>/<name>` references: an `http(s)://…/index.json` URL or a
|
|
2721
|
+
LOCAL registry directory (or `file://` URL). Defaults to the public mirror. The private
|
|
2722
|
+
source needs a token — set `CAR_REGISTRY_TOKEN`
|
|
2723
|
+
|
|
2724
|
+
[default: https://raw.githubusercontent.com/Parslee-ai/car-releases/main/index.json]
|
|
2725
|
+
|
|
2726
|
+
--url <URL>
|
|
2727
|
+
WebSocket URL of the running car-server daemon
|
|
2728
|
+
|
|
2729
|
+
[default: ws://127.0.0.1:9100/]
|
|
2730
|
+
|
|
2731
|
+
--json
|
|
2732
|
+
Output as JSON instead of human-readable
|
|
2733
|
+
|
|
2734
|
+
-h, --help
|
|
2735
|
+
Print help (see a summary with '-h')
|
|
2736
|
+
```
|
|
2737
|
+
|
|
2738
|
+
### car ls
|
|
2739
|
+
|
|
2740
|
+
```text
|
|
2741
|
+
List every installed contributed agent (Parslee-ai/car#182 phase 4). Calls the daemon's
|
|
2742
|
+
`agents.list` and renders the result. Long alias: `agents`
|
|
2743
|
+
|
|
2744
|
+
Usage: car ls [OPTIONS]
|
|
2745
|
+
|
|
2746
|
+
Options:
|
|
2747
|
+
--url <URL> WebSocket URL of the running car-server daemon [default: ws://127.0.0.1:9100/]
|
|
2748
|
+
--json Output as JSON instead of a human table
|
|
2749
|
+
-h, --help Print help
|
|
2750
|
+
```
|
|
2751
|
+
|
|
2752
|
+
### car inspect
|
|
2753
|
+
|
|
2754
|
+
```text
|
|
2755
|
+
Inspect a single installed agent (Parslee-ai/car#182 phase 4). Shows the on-disk manifest plus the
|
|
2756
|
+
supervisor's current status. Resolves unqualified names to the highest installed semver per the
|
|
2757
|
+
contributed-agents proposal
|
|
2758
|
+
|
|
2759
|
+
Usage: car inspect [OPTIONS] <ID>
|
|
2760
|
+
|
|
2761
|
+
Arguments:
|
|
2762
|
+
<ID> Agent id, or `<namespace>/<name>[@<version>]`
|
|
2763
|
+
|
|
2764
|
+
Options:
|
|
2765
|
+
--url <URL> WebSocket URL of the running car-server daemon [default: ws://127.0.0.1:9100/]
|
|
2766
|
+
--json Output as JSON
|
|
2767
|
+
-h, --help Print help
|
|
2768
|
+
```
|
|
2769
|
+
|
|
2770
|
+
### car start
|
|
2771
|
+
|
|
2772
|
+
```text
|
|
2773
|
+
Start an installed contributed agent
|
|
2774
|
+
|
|
2775
|
+
Usage: car start [OPTIONS] <ID>
|
|
2776
|
+
|
|
2777
|
+
Arguments:
|
|
2778
|
+
<ID> Agent id, or `<namespace>/<name>[@<version>]`
|
|
2779
|
+
|
|
2780
|
+
Options:
|
|
2781
|
+
--url <URL> WebSocket URL of the running car-server daemon [default: ws://127.0.0.1:9100/]
|
|
2782
|
+
-h, --help Print help
|
|
2783
|
+
```
|
|
2784
|
+
|
|
2785
|
+
### car stop
|
|
2786
|
+
|
|
2787
|
+
```text
|
|
2788
|
+
Stop an installed contributed agent
|
|
2789
|
+
|
|
2790
|
+
Usage: car stop [OPTIONS] <ID>
|
|
2791
|
+
|
|
2792
|
+
Arguments:
|
|
2793
|
+
<ID> Agent id, or `<namespace>/<name>[@<version>]`
|
|
2794
|
+
|
|
2795
|
+
Options:
|
|
2796
|
+
--url <URL> WebSocket URL of the running car-server daemon [default: ws://127.0.0.1:9100/]
|
|
2797
|
+
-h, --help Print help
|
|
2798
|
+
```
|
|
2799
|
+
|
|
2800
|
+
### car restart
|
|
2801
|
+
|
|
2802
|
+
```text
|
|
2803
|
+
Restart an installed contributed agent
|
|
2804
|
+
|
|
2805
|
+
Usage: car restart [OPTIONS] <ID>
|
|
2806
|
+
|
|
2807
|
+
Arguments:
|
|
2808
|
+
<ID> Agent id, or `<namespace>/<name>[@<version>]`
|
|
2809
|
+
|
|
2810
|
+
Options:
|
|
2811
|
+
--url <URL> WebSocket URL of the running car-server daemon [default: ws://127.0.0.1:9100/]
|
|
2812
|
+
-h, --help Print help
|
|
2813
|
+
```
|
|
2814
|
+
|
|
2815
|
+
### car tail-log
|
|
2816
|
+
|
|
2817
|
+
```text
|
|
2818
|
+
Tail the most recent stdout/stderr lines captured from a supervised agent (Parslee-ai/car#231 §5.2).
|
|
2819
|
+
Calls the daemon's `agents.tail_log`. Closes the DX gap where the daemon captured logs to
|
|
2820
|
+
`~/.car/logs/` (`%USERPROFILE%\.car\logs\` on Windows) but offered no CLI surface to read them. Long
|
|
2821
|
+
alias: `logs`
|
|
2822
|
+
|
|
2823
|
+
Usage: car tail-log [OPTIONS] <ID>
|
|
2824
|
+
|
|
2825
|
+
Arguments:
|
|
2826
|
+
<ID> Agent id, or `<namespace>/<name>[@<version>]`
|
|
2827
|
+
|
|
2828
|
+
Options:
|
|
2829
|
+
-n, --lines <LINES> Number of trailing lines to show [default: 100]
|
|
2830
|
+
--url <URL> WebSocket URL of the running car-server daemon [default:
|
|
2831
|
+
ws://127.0.0.1:9100/]
|
|
2832
|
+
--json Output as JSON (`{ "lines": [...] }`)
|
|
2833
|
+
-h, --help Print help
|
|
2834
|
+
```
|
|
2835
|
+
|
|
2836
|
+
### car uninstall
|
|
2837
|
+
|
|
2838
|
+
```text
|
|
2839
|
+
Uninstall a contributed agent (Parslee-ai/car#182 phase 4). Stops the running child if any, removes
|
|
2840
|
+
the manifest from `~/.car/agents/<id>/`, and reaps the legacy `agents.json` entry. Idempotent
|
|
2841
|
+
|
|
2842
|
+
Usage: car uninstall [OPTIONS] <ID>
|
|
2843
|
+
|
|
2844
|
+
Arguments:
|
|
2845
|
+
<ID> Agent id, or `<namespace>/<name>[@<version>]`
|
|
2846
|
+
|
|
2847
|
+
Options:
|
|
2848
|
+
--url <URL> WebSocket URL of the running car-server daemon [default: ws://127.0.0.1:9100/]
|
|
2849
|
+
-h, --help Print help
|
|
2850
|
+
```
|
|
2851
|
+
|
|
2852
|
+
### car schedule
|
|
2853
|
+
|
|
2854
|
+
```text
|
|
2855
|
+
Schedule commands to run on a cadence (launchd / cron / schtasks)
|
|
2856
|
+
|
|
2857
|
+
Usage: car schedule <COMMAND>
|
|
2858
|
+
|
|
2859
|
+
Commands:
|
|
2860
|
+
add Schedule a command to run on a cadence
|
|
2861
|
+
list List scheduled commands and whether each is OS-durable
|
|
2862
|
+
remove Remove a scheduled command: drops any OS schedule and deletes the task
|
|
2863
|
+
reconcile Reconcile OS schedules against the task store, reaping orphans
|
|
2864
|
+
help Print this message or the help of the given subcommand(s)
|
|
2865
|
+
|
|
2866
|
+
Options:
|
|
2867
|
+
-h, --help Print help
|
|
2868
|
+
```
|
|
2869
|
+
|
|
2870
|
+
#### car schedule add
|
|
2871
|
+
|
|
2872
|
+
```text
|
|
2873
|
+
Schedule a command to run on a cadence.
|
|
2874
|
+
|
|
2875
|
+
The cadence is expressed once and CAR picks the backend: durable schedules install to the OS
|
|
2876
|
+
(launchd / cron / schtasks) so they fire even when car-server is down.
|
|
2877
|
+
|
|
2878
|
+
Usage: car schedule add [OPTIONS] --name <NAME> -- <COMMAND>...
|
|
2879
|
+
|
|
2880
|
+
Arguments:
|
|
2881
|
+
<COMMAND>...
|
|
2882
|
+
The program to run, then its arguments. Put it after `--`, e.g. `car schedule add --name
|
|
2883
|
+
backup --cron "0 3 * * *" -- /usr/bin/rsync -a src dst`
|
|
2884
|
+
|
|
2885
|
+
Options:
|
|
2886
|
+
--name <NAME>
|
|
2887
|
+
Human-readable name for the task
|
|
2888
|
+
|
|
2889
|
+
--cron <CRON>
|
|
2890
|
+
Cron expression, e.g. "0 9 * * *" for 9am daily. `*/N` forms are normalized so the same
|
|
2891
|
+
input works on macOS and Linux
|
|
2892
|
+
|
|
2893
|
+
--every <EVERY>
|
|
2894
|
+
Interval between runs, in seconds
|
|
2895
|
+
|
|
2896
|
+
--no-durable
|
|
2897
|
+
Run via the in-daemon timer instead of the OS scheduler. Fires only while car-server is
|
|
2898
|
+
up, and misses anything scheduled while it is down. Interval cadences only
|
|
2899
|
+
|
|
2900
|
+
--working-dir <WORKING_DIR>
|
|
2901
|
+
Working directory for the command
|
|
2902
|
+
|
|
2903
|
+
-h, --help
|
|
2904
|
+
Print help (see a summary with '-h')
|
|
2905
|
+
```
|
|
2906
|
+
|
|
2907
|
+
#### car schedule list
|
|
2908
|
+
|
|
2909
|
+
```text
|
|
2910
|
+
List scheduled commands and whether each is OS-durable
|
|
2911
|
+
|
|
2912
|
+
Usage: car schedule list [OPTIONS]
|
|
2913
|
+
|
|
2914
|
+
Options:
|
|
2915
|
+
--json Emit raw JSON instead of a table
|
|
2916
|
+
-h, --help Print help
|
|
2917
|
+
```
|
|
2918
|
+
|
|
2919
|
+
#### car schedule remove
|
|
2920
|
+
|
|
2921
|
+
```text
|
|
2922
|
+
Remove a scheduled command: drops any OS schedule and deletes the task
|
|
2923
|
+
|
|
2924
|
+
Usage: car schedule remove <ID>
|
|
2925
|
+
|
|
2926
|
+
Arguments:
|
|
2927
|
+
<ID> Task id, or the full OS label
|
|
2928
|
+
|
|
2929
|
+
Options:
|
|
2930
|
+
-h, --help Print help
|
|
2931
|
+
```
|
|
2932
|
+
|
|
2933
|
+
#### car schedule reconcile
|
|
2934
|
+
|
|
2935
|
+
```text
|
|
2936
|
+
Reconcile OS schedules against the task store, reaping orphans.
|
|
2937
|
+
|
|
2938
|
+
Run this if schedules were left behind by an interrupted uninstall, or after editing `~/.car/tasks/`
|
|
2939
|
+
by hand.
|
|
2940
|
+
|
|
2941
|
+
Usage: car schedule reconcile
|
|
2942
|
+
|
|
2943
|
+
Options:
|
|
2944
|
+
-h, --help
|
|
2945
|
+
Print help (see a summary with '-h')
|
|
2946
|
+
```
|
|
2947
|
+
|
|
2948
|
+
### car registry
|
|
2949
|
+
|
|
2950
|
+
```text
|
|
2951
|
+
Registry tooling for the contributed-agents registry (Parslee-ai/car#182 phase 5): `digest` a
|
|
2952
|
+
manifest, or `validate` a registry directory (the CI gate run by Parslee-ai/car-agent-registry)
|
|
2953
|
+
|
|
2954
|
+
Usage: car registry <COMMAND>
|
|
2955
|
+
|
|
2956
|
+
Commands:
|
|
2957
|
+
digest Print the canonical SHA-256 hex digest of a manifest.toml
|
|
2958
|
+
validate Validate a registry directory (index.json + manifests + schema). This is the registry CI
|
|
2959
|
+
gate
|
|
2960
|
+
schema Print the canonical registry index JSON Schema (the single source of truth, embedded in
|
|
2961
|
+
this binary) to stdout. Regenerate the registry repo's copy with: `car registry schema >
|
|
2962
|
+
schema/index.schema.json`
|
|
2963
|
+
help Print this message or the help of the given subcommand(s)
|
|
2964
|
+
|
|
2965
|
+
Options:
|
|
2966
|
+
-h, --help Print help
|
|
2967
|
+
```
|
|
2968
|
+
|
|
2969
|
+
#### car registry digest
|
|
2970
|
+
|
|
2971
|
+
```text
|
|
2972
|
+
Print the canonical SHA-256 hex digest of a manifest.toml
|
|
2973
|
+
|
|
2974
|
+
Usage: car registry digest <MANIFEST>
|
|
2975
|
+
|
|
2976
|
+
Arguments:
|
|
2977
|
+
<MANIFEST> Path to the agent's manifest.toml
|
|
2978
|
+
|
|
2979
|
+
Options:
|
|
2980
|
+
-h, --help Print help
|
|
2981
|
+
```
|
|
2982
|
+
|
|
2983
|
+
#### car registry validate
|
|
2984
|
+
|
|
2985
|
+
```text
|
|
2986
|
+
Validate a registry directory (index.json + manifests + schema). This is the registry CI gate
|
|
2987
|
+
|
|
2988
|
+
Usage: car registry validate <DIR>
|
|
2989
|
+
|
|
2990
|
+
Arguments:
|
|
2991
|
+
<DIR> Path to the registry directory containing `index.json` and `schema/index.schema.json`
|
|
2992
|
+
|
|
2993
|
+
Options:
|
|
2994
|
+
-h, --help Print help
|
|
2995
|
+
```
|
|
2996
|
+
|
|
2997
|
+
#### car registry schema
|
|
2998
|
+
|
|
2999
|
+
```text
|
|
3000
|
+
Print the canonical registry index JSON Schema (the single source of truth, embedded in this binary)
|
|
3001
|
+
to stdout. Regenerate the registry repo's copy with: `car registry schema >
|
|
3002
|
+
schema/index.schema.json`
|
|
3003
|
+
|
|
3004
|
+
Usage: car registry schema
|
|
3005
|
+
|
|
3006
|
+
Options:
|
|
3007
|
+
-h, --help Print help
|
|
3008
|
+
```
|
|
3009
|
+
|
|
3010
|
+
### car publish
|
|
3011
|
+
|
|
3012
|
+
```text
|
|
3013
|
+
Publish a contributed agent to the registry (Parslee-ai/car#182 phase 5). Reads a local agent's
|
|
3014
|
+
`manifest.toml`, signs it for `--audience public` (ed25519 key at `$CAR_PUBLISH_KEY_PATH`), stages
|
|
3015
|
+
it at the versioned `agents/<namespace>/<name>/<version>/` path, updates `index.json` + the README
|
|
3016
|
+
catalog, re-runs the EXACT `car registry validate` CI gate locally, and opens a PR against the
|
|
3017
|
+
registry repo. Aborts (no PR) on a missing signing key or a validation failure
|
|
3018
|
+
|
|
3019
|
+
Usage: car publish [OPTIONS] <PATH>
|
|
3020
|
+
|
|
3021
|
+
Arguments:
|
|
3022
|
+
<PATH> Path to a local agent directory containing `manifest.toml`, OR the `manifest.toml` file
|
|
3023
|
+
itself
|
|
3024
|
+
|
|
3025
|
+
Options:
|
|
3026
|
+
--audience <AUDIENCE> Catalog audience for this agent. `internal` rows are
|
|
3027
|
+
unsigned; `public` rows are signed with the publisher's ed25519 key (loaded from
|
|
3028
|
+
`$CAR_PUBLISH_KEY_PATH`) and carry the publisher fields in the index [default: internal]
|
|
3029
|
+
[possible values: internal, public]
|
|
3030
|
+
--registry-repo <REGISTRY_REPO> The registry repository (`owner/repo`) the PR is opened
|
|
3031
|
+
against [default: Parslee-ai/car-agent-registry]
|
|
3032
|
+
--category <CATEGORY> Catalog category written into the index row (a required,
|
|
3033
|
+
min-length-1 schema field). Free-form publisher copy; scanned by the internal-infra denylist
|
|
3034
|
+
for public agents [default: general]
|
|
3035
|
+
--registry-dir <REGISTRY_DIR> Stage into this EXISTING local registry clone instead of `gh
|
|
3036
|
+
repo clone`-ing a fresh one. Required for offline testing — when set, the staged branch is
|
|
3037
|
+
created locally and (if the clone has no `origin` remote) the `gh pr create` step is skipped,
|
|
3038
|
+
printing the staged branch name instead
|
|
3039
|
+
-h, --help Print help
|
|
3040
|
+
```
|
|
3041
|
+
|
|
3042
|
+
### car help
|
|
3043
|
+
|
|
3044
|
+
```text
|
|
3045
|
+
Print this message or the help of the given subcommand(s)
|
|
3046
|
+
|
|
3047
|
+
Usage: car help [COMMAND]...
|
|
3048
|
+
|
|
3049
|
+
Arguments:
|
|
3050
|
+
[COMMAND]... Print help for the subcommand(s)
|
|
3051
|
+
```
|