Skip to content

Latest commit

 

History

History
91 lines (69 loc) · 3.82 KB

File metadata and controls

91 lines (69 loc) · 3.82 KB

SuperBased Observer — Kimi Code plugin

Local-first token, cost and cache observability for Kimi Code.

Requires the observer binary already on your PATH. This plugin is wiring only — it declares an MCP server that runs observer; it does not download or bundle it.

npm i -g @superbased/observer     # or: pipx install superbased-observer
observer start                    # run the local daemon

Install

Inside Kimi Code:

/plugins install https://github.com/superbasedapp/plugins

A bare GitHub repository URL resolves to the latest release, falling back to the default branch. The other documented pinned forms also work: …/tree/<ref>, …/releases/tag/<tag> and …/commit/<sha>. Downloads go through github.com / codeload.github.com only.

Installed plugins live under $KIMI_CODE_HOME/plugins/managed/<id>/. Manage them with /plugins list, /plugins info superbased, /plugins enable|disable superbased, /plugins reload and /plugins remove superbased. The MCP server this plugin declares can be toggled on its own with /plugins mcp enable|disable superbased observer.

Kimi Code shows a trust badge per source; a third-party install (this one, until it is listed in an official catalog) defaults the confirmation prompt to cancel, so you have to confirm deliberately.

⚠️ The manifest has to be at the root of whatever you install. The documented remote install takes a repository URL, so kimi.plugin.json belongs at the repository root — the same constraint gemini-extension.json carries. In this source tree it lives under kimi-code/superbased/ alongside the other surfaces; the public repository puts it at the top level, where its name collides with nothing else that must live there.

What it wires

Field Value
name superbased — the plugin id, matching the documented [a-z0-9][a-z0-9_-]{0,63} pattern.
version Stamped from the observer release tag.
mcpServers.observer observer serve — on-demand project/session/cost queries from inside Kimi Code.

Captured data lands in the local ~/.observer/observer.db. The MCP server makes no network calls of its own.

No hooks are declared, and that is not an oversight. Kimi's manifest documents a hooks vocabulary, but observer has no Kimi hook receiver — observer hook accepts claude-code, cursor, codex and hermes only. A declared hook would point Kimi at a command that does not exist. Kimi capture works without hooks anyway: observer's watcher reads Kimi's own wire.jsonl traces, and observer kimi -- … routes turns through the local proxy.

Nothing else is declared either — no skills, agents, commands or system-prompt contribution — because observer ships none of those components, and a manifest key pointing at a path that is not in the plugin is a broken plugin.

Double-wiring

observer init writes no Kimi MCP entry today. Kimi's only MCP config surface is ~/.kimi-code/config.toml, a file observer deliberately never reads (it holds a plaintext API key), so internal/mcp has no Kimi client row and there is nothing for this plugin to duplicate.

observer init --kimi-code's proxy-route step is unaffected and still worth running: it adds a base_url under [providers.openai] so turns go through the local proxy and token counts come from the wire rather than a self-report. This plugin declares no proxy route.

The automatic detect-and-skip observer init performs for the Claude Code plugin is claude-code-only (internal/claudeplugin); no equivalent probe exists for Kimi. Documented, not built.

Links