Configuration
Fichiers de configuration
Runeya stocke toute sa configuration dans ./.runeya/ dans le dossier courant (ou via la variable DATA_DIR).
settings.json
Paramètres globaux, préférences de notifications, scénarios IA, enterprises et parsers de logs.
{
"mode": "local-simple",
"notifications": {
"scenario_waiting_input": true,
"ai_conversation_complete": true,
"ai_conversation_error": true,
"service_error_log": true,
"service_status_changed": true,
"service_health_changed": true
},
"logParsers": [
{
"id": "uuid",
"name": "JSON Parser",
"code": "(line) => { ... }",
"version": 2
}
],
"scenarios": [],
"enterprises": []
}Notifications dans l'UI
Dans Settings → Notifications, les préférences sont regroupées par thématique :
Scenarios:scenario_waiting_inputAI Conversations:ai_conversation_complete,ai_conversation_errorServices:service_error_log,service_status_changed,service_health_changed
Chaque section dispose aussi de contrôles rapides :
- Replier/Déplier la section via l'en-tête (chevron)
- Enable all / Disable all pour activer ou désactiver toute la section en une action
Ce regroupement est purement visuel : le format de settings.json reste inchangé.
Éditeur de scénarios (UI)
Dans l'éditeur de scénarios (Settings → Scenarios), vous pouvez supprimer l'élément sélectionné :
- Nœud sélectionné : bouton Supprimer nœud ou touche
Delete/Backspace - Groupe sélectionné : bouton Supprimer groupe ou touche
Delete/Backspace - Lien (edge) sélectionné : bouton Supprimer lien ou touche
Delete/Backspace - Le lien sélectionné est aussi mis en évidence visuellement dans le canvas.
Branchement conditionnel (edges)
Quand un nœud a plusieurs edges sortantes, vous pouvez configurer une description par edge pour guider le choix de l'IA :
- Dans l'éditeur de scénarios, cliquez sur le nœud source pour ouvrir le panneau d'édition.
- La section Branches liste chaque edge sortante avec un champ de description.
- Saisissez une description courte (max 500 caractères) qui décrit la condition ou l'intention de cette branche (ex :
"Tests passés","Erreur détectée"). - Sauvegardez le nœud.
À l'exécution, le runner injecte automatiquement les choix dans le prompt de l'IA :
Réponds PASS1 pour "Tests passés" ou PASS2 pour "Erreur détectée"L'IA doit terminer sa réponse par PASS1 ou PASS2 (sur sa propre ligne) pour sélectionner la branche. Si la description est vide, un libellé générique (Branch 1, Branch 2, …) est utilisé.
Nœuds avec une seule edge : comportement inchangé — l'IA répond
PASSouFAILcomme avant.
Lancement d'un scénario (UI)
Quand vous lancez un scénario depuis l'onglet IA :
- Une modale permet de saisir un nom d'exécution (titre de conversation).
- Le bouton Générer un nom avec l'IA pré-remplit ce champ.
- Si vous laissez le champ vide, Runeya retombe sur le nom du scénario.
- Les noms trop génériques issus d'un LLM (ex:
scenario) sont filtrés côté serveur.
Éditeur d'enterprise (UI)
Dans Settings → Scenarios, vous pouvez aussi gérer des enterprises :
- Créer/éditer une enterprise (nom, description, leader).
- Gérer les équipes et personnes (manager
parentId,teamId, prompt individuel). - Supprimer une enterprise.
Lors de la création d'une conversation IA avec une enterprise sélectionnée :
- Le backend crée un workspace dans
DATA_DIR/enterprise-runs/<conversationId>/. - Le brief initial est enregistré dans
USER_REQUEST.md. - Un fichier markdown est créé pour chaque personne de l'enterprise.
services.json
Configuration de tous les services.
[
{
"id": "service-uuid",
"name": "api",
"description": "API REST",
"command": "node dist/index.js",
"cwd": "/home/user/my-app",
"shell": false,
"projectId": "project-uuid",
"agentId": "agent-uuid",
"parserIds": ["parser-uuid"],
"envSecrets": []
}
]environments.json
Environnements globaux et leurs variables.
[
{
"id": "env-uuid",
"name": "development",
"variables": {
"var-uuid": {
"key": "DATABASE_URL",
"value": "postgres://localhost:5432/myapp",
"secret": false
}
}
}
]Variables d'environnement système
| Variable | Défaut | Description |
|---|---|---|
RUNEYA_HTTP_PORT | 9545 | Port HTTP du serveur (prioritaire sur PORT) |
PORT | 9545 | Port HTTP du serveur (rétrocompatibilité — préférez RUNEYA_HTTP_PORT) |
DATA_DIR | ./.runeya | Répertoire de données du projet |
RUNEYA_AGENT_PORT | 9546 | Port de l'agent local (défaut : RUNEYA_HTTP_PORT + 1) |
RUNEYA_LOG_LEVEL | info | Niveau de log serveur |
Écriture atomique
Tous les fichiers JSON sont écrits de manière atomique :
1. write data to services.json.tmp
2. rename services.json.tmp → services.jsonCela garantit qu'un crash pendant l'écriture ne corrompt pas les données.