feat(tui): remove provider name i18n, pin mimo models at top#1279
Merged
Conversation
…bel in prompt - Remove all provider.name.xiaomi translations (brand name doesn't need translation) - Remove all provider.name.mimo translations (use UI logic instead) - Hide provider label in prompt when providerID is 'mimo' to avoid redundancy with model name - Simplify code by using provider.name directly instead of i18n lookups
- Extract xiaomi provider and mimo-free into pinned section after favorites/recents - Remove xiaomi and mimo from regular provider list to avoid duplication - Xiaomi and mimo-free now appear as the first provider group below recent models
486e28a to
1a969c5
Compare
- Remove showSections from showPinned condition so pinned options are always built - Include pinnedOptions in search results (fuzzysort) - Only exclude xiaomi/mimo from providerOptions when pinned section is visible
…r mimo-auto not all mimo models
Ctrl+A (model_provider_list) inside the model dialog now opens DialogMimoLogin instead of the bare DialogProvider, matching the /connect command path so users get the MiMo OAuth login and Claude Code import entries. Button title fixed to 'Connect provider'.
Add a comment explaining that scoped views (after connecting a provider) intentionally show only that provider's own models, so the free mimo-auto (owned by the mimo provider) is not surfaced there \u2014 it stays pinned in the unscoped picker. Prevents re-adding the old prepend hack as a perceived bug fix.
onlyfeng
added a commit
to onlyfeng/MiMo-Code
that referenced
this pull request
Jun 24, 2026
* feat(tui): remove provider name i18n, pin mimo models at top (XiaomiMiMo#1279) * revert: remove provider.name i18n translations, hide mimo provider label in prompt - Remove all provider.name.xiaomi translations (brand name doesn't need translation) - Remove all provider.name.mimo translations (use UI logic instead) - Hide provider label in prompt when providerID is 'mimo' to avoid redundancy with model name - Simplify code by using provider.name directly instead of i18n lookups * feat(tui): pin xiaomi provider and mimo-free at top of model picker - Extract xiaomi provider and mimo-free into pinned section after favorites/recents - Remove xiaomi and mimo from regular provider list to avoid duplication - Xiaomi and mimo-free now appear as the first provider group below recent models * fix: simplify pinned logic, mimo-free independent of xiaomi provider * fix: use consistent category name for pinned mimo/xiaomi models * fix: hide provider description for mimo-auto in favorites/recent sections * fix: remove unused useLanguage import from dialog-provider * fix: make xiaomi/mimo searchable and work when scoped to xiaomi provider - Remove showSections from showPinned condition so pinned options are always built - Include pinnedOptions in search results (fuzzysort) - Only exclude xiaomi/mimo from providerOptions when pinned section is visible * feat: add '+ Add model' for xiaomi in pinned section * fix: add deprecated filter for mimo-auto, only hide provider label for mimo-auto not all mimo models * feat: unify ctrl+a with /connect to open DialogMimoLogin Ctrl+A (model_provider_list) inside the model dialog now opens DialogMimoLogin instead of the bare DialogProvider, matching the /connect command path so users get the MiMo OAuth login and Claude Code import entries. Button title fixed to 'Connect provider'. * docs: clarify scoped model picker excludes cross-provider mimo-auto Add a comment explaining that scoped views (after connecting a provider) intentionally show only that provider's own models, so the free mimo-auto (owned by the mimo provider) is not surfaced there \u2014 it stays pinned in the unscoped picker. Prevents re-adding the old prepend hack as a perceived bug fix. * fix(security): allow configured internal network fetches * fix(webfetch): require permission for redirects --------- Co-authored-by: Yihan Yan <yanyihan@xiaomi.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary / 概述
provider.name.xiaomiandprovider.name.mimoi18n translations — provider list is displayed in English, no need for localization/connect: pressing Ctrl+A in the model dialog now opensDialogMimoLogin(same as/connect) instead of the bareDialogProvider, so users get the MiMo OAuth login and Claude Code import entries; button title fixed to "Connect provider"mimoprovider) is no longer prepended into the xiaomi-scoped view — it remains pinned in the unscoped pickerprovider.name.xiaomi和provider.name.mimo的 i18n 翻译 — Provider 列表统一显示英文,不需要本地化/connect:在模型对话框中按 Ctrl+A 现在打开DialogMimoLogin(与/connect一致),不再是裸的DialogProvider,用户可直接使用小米 OAuth 登录和 Claude Code 导入入口;按钮标题固定为 "Connect provider"mimoprovider)不再被 prepend 进 xiaomi-scoped 视图 — 它仍在非 scoped 的选择器中置顶显示Motivation / 动机
PR #1241 introduced
provider.name.xiaomitranslations (小米/シャオミ/Сяоми) which are unnecessary — the provider list is displayed in English consistently, so these translations were never actually shown. Theprovider.name.mimotranslation was used to shorten the display name, but this can be handled more cleanly with UI logic.The mimo-free model name already contains "MiMo", so showing the provider label/description next to it is redundant.
Previously Ctrl+A and
/connectled to two different dialogs (DialogProvidervsDialogMimoLogin) despite both meaning "connect a provider", which was confusing. They now share the same path.The old code special-cased the xiaomi-scoped picker to prepend mimo-auto, which actually belongs to a different provider (
mimo). Showing a cross-provider model inside a view scoped to "the provider you just connected" is itself confusing, so scoped views now consistently show only their own provider's models. A comment documents this so the prepend hack is not re-added as a perceived bug fix.PR #1241 引入了
provider.name.xiaomi翻译(小米/シャオミ/Сяоми),这是不必要的 — Provider 列表统一显示英文,这些翻译实际上不会被展示。provider.name.mimo翻译用于缩短显示名称,但可以通过 UI 逻辑更优雅地处理。mimo-auto 的模型名已经包含 "MiMo",在旁边显示 provider 标签/描述是冗余的。
此前 Ctrl+A 和
/connect虽然语义都是"连接 provider",却分别打开两个不同的对话框(DialogProvider与DialogMimoLogin),容易让人困惑。现已统一走同一路径。旧代码对 xiaomi-scoped 选择器做了特例处理,把 mimo-auto prepend 进去 — 而它实际归属于另一个 provider(
mimo)。在一个 scoped 到"你刚连接的 provider"的视图里展示跨 provider 的模型本身就令人困惑,因此 scoped 视图现在一致地只显示自己 provider 的模型。代码中加了注释说明,避免后人把这个 prepend hack 当成 bug 修复重新加回。