claude-rpc 0.24.1 → 1.0.1
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 +65 -2
- package/package.json +1 -1
- package/src/version.js +1 -1
package/README.md
CHANGED
|
@@ -193,7 +193,7 @@ claude-rpc community on # explicit consent flow (upgraders / re-enable
|
|
|
193
193
|
claude-rpc community report # one-shot manual flush (testing)
|
|
194
194
|
```
|
|
195
195
|
|
|
196
|
-
Each report sends only: a `sessionsDelta`, a `tokensDelta`, the claude-rpc version, OS family (`linux`/`darwin`/`win32`), and the anonymous UUID v4. No prompts, paths, models, repos, costs, usernames, or hostnames — the Worker's [`validateReport`](worker/src/index.js) is the schema of record. The full Worker source is in this repo so the privacy claim is auditable.
|
|
196
|
+
Each report sends only: a `sessionsDelta`, a `tokensDelta`, the claude-rpc version, OS family (`linux`/`darwin`/`win32`), and the anonymous UUID v4. No prompts, paths, models, repos, costs, usernames, or hostnames — the Worker's [`validateReport`](worker/src/index.js) is the schema of record. The full Worker source is in this repo so the privacy claim is auditable. Every worker route — path, params, response — is documented in [`docs/WORKER-API.md`](docs/WORKER-API.md).
|
|
197
197
|
|
|
198
198
|
For a complete account of the sensitive things claude-rpc does — startup persistence, hook injection, every outbound request, and the exact telemetry payload — see [`SECURITY.md`](SECURITY.md). It's also the reference for supply-chain scanner findings (Socket.dev et al.): the flagged persistence and hook-injection behaviors are inherent to the tool and documented there.
|
|
199
199
|
|
|
@@ -273,7 +273,7 @@ Frames have a `requires` field; the daemon skips a frame when any of its require
|
|
|
273
273
|
}
|
|
274
274
|
```
|
|
275
275
|
|
|
276
|
-
The full default config is in [`src/default-config.js`](src/default-config.js) — that's the canonical list of every key.
|
|
276
|
+
The full default config is in [`src/default-config.js`](src/default-config.js) — that's the canonical list of every key. Over 200 template variables are available; `claude-rpc vars` is the authoritative list.
|
|
277
277
|
|
|
278
278
|
## claude code plugin
|
|
279
279
|
|
|
@@ -330,6 +330,36 @@ Exit codes: `0` ok · `1` user error · `2` system error · `3` wrong state. `--
|
|
|
330
330
|
|
|
331
331
|
</details>
|
|
332
332
|
|
|
333
|
+
<details>
|
|
334
|
+
<summary><b>complete removal</b></summary>
|
|
335
|
+
|
|
336
|
+
<br/>
|
|
337
|
+
|
|
338
|
+
`claude-rpc uninstall` removes everything that *respawns or registers* the tool:
|
|
339
|
+
its hooks from `~/.claude/settings.json` (only its own — third-party hooks are
|
|
340
|
+
left untouched) and the login-autostart entry (`systemd --user` unit on Linux,
|
|
341
|
+
LaunchAgent on macOS, `HKCU\…\Run` value + `.vbs` shim on Windows). After it
|
|
342
|
+
runs, nothing brings the daemon back.
|
|
343
|
+
|
|
344
|
+
It deliberately **leaves your data in place**: `config.json` (under the per-OS
|
|
345
|
+
config dir), the stats in `~/.claude-rpc/`, and the transient files in the temp
|
|
346
|
+
dir (which clear on reboot anyway). Two things it does *not* touch, by design:
|
|
347
|
+
|
|
348
|
+
- a daemon already running this session keeps running until `claude-rpc stop` or
|
|
349
|
+
reboot (the autostart-managed one is stopped; a manually `start`ed one isn't);
|
|
350
|
+
- the MCP server, if you wired it — that's a separate `claude-rpc mcp uninstall`.
|
|
351
|
+
|
|
352
|
+
For a clean wipe on macOS/Linux:
|
|
353
|
+
|
|
354
|
+
```sh
|
|
355
|
+
claude-rpc mcp uninstall # only if you ran `mcp install`
|
|
356
|
+
claude-rpc stop
|
|
357
|
+
claude-rpc uninstall
|
|
358
|
+
rm -rf ~/.claude-rpc # stats; plus the per-OS config dir if you want it gone
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
</details>
|
|
362
|
+
|
|
333
363
|
## troubleshooting
|
|
334
364
|
|
|
335
365
|
**First step is always `claude-rpc doctor`** — it checks Node, hook registration, daemon liveness, Discord IPC, aggregate freshness, and privacy resolution, with a one-line fix hint per failure.
|
|
@@ -346,6 +376,39 @@ Exit codes: `0` ok · `1` user error · `2` system error · `3` wrong state. `--
|
|
|
346
376
|
|
|
347
377
|
</details>
|
|
348
378
|
|
|
379
|
+
## platform support
|
|
380
|
+
|
|
381
|
+
**macOS and Linux are first-class.** The daemon reacts to on-disk changes with a
|
|
382
|
+
directory watcher (`fs.watch` over FSEvents/inotify — instant) *and* an mtime
|
|
383
|
+
poll as a lazy backstop, so an event is never missed. Login autostart is a
|
|
384
|
+
per-user [`launchd` LaunchAgent](src/install.js) on macOS and a
|
|
385
|
+
[`systemd --user` service](src/install.js) on Linux; both start the daemon at
|
|
386
|
+
login without `sudo` and don't fight a manual `claude-rpc stop`.
|
|
387
|
+
|
|
388
|
+
**Windows is supported** — grab the portable exe (no Node required), then
|
|
389
|
+
`claude-rpc setup`. One caveat documented honestly: `fs.watch` on Windows drops
|
|
390
|
+
events when a writer commits via atomic rename (which the state file, pause file,
|
|
391
|
+
scanner, and settings GUI all do), so on Windows the **mtime poll is effectively
|
|
392
|
+
the primary path** and runs an order of magnitude faster (every ~3s vs ~30s
|
|
393
|
+
elsewhere) to compensate. It's a reliable fallback, not yet the native-watch
|
|
394
|
+
confidence macOS/Linux get — closing that gap is on the [roadmap](ROADMAP.md).
|
|
395
|
+
Autostart is an `HKCU\…\Run` entry launched through a windowless `.vbs` shim (no
|
|
396
|
+
scheduled task, by design — see [`SECURITY.md`](SECURITY.md)).
|
|
397
|
+
|
|
398
|
+
Everything else — the scanner, dashboards, cards, the worker client — is
|
|
399
|
+
platform-neutral. CI runs the full suite on Node 18/20/22 and builds the macOS
|
|
400
|
+
and Windows binaries every release.
|
|
401
|
+
|
|
402
|
+
## versioning
|
|
403
|
+
|
|
404
|
+
What's a stable contract and what's an internal detail you shouldn't build on:
|
|
405
|
+
[`VERSIONING.md`](VERSIONING.md). Short version — the worker HTTP API, the CLI
|
|
406
|
+
(commands, flags, exit codes), the `config.json` schema, the `claude-rpc vars`
|
|
407
|
+
template variables, and the local data formats are stable and semver-governed;
|
|
408
|
+
daemon internals, the scan cache, the worker's KV layout, and exact wording are
|
|
409
|
+
not. The worker's HTTP surface is documented in
|
|
410
|
+
[`docs/WORKER-API.md`](docs/WORKER-API.md).
|
|
411
|
+
|
|
349
412
|
## development
|
|
350
413
|
|
|
351
414
|
```sh
|
package/package.json
CHANGED