aissia/CLAUDE.md
StillHammer 18f4f16213 feat: Add WebModule for HTTP requests via IIO
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>
2025-11-28 17:15:46 +08:00

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 |