Skip to content

feat(cli): run the agents on a chosen provider's models - #1119

Draft
alexsoyes wants to merge 1 commit into
feat/global-installfrom
feat/agent-models
Draft

alexsoyes wants to merge 1 commit into
feat/global-installfrom
feat/agent-models

Conversation

@alexsoyes

@alexsoyes alexsoyes commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

🎯 What & why

Stacked on #1142 (machine-wide install); merge that one first.

The framework's sub-agents (explorer, executor, validator, reviewer) ship with no model, so each runs on the calling session's model. This lets a team pick which provider's models they run on:

aidd setup --ide opencode --provider mistral   # agents on Mistral models
aidd setup --ide opencode --provider none      # back to the session's model
aidd setup --global --ide claude,codex,opencode --plugins all --provider openai

The session's own model stays the one the user picks in the IDE: an earlier --main that rewrote the IDE's settings and restored them later was dropped as out of scope.

🛠️ How it works

  • agent-models.json maps each role to a tier (light for explorer, executor and validator; standard for the reviewer), and each tier to a model and effort per provider (openai, anthropic, mistral), in each host's own model ids.
  • The provider is recorded per IDE for the whole machine (~/.config/aidd/agent-models.json). Every install build applies it to the agents' frontmatter; it is part of the built tree's cache key.
  • Setting it re-installs the plugins already installed, in the project and, with --global, the machine-wide ones from feat(cli): install the framework for every project with setup --global #1142.

🧪 How to verify

  • cd cli && pnpm typecheck && pnpm test: 6,936 tests pass.
  • aidd setup --ide opencode --plugins aidd-orchestrator --provider mistral writes .opencode/agents/aidd-orchestrator-reviewer.md with mistral/mistral-medium-latest#high; --provider none removes it (cli/tests/e2e/agent-models.e2e.test.ts).

⚠️ Heads-up

  • One provider per run: Claude Code runs only anthropic and Codex only openai, so --ide claude,codex --provider … is refused before anything is built.
  • The provider is machine-wide: setting it in one project reaches the others at their next aidd update, and says so. aidd clean keeps it; run --provider none first.
  • Bundle budget 741 KB (725.6 KB measured, +6.8 KB over feat(cli): install the framework for every project with setup --global #1142), reason in cli/scripts/check-bundle-size.mjs.

✅ I certify

  • I DO CERTIFY I READ EACH LINE OF THE PULL REQUEST BECAUSE I AM A SOFTWARE ENGINEER, NOT A AI PUPPY.

Comment thread cli/scripts/smoke-tools.sh Resolved
Comment thread cli/README.md Resolved
Comment thread cli/README.md Resolved
Comment thread docs/SUBAGENTS.md Resolved
Comment thread docs/SUBAGENTS.md Resolved
@alexsoyes

Copy link
Copy Markdown
Contributor Author

Review loop summary

7 fils traités et résolus (b64b56f, 16495b4) : aidd agents supprimé au profit de aidd setup --provider (none pour défaire), smoke et wiring alignés, message --global reformulé pour cursor/opencode, tableau « où ça atterrit » dans le README, SUBAGENTS.md raccourci.

FAQ: your call

  1. rebuild dans plugin-update-use-case (fil) : garder (nécessaire pour qu'un changement de provider s'applique à version égale) ou retirer et documenter « bump la version ou réinstalle » ?
  2. Nom mainModels (fil) : garder (ce n'est que la session principale) ou renommer, par ex. mainSettings ?
  3. Supprimer des tests (fil) : garder les tests actuels (seuils de mutation tenus de justesse) ou en retirer et baisser les seuils ?
  4. claude → claude-code (fil) : PR dédiée après celle-ci (recommandé) ou dans cette PR ?

Base automatically changed from feature/sub-agents to next October 29, 2026 09:03
@alexsoyes alexsoyes changed the title feat(cli): set each IDE's agent models with aidd agents set-model feat(cli): choose the agents' provider and install the framework machine-wide Nov 2, 2026
@alexsoyes
alexsoyes force-pushed the feat/agent-models branch 2 times, most recently from 15c6a8b to 4740582 Compare November 3, 2026 01:00
@alexsoyes alexsoyes changed the title feat(cli): choose the agents' provider and install the framework machine-wide feat(cli): run the agents on a chosen provider's models Nov 3, 2026
@alexsoyes
alexsoyes changed the base branch from next to feat/global-install November 3, 2026 01:57
@alexsoyes
alexsoyes force-pushed the feat/agent-models branch 4 times, most recently from 9a01522 to 5bb1f46 Compare November 3, 2026 03:38
`aidd setup --ide … --provider openai|anthropic|mistral` gives each framework agent the model its
role's tier maps to in agent-models.json (light for explorer, executor and validator, standard for
the reviewer), per IDE and for the whole machine; `--provider none` gives the agents back the
session's model. Every install build applies the recorded provider, the provider is part of what
keeps a built tree fresh, and setting it re-installs the plugins already installed, the
machine-wide ones too with --global. The session's own model stays the one the IDE picks.
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.

1 participant