Knowledge synthesis engine for the Jeeves platform. Transforms raw data archives into concise, queryable meta-analyses through a three-step LLM pipeline: Architect → Builder → Critic.
jeeves-meta is an HTTP service that discovers .meta/ directories via the jeeves-watcher filesystem walk endpoint (POST /walk), builds an ownership tree, and schedules synthesis cycles based on weighted staleness. Each cycle:
Results are written to .meta/meta.json files with full archive history, enabling self-improving feedback loops.
Metas can declare explicit cross-references (_crossRefs) to other metas, forming a heterarchical mesh that enables organizational views across source domains.
| Package | Description |
|---|---|
@karmaniverous/jeeves-meta |
HTTP service — Fastify API, built-in scheduler, synthesis queue, CLI |
@karmaniverous/jeeves-meta-openclaw |
OpenClaw plugin — thin HTTP client, interactive tools, TOOLS.md injection |

/tools/invoke endpointPOST /walk) and hosts virtual inference rules
npm install -g @karmaniverous/jeeves-meta
# Print NSSM/systemd/launchd install instructions
jeeves-meta service install --config /path/to/jeeves-meta.config.json
# Or start directly
jeeves-meta start --config /path/to/jeeves-meta.config.json
jeeves-meta status # service health + queue state
jeeves-meta list # list all metas with summary
jeeves-meta detail <path> # full detail for a single meta
jeeves-meta preview # dry-run next synthesis
jeeves-meta synthesize # enqueue synthesis
jeeves-meta seed <path> # create .meta/ for a new path
jeeves-meta unlock <path> # remove stale .lock file
jeeves-meta config # query active config (supports JSONPath)
jeeves-meta service start|stop|status|install|remove
Install the plugin package. Eight tools become available to the agent:
meta_list — list metas with summary stats and filteringmeta_detail — full detail for a single meta with optional archive historymeta_trigger — manually trigger synthesis (enqueues work)meta_preview — dry-run showing what inputs would be gatheredmeta_seed — create .meta/ directory for a new path (with optional cross-refs and steer)meta_unlock — remove stale .lock from a meta entitymeta_config — query service configuration with optional JSONPathmeta_queue — queue management: list pending, clear queue, abort current synthesisMinimal config (built-in prompts, default schedule):
{
"watcherUrl": "http://localhost:1936",
"gatewayUrl": "http://127.0.0.1:18789",
"gatewayApiKey": "your-api-key"
}
Full example with all optional fields:
{
"watcherUrl": "http://localhost:1936",
"gatewayUrl": "http://127.0.0.1:18789",
"gatewayApiKey": "your-api-key",
"defaultArchitect": "@file:prompts/architect.md",
"defaultCritic": "@file:prompts/critic.md",
"port": 1938,
"schedule": "*/30 * * * *",
"reportChannel": "C0AK9D0GL5A",
"metaProperty": { "_meta": "current" },
"metaArchiveProperty": { "_meta": "archive" },
"logging": { "level": "info" }
}
See the Configuration Guide for all fields and defaults.
npm install
npm run build # build both packages
npm run lint # lint both packages
npm run typecheck # typecheck both packages
npm test # run all tests
npm run knip # detect unused exports/deps
npm run docs # generate TypeDoc documentation
BSD-3-Clause
Built for you with ❤️ on Bali by Jason Williscroft & Jeeves.