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>
70 lines
2.4 KiB
Markdown
70 lines
2.4 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
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 |
|