Implements WebModule that allows other modules to make HTTP requests through IIO pub/sub messaging system. Features: - HTTP GET/POST support via existing HttpClient - Request/response via IIO topics (web:request/web:response) - Security: blocks localhost and private IPs - Statistics tracking (total, success, failed) - Hot-reload state preservation - Custom headers and timeout configuration Module architecture: - WebModule.h/cpp: 296 lines total (within 300 line limit) - config/web.json: Configuration file - 10 integration tests (TI_WEB_001 to TI_WEB_010) Tests: 120/120 passing (110 existing + 10 new) Protocol: - Subscribe: web:request - Publish: web:response - Request fields: requestId, url, method, headers, body, timeoutMs - Response fields: requestId, success, statusCode, body, error, durationMs 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2.4 KiB
2.4 KiB
AISSIA - Assistant Personnel Intelligent
Assistant pour gérer le temps, l'hyperfocus et l'apprentissage de langues. Basé sur GroveEngine (C++17 hot-reload module system).
Statut
| Module | Status | Description |
|---|---|---|
| SchedulerModule | ✅ Fait | Détection hyperfocus, rappels pauses |
| NotificationModule | ✅ Fait | Alertes système, TTS, priorités |
| MonitoringModule | ✅ Fait | Suivi activité utilisateur, classification apps |
| AIModule | ✅ Fait | Agent LLM conversationnel (Claude Sonnet 4) |
| VoiceModule | ✅ Fait | TTS/STT via services |
| StorageModule | ✅ Fait | Persistence SQLite via service |
| WebModule | ✅ Fait | Requêtes HTTP via IIO pub/sub |
Règles de Développement
Contraintes Modules
- 200-300 lignes max par module
- Logique métier pure (pas de threading/network dans les modules)
- Communication JSON via IIO pub/sub
- Hot-reload ready : sérialiser tout l'état dans
getState()
NEVER
cmake ..ou#include "../"(dépendances parent)- Modules > 300 lignes
- Infrastructure dans les modules
ALWAYS
- Build autonome depuis le module
- JSON pour toute communication inter-modules
- Topics pub/sub :
module:event(ex:scheduler:hyperfocus_detected)
Structure
Aissia/
├── src/
│ ├── main.cpp # Main loop 10Hz + hot-reload
│ └── modules/ # Modules implémentés
│ ├── SchedulerModule.*
│ └── NotificationModule.*
├── config/ # JSON config par module
├── external/GroveEngine/ # Engine (symlink)
└── docs/ # Documentation détaillée
Build
cmake -B build && cmake --build build -j4
./build/aissia
# Hot-reload: rebuild modules seulement
cmake --build build --target modules
# Mode MCP Server (expose tools via JSON-RPC stdio)
./build/aissia --mcp-server
Documentation
| Doc | Contenu |
|---|---|
docs/GROVEENGINE_GUIDE.md |
API complète IModule, IIO, IDataNode, hot-reload |
docs/project-overview.md |
Architecture AISSIA, phases dev |
docs/architecture/intelligent-document-retrieval.md |
AIAssistantModule: retrieval agentique, multi-provider LLM |
README.md |
Quick start, roadmap |