kimi-code / apps /kimi-inspect /README.md
SaylorTwift's picture
SaylorTwift HF Staff
Add files using upload-large-folder tool
6a2bc3b verified
|
Raw History Blame Contribute Delete
2.99 kB

kimi-inspect

Web inspector for the kap-server /api/v1/debug RPC surface β€” a read/trigger window into a running Kimi Code engine (workspaces, sessions, agents, and the scoped DI registry).

Run

  1. Start a kap-server with the debug surface mounted (repo dev scripts do this for you): pnpm dev:v1 / pnpm dev:v2 from the repo root pass --debug-endpoints on a loopback bind; the surface inherits the global bearer auth.
  2. pnpm --filter @moonshot-ai/kimi-inspect dev β€” the Vite dev server proxies /api to the server (KIMI_SERVER_URL, default http://127.0.0.1:58627) and auto-discovers running instances (~/.kimi-code/server/instances); switch servers from the header dropdown.

A connection failure shows a blocking "Debug surface unavailable" screen β€” there is no fallback data source.

Views (left icon rail)

  • Chat workspace β€” session list (activity badges from the global-events WS) plus a transcript-driven per-session chat; the right dock hosts the Agent-scope Service panels, a plan lookup card, and the transcript audit panel. The Session scope has its own column (pending interactions + session Service panels, and a State tab).
  • Search β€” cross-session full-text search over POST /api/v1/search (cursor-paged; exact-match maps to the API's literal mode; a live/index badge shows which server route served the results).
  • Model Catalog β€” every provider with its models and the default marker, with per-model ping and session creation actions.
  • App / Workspace Services β€” the full Service reflection over the App scope, and over each Workspace scope (picked via the directory browser; workspace handlers materialize on demand).
  • DI β€” the engine's Service Γ— Effect Γ— DI debug surface, four panels fed by the App-scope debug Services (IDebugLedgerService / IDebugGraphService / IDebugCascadeService) and refreshed eagerly off the event.di.unit_changed WS frame:
    • Unit tree β€” scope β†’ unit β†’ ledger entries (label, five-state Pending / Activating / Active / Unloading / Failed, uid, pinned flag, unit error object), with unprovide / update / dispose triggers.
    • Graph β€” the dependency DAG (instance edges across scopes + collection edges).
    • Cascade β€” the cascade transaction history ring (changes, contagion set, torn-down / rebuilt / failed, abort wait, duration).
    • Pending β€” the waiting area: units parked on unsatisfied dependencies with their missing-token sets.

Notes for maintainers

  • The channel layer (src/channel/) is a VS Code-style ProxyChannel: GET /api/v1/debug/channels enumerates every scoped Service β€” there is no whitelist; new Services appear automatically.
  • There is no Service-event push channel besides the global events listed above; panels fetch/refresh on demand (react-query, 15 s poll) plus the event.di.unit_changed invalidation for the DI view.