Skip to content

Kimi provider

Kimi ships a coding agent CLI, which is the only qualification this list has. A provider is the identity of a CLI to point at, so the planned set is simply the CLIs people are already running from an editor or a terminal to write code.

The order they are attached in is decided by what each one would teach the contract, not by preference between them.

That it exists and is worth attaching. Nothing about how it identifies a conversation, what it accepts, or how it reports back is established here.

Everything else. Not yet investigated:

  • The command name and how a conversation is identified.
  • Which flags make it a controllable two-way stream rather than a terminal UI.
  • Whether its output is NDJSON with a type discriminator, which would let EventParser work unchanged.
  • Its permission vocabulary, and whether the closed PermissionMode set can spell it.
  • Whether it has auth and mcp subcommands, and in what shape.

Nothing is asserted about this CLI in advance of running it.

The contract under every provider is five members, kept small on purpose: a contract drawn from a single implementation is a guess, and the shape worth committing to is the one that survives a second.

A third and fourth adapter are what distinguish a shape that generalises from one that happens to fit two CLIs. Each port follows the same order:

  1. Port the adapter accurately, matching the CLI’s real behaviour.
  2. Note every place the existing contract had to be worked around — especially in Auth/ and Mcp/, and anywhere PermissionMode did not fit.
  3. Extract the common shape.
  4. Only then widen AbstractAdapter.