mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-10 20:34:43 +02:00
feat(stt): Phase 3 — actions admin pilotées par le LLM (admin_action) (#51)
Asa peut désormais AGIR sur le homelab quand on le demande explicitement, via un outil de la boucle agentique — mais jamais sans confirmation. - Outil admin_action(description) (contexte asa) : le LLM PROPOSE une action, n'exécute rien. brain.ask_with_tools gagne `confirm_tools` : un tel outil arrête la boucle et surface sa réponse (la question de confirmation). - _handle_agentic : stocke la proposition en pending par session ; au tour suivant « confirme » → agent.run_action → hermes-exec (hermes -z --yolo), « annule » → oubli. Réutilise le handshake + jeton du contexte agent. - admin_action n'est exposé que si _actions_available() (STT_ACTIONS_ENABLED + jeton) ; sinon retiré des schémas envoyés au modèle. - Factorisation du ctx_debug du visualiseur. 1 test unitaire (confirm_tools arrête la boucle). Serveur 0.9.0 ; doc stt.md + journal. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
dc7a2093ae
commit
3ea4c3c706
9 changed files with 163 additions and 28 deletions
|
|
@ -47,8 +47,12 @@ CONTEXTS: dict[str, Context] = {
|
|||
"question porte sur l'état courant, un fait précis du homelab, ou une info externe / "
|
||||
"récente, APPELLE l'outil adéquat puis réponds à partir de son résultat — n'invente "
|
||||
"jamais. Si les outils ne donnent pas l'information, dis-le simplement. Pour le "
|
||||
"bavardage général, réponds directement sans outil.",
|
||||
tools=("search_docs", "host_health", "cluster_status", "prometheus_query", "web_search"),
|
||||
"bavardage général, réponds directement sans outil. Si l'utilisateur demande "
|
||||
"explicitement d'AGIR (redémarrer, relancer, modifier…), utilise l'outil admin_action "
|
||||
"(s'il est disponible) — il proposera l'action et demandera confirmation, sans rien "
|
||||
"exécuter de toi-même.",
|
||||
tools=("search_docs", "host_health", "cluster_status", "prometheus_query", "web_search",
|
||||
"admin_action"),
|
||||
),
|
||||
"funk": Context(
|
||||
id="funk", label="Funk · cluster", icon="🛠️",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue