Skip to content

Group /models by inference mode in ACP clients - #264

Merged
setoelkahfi merged 1 commit into
developmentfrom
fix/models-list-grouped-by-mode
Oct 26, 2026
Merged

setoelkahfi merged 1 commit into
developmentfrom
fix/models-list-grouped-by-mode

Conversation

@setoelkahfi

@setoelkahfi setoelkahfi commented Oct 26, 2026 •

Copy link
Copy Markdown
Collaborator

/models in an ACP client printed one long flat list: fifteen cloud rows that each repeated "siGit Code Cloud" three times, then the on-device models.

It now sends one collapsible tool-call card per inference mode. Zed only folds tool-call cards, not fenced code blocks, so that is what the cards are for.

  • The card title is the mode name, with "(active)" on the active one and the selected model after a ·.
  • The raw input names the mode: "On-device inference" or "Onde Cloud inference".
  • Cloud rows lose the repeated prefix, description and cloud badge, and read like 2. Prism tool calling ← current.
  • On-device rows keep the description, cache-health and source badges.
  • The Use /models N to switch models. hint is sent as system status.
  • Row numbers are still the global picker index, so /models N selects what is listed.

The TUI picker already groups by mode and is untouched.

Closes #257

Tested: fmt, clippy and the two new render_models_list tests pass; the full suite passed on the first version of this change. I checked the cards by hand in Zed against a debug build, except the last tweak (raw input text and the system-status hint), which has not been looked at in Zed yet.

/models printed one flat list: fifteen cloud rows that each repeated
"siGit Code Cloud" three times, then the on-device models. It now sends
one collapsible tool-call card per mode, titled with the mode name,
"(active)" on the active one and the selected model. The raw input names
the mode ("On-device inference", "Onde Cloud inference"). The usage hint
goes out as system status.

Cloud rows drop the repeated prefix, description and cloud badge. Row
numbers stay the global picker index, so /models N selects what is
listed. The TUI picker already groups by mode and is unchanged.

Closes #257

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: siGit Code v1.7.5-acp <noreply@sigit.si>
@setoelkahfi setoelkahfi self-assigned this Oct 26, 2026
@setoelkahfi
setoelkahfi requested a review from paydii October 26, 2026 08:00

@sigit-code-review sigit-code-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change refactors the /models command output in ACP clients to group models by inference mode, presenting each group as a collapsible tool-call card. Cloud and on-device models are now clearly separated, with cloud rows simplified and on-device rows retaining more detail. The code introduces a new ModelGroup struct and splits the rendering logic into render_models_list, which is now tested with two new unit tests. The /models command handler now uses send_models_list to send the grouped cards and a usage hint. The TUI picker is not affected. Previous findings about grouping and clarity are addressed by this change, and the new tests verify the grouping logic and output format.


Automated review by siGit Code Review · commit 66ace18 · see the review dashboard

@setoelkahfi
setoelkahfi merged commit 4bd0726 into development Oct 26, 2026
9 checks passed
@setoelkahfi
setoelkahfi deleted the fix/models-list-grouped-by-mode branch October 26, 2026 16:32
@setoelkahfi setoelkahfi added this to the v1.7.6 milestone Oct 26, 2026
@keypair34 keypair34 mentioned this pull request Oct 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants