CLI
khiipd is the primary way to drive Khiip. Most commands talk to a running daemon, so
start khiipd serve first. khiipd <command> --help is always authoritative.
khiipd serve
Run the FastAPI daemon.
| Flag | Default | Purpose |
|---|---|---|
--host | 127.0.0.1 | bind address |
--port | 8478 | port |
--log-level | info | debug / info / warning / error |
--reload | off | auto-reload on code changes (dev only) |
khiipd capture <url>
Capture a URL via the running daemon.
| Flag | Default | Purpose |
|---|---|---|
--source-hint | — | force a source: x / web / wiki / pdf / youtube |
--host / --port | 127.0.0.1:8478 | daemon address |
--timeout | 30 | request timeout (seconds) |
khiipd recall "<query>"
Semantic recall over the embedded corpus. Quote multi-word queries.
| Flag | Default | Purpose |
|---|---|---|
--limit | 10 | max results |
--host / --port / --timeout | as above | daemon address / timeout |
khiipd refetch <capture_id> [--media | --wayback]
Re-run one dimension of a capture. The two flags are mutually exclusive; with neither,
refetch re-extracts.
| Flag | Behaviour |
|---|---|
| (none) | re-extract → creates a new superseding capture (append-only) |
--media | re-walk the media-fetcher registry in place |
--wayback | re-submit to the Wayback Machine in place |
--timeout | request timeout (seconds; default 60) |
khiipd validate
Check vault ↔ SQLite invariants per ADR-0009 §C3. Read-only.
| Flag | Default | Purpose |
|---|---|---|
--vault-path | from config.toml | vault root override |
--db-path | from config.toml | SQLite path override |
--json | off | emit a machine-readable report instead of text |
khiipd auth show | rotate
Manage the daemon API key (stored in ~/.config/khiip/auth.toml, mode 600):
khiipd auth show— print the key fingerprintkhiipd auth rotate— generate a new key
khiipd version
Print the package version.