Kimi provider
Why it is on the list
Section titled “Why it is on the list”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.
What is known
Section titled “What is known”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.
What is not known
Section titled “What is not known”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
typediscriminator, which would letEventParserwork unchanged. - Its permission vocabulary, and whether the closed
PermissionModeset can spell it. - Whether it has
authandmcpsubcommands, and in what shape.
Nothing is asserted about this CLI in advance of running it.
What attaching it would contribute
Section titled “What attaching it would contribute”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:
- Port the adapter accurately, matching the CLI’s real behaviour.
- Note every place the existing contract had to be worked around — especially in
Auth/andMcp/, and anywherePermissionModedid not fit. - Extract the common shape.
- Only then widen
AbstractAdapter.
Where to go next
Section titled “Where to go next”- Writing a provider — what attaching a CLI involves.
- Abstract provider — the contract as it stands.
- Roadmap — where this sits in the order of work.