Skip to content

Kimi

Moonshot ships two Kimi harnesses. Both use wire journals, but their storage roots and protocol versions differ, so Hansard imports them as separate source IDs under one provider.

Source Use it for
kimi-code Kimi Code sessions and agent journals.
kimi-cli Kimi CLI context, wire, state, and subagent records.

Hansard scans Kimi Code and Kimi CLI under their separate data roots. For each harness, it selects an audited structural cohort before replay. Kimi Code accepts headered wire protocols 1.0 through 1.5 and the path-qualified legacy headerless 1.4 shape. Kimi CLI accepts context journals, legacy headerless wire 1.1, and headered wire protocols 1.1 through 1.10. Release versions corroborate the audit but never select a converter.

Every accepted primary transcript record has an exact disposition: it becomes canonical transcript content, contributes a bounded session summary, or is explicitly excluded with a documented reason. Unknown wire types, malformed nested content or tool payloads, and nonempty semantic input that would normalize to nothing fail closed instead of producing a partial conversation. A malformed auxiliary Kimi CLI context alongside valid wire is preserved as invalid evidence and never merged.

Agent journals and subagent directories become linked child conversations, not extra turns silently inserted into the parent. Because the two Kimi products use different protocol versions, Hansard does not merge their sessions merely because the content looks similar. A Kimi CLI parent may also lack a model name even when a child record contains one; the importer keeps that distinction visible.

Terminal window
hansard import --sources kimi-code,kimi-cli --since all
hansard index rebuild

After the import finishes, open Conversations and selectFilter & sort. Set Source toKimi Code or Kimi CLI, choose the backfill window underTime, and use Folder when the same harness appears in several projects. Select a result to inspect its messages, tool calls and results, files, commits, model and usage fields, and source provenance in one conversation view.

For a local source that should stay current, open Settings → Indexing & Imports. Automatic follows detected local harnesses; Custom lets Sources scannedselect an explicit set. Explicit cloud and account-export sources do not turn into background network jobs here. If the expected result is absent after resetting the conversation filters, return to the terminal import in this guide and add --explain-skips where supported.

  • Reasoning, tool calls and results, directional usage, turn boundaries, and the declared wire-protocol version.
  • Kimi Code agent journals and child sessions as linked runs.
  • Kimi CLI subagent directories as linked runs without folding their messages or tokens into the parent.
  • The exact Kimi Code wire and state bytes, shared session index and workspace catalog bytes, and each referenced content-addressed blob. Missing, altered, or unreferenced blob sidecars reject the source bundle.
  • The exact Kimi CLI wire, context, state, work-directory catalog, and subagent metadata bytes read for the session. Wire remains the transcript of record; context is primary only when no wire transcript exists.
  • Working-directory attribution when the one-way directory digest matches an entry in Kimi’s configuration.
  • Kimi CLI records a model only for subagent launches, so ordinary parent turns may have no model attribution.
  • A session whose working-directory digest no longer matches current Kimi configuration remains uncategorized.
  • A future protocol or record type is not guessed into the closest known cohort. Import resumes after the parser adds and audits that shape.
Terminal window
hansard import --sources kimi-code,kimi-cli --since all
hansard index rebuild