[v0.7.0] Registre de providers : settings.providers + default_provider + commandes am providers #88

Closed
opened 2026-08-19 14:59:23 -04:00 by bruno · 0 comments
Owner

Épique : #87

Objectif

Créer le socle : un registre centralisé des providers LLM (nom, base_url, modèles, modèle par défaut) dans la configuration, exposé par un groupe de commandes am providers. Les tokens ne sont PAS dans le registre — ils vivent dans le keyring OS (issue #82).

Spécification

config.yaml (extension additive de settings) :

settings:
  default_provider: openai
  providers:
    openai:
      base_url: https://api.openai.com/v1
      default_model: gpt-5.2
      models: [gpt-5.2, gpt-5.1-mini, o4-mini]
    deepseek:
      base_url: https://api.deepseek.com
      default_model: deepseek-chat
      models: [deepseek-chat, deepseek-reasoner]

Commandes :

  • am providers — liste les providers avec base_url, modèles, modèle par défaut, flag du provider par défaut (étoile) ; --json pour les scripts
  • am providers add <nom> --base-url <url> [--model <defaut>] [--models m1,m2]
  • am providers remove <nom>
  • am providers default <nom> — définit settings.default_provider
  • am providers show <nom> — détail d'un provider

Points de contact projet (rappel skill agent-manager-development) : cli.rs (enum + struct), commands/mod.rs, lib.rs si module métier, repl.rs (parseur, complétion, descriptions, banner), help.rs, tip_cmd.rs, config.rs (struct Settings + merge() + validate()), events.rs (EventKind Provider + as_str), man pages.

Critères d'acceptation

  • am config show affiche providers + default_provider
  • am providers / add / remove / default / show fonctionnels (REPL + CLI)
  • --json ne contient JAMAIS de token
  • événement Provider journalisé (am log)
  • man pages + tip régénérés
  • tests unitaires + intégration verts

Référence ROADMAP

Milestone v0.7.0 — priorité P0 (avant Phase 3 v1.0). S'appuie sur le pattern config.rs existant (include_str!, merge, validate).

Épique : #87 ## Objectif Créer le socle : un registre centralisé des providers LLM (nom, base_url, modèles, modèle par défaut) dans la configuration, exposé par un groupe de commandes `am providers`. Les tokens ne sont PAS dans le registre — ils vivent dans le keyring OS (issue #82). ## Spécification config.yaml (extension additive de `settings`) : ```yaml settings: default_provider: openai providers: openai: base_url: https://api.openai.com/v1 default_model: gpt-5.2 models: [gpt-5.2, gpt-5.1-mini, o4-mini] deepseek: base_url: https://api.deepseek.com default_model: deepseek-chat models: [deepseek-chat, deepseek-reasoner] ``` Commandes : - `am providers` — liste les providers avec base_url, modèles, modèle par défaut, flag du provider par défaut (étoile) ; `--json` pour les scripts - `am providers add <nom> --base-url <url> [--model <defaut>] [--models m1,m2]` - `am providers remove <nom>` - `am providers default <nom>` — définit settings.default_provider - `am providers show <nom>` — détail d'un provider Points de contact projet (rappel skill agent-manager-development) : cli.rs (enum + struct), commands/mod.rs, lib.rs si module métier, repl.rs (parseur, complétion, descriptions, banner), help.rs, tip_cmd.rs, config.rs (struct Settings + merge() + validate()), events.rs (EventKind Provider + as_str), man pages. ## Critères d'acceptation - [ ] `am config show` affiche providers + default_provider - [ ] `am providers` / `add` / `remove` / `default` / `show` fonctionnels (REPL + CLI) - [ ] `--json` ne contient JAMAIS de token - [ ] événement Provider journalisé (am log) - [ ] man pages + tip régénérés - [ ] tests unitaires + intégration verts ## Référence ROADMAP Milestone v0.7.0 — priorité P0 (avant Phase 3 v1.0). S'appuie sur le pattern config.rs existant (include_str!, merge, validate).
bruno added this to the v0.7.0 — Providers & configuration automatisée milestone 2026-08-19 14:59:23 -04:00
bruno added the P0axe-8M labels 2026-08-19 14:59:23 -04:00
bruno closed this issue 2026-08-19 15:32:47 -04:00
Sign in to join this conversation.