Skip to content

Kimi provider

The largest competing JetBrains plugin, zhukunpenglinyutong/jetbrains-cc-gui (5,315 stars), attaches six CLI channels under ai-bridge/channels/ — claude, codex, grok, kimi, opencode, pi — with no common contract between them.

Kimi is one of those six. That list is where this library’s set of planned providers comes from: it is a record of which CLIs someone already went to the trouble of wiring up, which is better evidence than a guess.

That it is one of the six channels, and nothing more.

The survey detailed the send parameters for Claude and Codex only. Kimi’s were not recorded, so 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.