feat: AiConfig section [ai] pour la configuration des agents (#26, #33) #129

Merged
charles merged 2 commits from feat/26-33-ai-config into main 2026-04-06 02:14:40 +00:00
Owner

Résumé

Implémente les issues #26 et #33 : ajout de la section [ai] dans la configuration TOML.

  • Nouveau fichier crates/fractal-core/src/ai_config.rs avec AiConfig et AgentEntry
  • lib.rs mis à jour pour exporter AiConfig et AgentEntry
  • Pas de modification des Cargo.toml : toml et serde_json sont déjà présents dans le workspace et dans fractal-core

Champs de AiConfig

Champ Type Défaut
default_agent Option<String> None
streaming_mode bool true
show_thinking bool false
canvas_enabled bool true
detection_patterns Vec<String> [".*-bot$", ".*-agent$", "openclaw.*"]
known_agents Vec<AgentEntry> []
openai_api_key Option<String> None
openai_base_url String "https://api.openai.com"

Note d'intégration

La fusion avec AppConfig (PR #15) se fera lors du merge de cette branche avec celle de la PR #15. Il suffira d'ajouter pub ai: AiConfig dans la struct AppConfig.

Tests

5 tests unitaires couvrant : valeurs par défaut, is_known_agent, sérialisation/désérialisation TOML roundtrip, et agents avec modèle préféré.

Closes #26
Closes #33

## Résumé Implémente les issues #26 et #33 : ajout de la section `[ai]` dans la configuration TOML. - Nouveau fichier `crates/fractal-core/src/ai_config.rs` avec `AiConfig` et `AgentEntry` - `lib.rs` mis à jour pour exporter `AiConfig` et `AgentEntry` - Pas de modification des `Cargo.toml` : `toml` et `serde_json` sont déjà présents dans le workspace et dans `fractal-core` ## Champs de `AiConfig` | Champ | Type | Défaut | |---|---|---| | `default_agent` | `Option<String>` | `None` | | `streaming_mode` | `bool` | `true` | | `show_thinking` | `bool` | `false` | | `canvas_enabled` | `bool` | `true` | | `detection_patterns` | `Vec<String>` | `[".*-bot$", ".*-agent$", "openclaw.*"]` | | `known_agents` | `Vec<AgentEntry>` | `[]` | | `openai_api_key` | `Option<String>` | `None` | | `openai_base_url` | `String` | `"https://api.openai.com"` | ## Note d'intégration La fusion avec `AppConfig` (PR #15) se fera lors du merge de cette branche avec celle de la PR #15. Il suffira d'ajouter `pub ai: AiConfig` dans la struct `AppConfig`. ## Tests 5 tests unitaires couvrant : valeurs par défaut, `is_known_agent`, sérialisation/désérialisation TOML roundtrip, et agents avec modèle préféré. Closes #26 Closes #33
feat: export AiConfig and AgentEntry from fractal-core (#26, #33)
Some checks failed
CI / cargo check (pull_request) Has been cancelled
CI / cargo test (pull_request) Has been cancelled
CI / clippy + rustfmt (pull_request) Has been cancelled
a3a1fb83f5
Sign in to join this conversation.
No description provided.