Skip to content

Latest commit

 

History

History
207 lines (166 loc) · 5.58 KB

File metadata and controls

207 lines (166 loc) · 5.58 KB

Guide de Test - Configuration Coder et Vision

🧪 Tests Manuels

1. Démarrage du serveur

# Installer les dépendances
pip install -r nanobot-manager/requirements.txt

# Lancer l'application
cd nanobot-manager
python3 app.py

Le serveur sera accessible à http://localhost:8899

2. Tests de l'interface

Tab Default (Existant)

  • Sélectionner un provider dans la liste
  • Choisir un modèle Ollama ou saisir manuellement
  • Cliquer "Sauvegarder"
  • Vérifier le message de succès
  • Vérifier le badge "Config actuelle" mis à jour

Tab Coder (Nouveau)

  • Cliquer sur l'onglet "🔧 Coder"
  • Saisir un provider (ex: custom)
  • Saisir un modèle (ex: qwen3.5:9b-16k)
  • Sélectionner un contexte prédéfini (ex: 16384)
  • Cliquer "Sauvegarder Coder"
  • Vérifier le message de succès
  • Vérifier le badge mis à jour

Tab Coder - Contexte personnalisé

  • Sélectionner "✏️ Personnalisé..." dans la liste
  • Saisir une valeur personnalisée (ex: 24000)
  • Cliquer "Sauvegarder Coder"
  • Vérifier que la valeur est acceptée

Tab Vision (Nouveau)

  • Cliquer sur l'onglet "👁️ Vision"
  • Saisir un provider (ex: custom)
  • Saisir un modèle (ex: llava)
  • Sélectionner "Aucun" ou un contexte (optionnel)
  • Cliquer "Sauvegarder Vision"
  • Vérifier le message de succès

3. Tests des validations

Erreurs attendues:

// Provider vide
// Error: "Modèle et provider requis"

// Modèle vide
// Error: "Modèle et provider requis"

// maxTokens invalide
// Error: "maxTokens invalide"

// maxTokens <= 0
// Error: "maxTokens doit être > 0"

4. Tests de configuration (config.json)

# Après avoir sauvegardé les configurations,
# vérifier le fichier config.json
cat /opt/stacks/nanobot/config/config.json

# Vérifier la structure:
{
  "agents": {
    "coder": {
      "model": "qwen3.5:9b-16k",
      "provider": "custom",
      "maxTokens": 16384
    },
    "vision": {
      "model": "llava",
      "provider": "custom"
    }
  }
}

🔌 Tests d'API

Récupérer la config Coder

curl http://localhost:8899/api/coder
# Response: {"model": "...", "provider": "...", "maxTokens": ...}

Mettre à jour la config Coder

curl -X POST http://localhost:8899/api/coder/update \
  -H "Content-Type: application/json" \
  -d '{"model": "gpt-4-turbo", "provider": "openai", "maxTokens": 32768}'
# Response: {"success": true, "message": "✅ Coder configuré: ..."}

Récupérer la config Vision

curl http://localhost:8899/api/vision
# Response: {"model": "...", "provider": "...", "maxTokens": null}

Mettre à jour la config Vision

curl -X POST http://localhost:8899/api/vision/update \
  -H "Content-Type: application/json" \
  -d '{"model": "gpt-4-vision", "provider": "openai", "maxTokens": 16384}'
# Response: {"success": true, "message": "✅ Vision configurée: ..."}

📋 Checklist de Vérification

Backend (app.py)

  • Toutes les routes API retournent du JSON valide
  • Les validations rejettent les données invalides
  • Les messages d'erreur sont informatifs
  • Les configurations sont sauvegardées dans config.json
  • maxTokens est validation (nombre, > 0)

Frontend (index.html)

  • Les 3 onglets sont visibles
  • L'onglet "Par Défaut" fonctionne comme avant
  • L'onglet "Coder" charge/sauve la config
  • L'onglet "Vision" charge/sauve la config
  • Les dropdowns token fonctionnent
  • L'option "Personnalisé" permet une saisie manuelle
  • Les badges affichent la config actuelle
  • Le bouton "Restart" fonctionne

UX/Design

  • L'interface est responsive
  • Les messages toast s'affichent correctement
  • Les spinners s'affichent pendant le chargement
  • Le thème sombre est cohérent

🐛 Débogage

Pour voir les logs du serveur Flask:

cd nanobot-manager
python3 app.py  # Les logs s'affichent dans la console

Pour vérifier les appels API:

  1. Ouvrir DevTools (F12 ou Cmd+Shift+I)
  2. Aller à l'onglet "Network"
  3. Effectuer une action (sauvegarder config)
  4. Vérifier les requêtes POST/GET
  5. Vérifier les réponses JSON

Pour tester localement sans Docker:

# Créer un fichier config.json de test
mkdir -p /opt/stacks/nanobot/config/

# Ou modifier CONFIG_PATH dans app.py pour un test local
export CONFIG_PATH="./config-test.json"
python3 app.py

📈 Tests de Performance

Les tests suivants ne sont pas critiques mais utiles:

  • Interface responsive sur mobile
  • Chargement < 2s pour chaque onglet
  • Pas de fuite mémoire lors de multiples sauvegardes

✅ Critères d'Acceptation

  • Toutes les routes API fonctionnent
  • Configuration Coder peut être définie/mise à jour
  • Configuration Vision peut être définie/mise à jour
  • Vision.maxTokens est optionnel
  • Les dropdowns token offrent 7+ options pour Coder
  • Les dropdowns token offrent 6+ options pour Vision
  • Validation côté serveur robuste
  • Messages d'erreur clairs
  • Config.json est mise à jour correctement
  • Aucun erreur JavaScript en console

🚀 Prêt pour Production?

Répondez à ces questions:

  1. ✅ Toutes les fonctionnalités testées manuellement?
  2. ✅ Aucune erreur en console (F12)?
  3. ✅ Config.json correctement mise à jour?
  4. ✅ Messages d'erreur affichés clairement?
  5. ✅ Interface responsive testé?

Si tout est ✅, l'implémentation est prête pour:

docker compose -f compose.yaml build
docker compose -f compose.yaml up -d

Dernière mise à jour: 2026-03-04