Skip to content

feat(byoa): add account-specific model selection - #175

Merged
yetone merged 4 commits into
yetone:mainfrom
bingqilinweimaotai:feat/model-catalog-dropdowns
Sep 3, 2026
Merged

feat(byoa): add account-specific model selection#175
yetone merged 4 commits into
yetone:mainfrom
bingqilinweimaotai:feat/model-catalog-dropdowns

Conversation

@bingqilinweimaotai

Copy link
Copy Markdown
Collaborator

Summary

  • discover model catalogs from the CLI account/config installed on each paired computer
  • replace manual BYOA brain and cerebellum model inputs with searchable dropdowns
  • retain custom model entry for engines and providers that expose arbitrary model IDs
  • route per-agent cerebellum selections through the actual daemon triage path
  • clear incompatible model pins when the selected computer or engine changes
  • persist computer, engine, and model-pin changes atomically

Motivation

BYOA model configuration previously relied on manually entered model names. This was difficult to discover, made the meaning of “default” unclear, and required frontend-specific handling whenever another engine was added.

The new model catalog travels from the daemon that owns the CLI login to the server and frontend, so the editor can present the models that are relevant to that computer and account.

Implementation

  • use Codex app-server model/list for account-specific Codex models
  • query supported CLI model-list commands for Cursor, OpenCode, and pi
  • provide safe preset/custom fallbacks when dynamic discovery is unavailable
  • cache model discovery for 15 minutes while allowing explicit engine refreshes to bypass the cache
  • sanitize and bound daemon-reported model catalogs before storing or returning them
  • preserve compatibility with older daemons that do not report model catalogs
  • support Qwen and Antigravity through the same generic catalog contract
  • keep their cerebellum selection computer-scoped, matching their current runtime behavior
  • reject unavailable explicit engine pins before mutating an Agent
  • save host, engine, and model pins in one participant update

Testing

  • npm run build
  • npm run server:typecheck
  • targeted BYOA engine, catalog, refresh, blocked-engine, Qwen, and Antigravity tests
  • 62 passed, 16 platform-dependent tests skipped, 0 failed
  • npm run guard:engine-registry
  • npm run guard:big-brain
  • Biome lint on all changed files

bingqilinweimaotai and others added 4 commits September 3, 2026 16:15
Resolves the doc-comment conflict in AgentRunner.triageModel() with yetone#163
(gemini/qwen/cursor pricing branches): the agent pin is consulted first,
then the per-engine aliases from main.

Claude-Session: https://claude.ai/code/session_01SevbW9qCBbzrjfLMy14A31
@yetone
yetone merged commit 972bc2c into yetone:main Sep 3, 2026
7 checks passed
yetone added a commit to bingqilinweimaotai/cumora that referenced this pull request Sep 3, 2026
Resolves the import-list conflict in src/api/client.ts with yetone#175
(DetectedEngine joins the sorted type import).

Claude-Session: https://claude.ai/code/session_01SevbW9qCBbzrjfLMy14A31
@yetone yetone mentioned this pull request Sep 3, 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