Manifest — LLM Router & Observability for OpenClaw
name: manifest
by brunobuddy · published 2026-03-22
$ claw add gh:brunobuddy/brunobuddy-manifest-build---
name: manifest
description: Smart LLM Router for OpenClaw. Save up to 70% by routing every request to the right model. No coding required.
metadata: {"openclaw":{"requires":{"bins":["openclaw"],"env":["MANIFEST_API_KEY"],"config":["plugins.entries.manifest.config.apiKey"]},"primaryEnv":"MANIFEST_API_KEY","homepage":"https://github.com/mnfst/manifest"}}
---
# Manifest — LLM Router & Observability for OpenClaw
Manifest is an OpenClaw plugin that:
Source: [github.com/mnfst/manifest](https://github.com/mnfst/manifest) — MIT licensed. Homepage: [manifest.build](https://manifest.build)
Setup (Cloud — default)
Three commands, no coding:
openclaw plugins install manifest
openclaw config set plugins.entries.manifest.config.apiKey "mnfst_YOUR_KEY"
openclaw gateway restartGet the API key at [app.manifest.build](https://app.manifest.build) → create an account → create an agent → copy the `mnfst_*` key.
After restart, the plugin auto-configures:
Dashboard at [app.manifest.build](https://app.manifest.build). Telemetry arrives within 10-30 seconds (batched OTLP export).
Verify connection
openclaw manifestShows: mode, endpoint reachability, auth validity, agent name.
Configuration Changes
On plugin registration, Manifest writes to these files:
| File | Change | Reversible |
| ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ------------------------------------------- |
| `~/.openclaw/openclaw.json` | Adds `models.providers.manifest` provider entry; adds `manifest/auto` to `agents.defaults.models` allowlist | Yes — `openclaw plugins uninstall manifest` |
| `~/.openclaw/agents/*/agent/auth-profiles.json` | Adds `manifest:default` auth profile | Yes — uninstall removes it |
| `~/.openclaw/manifest/config.json` | Stores auto-generated API key (local mode only, file mode 0600) | Yes — delete `~/.openclaw/manifest/` |
| `~/.openclaw/manifest/manifest.db` | SQLite database (local mode only) | Yes — delete the file |
No other files are modified. The plugin does not change your current default model.
Install Provenance
`openclaw plugins install manifest` installs the [`manifest`](https://www.npmjs.com/package/manifest) npm package.
Verify before installing:
npm view manifest repository.url
npm view manifest dist.integritySetup (Local — offline alternative)
Use local mode only when data must never leave the machine.
openclaw plugins install manifest
openclaw config set plugins.entries.manifest.config.mode local
openclaw gateway restartDashboard opens at **http://127.0.0.1:2099**. Data stored locally in `~/.openclaw/manifest/manifest.db`. No account or API key needed.
To expose over Tailscale (requires Tailscale on both devices, only accessible within your Tailnet): `tailscale serve --bg 2099`
What Manifest Answers
Manifest answers these questions about your OpenClaw agents — via the dashboard or directly in-conversation via agent tools:
**Spending & budget**
**Token consumption**
**Activity & performance**
**Routing intelligence**
**Connectivity**
Agent Tools
Three tools are available to the agent in-conversation:
| Tool | Trigger phrases | What it returns |
| ----------------- | ----------------------------------------------- | --------------------------------------------------------------------------- |
| `manifest_usage` | "how many tokens", "token usage", "consumption" | Total, input, output, cache-read tokens + action count for today/week/month |
| `manifest_costs` | "how much spent", "costs", "money burned" | Cost breakdown by model in USD for today/week/month |
| `manifest_health` | "is monitoring working", "connectivity test" | Endpoint reachable, auth valid, agent name, status |
Each accepts a `period` parameter: `"today"`, `"week"`, or `"month"`.
All three tools are read-only — they query the agent's own usage data and never send message content.
LLM Routing
When the model is set to `manifest/auto`, the router scores each conversation across 23 dimensions and assigns one of 4 tiers:
| Tier | Use case | Examples |
| ------------- | --------------------------------------- | ------------------------------------------------------- |
| **Simple** | Greetings, confirmations, short lookups | "hi", "yes", "what time is it" |
| **Standard** | General tasks, balanced quality/cost | "summarize this", "write a test" |
| **Complex** | Multi-step reasoning, nuanced analysis | "compare these architectures", "debug this stack trace" |
| **Reasoning** | Formal logic, proofs, critical planning | "prove this theorem", "design a migration strategy" |
Each tier maps to a model. Default models are auto-assigned per provider, but overridable in the dashboard under **Routing**.
Short-circuit rules:
Dashboard Pages
| Page | What it shows |
| ---------------- | ----------------------------------------------------------------------------- |
| **Workspace** | All connected agents as cards with sparkline activity charts |
| **Overview** | Per-agent cost, tokens, messages with trend badges and time-series charts |
| **Messages** | Full paginated message log with filters (status, model, cost range) |
| **Routing** | 4-tier model config, provider connections, enable/disable routing |
| **Limits** | Email alerts and hard spending caps (tokens or cost, per hour/day/week/month) |
| **Settings** | Agent rename, delete, OTLP key management |
| **Model Prices** | Sortable table of 300+ model prices across all providers |
Supported Providers
Anthropic, OpenAI, Google Gemini, DeepSeek, xAI, Mistral AI, Qwen, MiniMax, Kimi, Amazon Nova, Z.ai, OpenRouter, Ollama. 300+ models total.
Uninstall
openclaw plugins uninstall manifest
openclaw gateway restartThis removes the plugin, provider config, and auth profiles. After uninstalling, `manifest/auto` is no longer available. If any agent uses it, switch to another model.
Troubleshooting
**Telemetry not appearing**: The gateway batches OTLP data every 10-30 seconds. Wait, then check `openclaw manifest` for connection status.
**Auth errors in cloud mode**: Verify the API key starts with `mnfst_` and matches the key in the dashboard under Settings → Agent setup.
**Port conflict in local mode**: If port 2099 is busy, the plugin checks if the existing process is Manifest and reuses it. To change the port: `openclaw config set plugins.entries.manifest.config.port <PORT>`.
**Plugin conflicts**: Manifest conflicts with the built-in `diagnostics-otel` plugin. Disable it before enabling Manifest.
**After backend restart**: Always restart the gateway too (`openclaw gateway restart`) — the OTLP pipeline doesn't auto-reconnect.
Privacy
External Endpoints
| Endpoint | When | Data Sent |
| ----------------------------------- | ---------------------------------- | --------------------------------------------------------------------------------------------------------- |
| `{endpoint}/v1/traces` | Every LLM call (batched 10-30s) | OTLP spans (see fields below) |
| `{endpoint}/v1/metrics` | Every 10-30s | Counters: request count, token totals, tool call counts — grouped by model/provider |
| `{endpoint}/api/v1/routing/resolve` | Only when model is `manifest/auto` | Last 10 non-system/non-developer messages (`{role, content}` only) |
| `https://eu.i.posthog.com` | On plugin register | Hashed machine ID, OS, Node version, plugin version, mode. No PII. Opt out: `MANIFEST_TELEMETRY_OPTOUT=1` |
OTLP Span Fields
Exhaustive list of attributes sent per span:
**Not collected**: user prompts, assistant responses, tool input/output arguments, file contents, or any message body.
Routing Data
Credential Storage
Local Mode
All data stays on your machine. No external calls except optional PostHog analytics (opt out with `MANIFEST_TELEMETRY_OPTOUT=1`).
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...