MoonshotAI / MoonshotAI/kimi-cli

feat(acp): advertise available models and support mid-session model switching

Open
#2,583 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
11.4k
Forks
1.3k
Avg merge
9h 47m
Merged PRs (30d)
2

Description

What feature would you like to see?

When driving kimi acp from an ACP client (e.g. Happy Coder mobile app, Zed), the client cannot discover which models are available, nor switch the model mid-session:

  • session/new does not advertise a model list, and no current_model_update/models-related session updates are emitted (only available_commands_update is observed).
  • Client-initiated model change requests are therefore no-ops — the session keeps running whatever -m/default_model was set at spawn.

Requested: advertise the available models over ACP (per the ACP spec's session models support) and implement mid-session model switching, so ACP clients can list and change models without respawning the session.

Additional information

Real-world scenario: Happy Coder spawns kimi --yolo acp on a desktop and the user interacts from a phone. Model selection in the mobile UI (k3 / k3-256k / highspeed aliases from config.toml) can only be honored at spawn time today; changing it requires killing the session and starting a new one.

Related: #2364 (ACP permission mode switching) — same class of gap for modes.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the kimi acp entry point and trace ACP session/new, session update handling, and client-initiated model-change requests. Review the ACP session models support and the config.toml model aliases, then verify behavior with an ACP client such as Happy Coder or Zed. Done means clients can discover available models and switch the active model without respawning the session.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.