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

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