Commit Graph

17 Commits

Author SHA1 Message Date
ce2b25a599 Migration Gitea - sauvegarde locale 2025-12-04 18:58 2025-12-04 18:58:32 +08:00
cb938500cd feat: Phase 8 - MCP Server integration with Claude Code
Expose AISSIA as MCP Server to integrate with Claude Code and other MCP clients.

**New Infrastructure**:
- MCPServerTools: Bridge between MCP Server and AISSIA services
- Synchronous service methods for blocking MCP calls
- 13 total tools exposed (5 AISSIA core + 8 filesystem)

**Priority Tool**:
- chat_with_aissia: Dialogue with AISSIA's AI assistant (Claude Sonnet 4)

**AISSIA Core Tools** (5):
1. chat_with_aissia - AI conversation with Claude Sonnet 4
2. transcribe_audio - STT file transcription (stub)
3. text_to_speech - TTS file output (stub)
4. save_memory - Persistent storage (stub)
5. search_memories - Memory search (stub)

**Changes**:
- src/shared/tools/MCPServerTools.{hpp,cpp}: New tool handlers for AISSIA services
- src/services/LLMService: Added sendMessageSync() for blocking calls
- src/services/VoiceService: Added loadConfig(), transcribeFileSync(), textToSpeechSync()
- src/main.cpp: Refactored runMCPServer() to instantiate services and register AISSIA tools
- CMakeLists.txt: Added MCPServerTools to AissiaTools library

**Documentation**:
- docs/CLAUDE_CODE_INTEGRATION.md: Complete integration guide
- config/README_MCP.md: Quick setup instructions
- config/claude_code_mcp_config.json: Example MCP configuration

**Usage**:
```bash
./aissia --mcp-server
```

**Limitations (MVP)**:
- STT/TTS file operations not fully implemented (engines need file support)
- Storage sync methods return "not implemented" (async pub/sub only)
- No hot-reload modules in MCP mode

**Next Steps** (Phase 8.1-8.4):
- Complete STT/TTS sync methods
- Implement StorageService sync API
- Add advanced tools (schedule_task, get_focus_stats)
- Multi-modal support (vision, PDF parsing)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 17:42:15 +08:00
d7971e0c34 feat: Phase 7 STT - Complete Windows setup with Whisper.cpp
Added Speech-to-Text configuration and testing infrastructure:

## STT Engines Configured
-  Whisper.cpp (local, offline) - base model downloaded (142MB)
-  OpenAI Whisper API - configured with existing API key
-  Google Speech-to-Text - configured with existing API key
- ⚠️ Azure STT - optional (not configured)
- ⚠️ Deepgram - optional (not configured)

## New Files
- `docs/STT_SETUP.md` - Complete Windows STT setup guide
- `test_stt_live.cpp` - Test tool for all 5 STT engines
- `create_test_audio_simple.py` - Generate test audio (440Hz tone, 16kHz WAV)
- `create_test_audio.py` - Generate speech audio (requires gtts)
- `models/ggml-base.bin` - Whisper.cpp base model (gitignored)
- `test_audio.wav` - Generated test audio (gitignored)

## Documentation
- Complete setup guide for all STT engines
- API key configuration instructions
- Model download links and recommendations
- Troubleshooting section
- Cost comparison for cloud APIs

## Next Steps
- Compile test_stt_live.cpp to validate all engines
- Test with real audio input
- Integrate into VoiceModule via pub/sub

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 17:12:37 +08:00
a712988584 feat: Phase 7 STT - Complete implementation with 4 engines
Implemented complete STT (Speech-to-Text) system with 4 engines:

1. **PocketSphinxEngine** (new)
   - Lightweight keyword spotting
   - Perfect for passive wake word detection
   - ~10MB model, very low CPU/RAM usage
   - Keywords: "celuna", "hey celuna", etc.

2. **VoskSTTEngine** (existing)
   - Balanced local STT for full transcription
   - 50MB models, good accuracy
   - Already working

3. **WhisperCppEngine** (new)
   - High-quality offline STT using whisper.cpp
   - 75MB-2.9GB models depending on quality
   - Excellent accuracy, runs entirely local

4. **WhisperAPIEngine** (existing)
   - Cloud STT via OpenAI Whisper API
   - Best accuracy, requires internet + API key
   - Already working

Features:
- Full JSON configuration via config/voice.json
- Auto-selection mode tries engines in order
- Dual mode support (passive + active)
- Fallback chain for reliability
- All engines use ISTTEngine interface

Updated:
- STTEngineFactory: Added support for all 4 engines
- CMakeLists.txt: Added new source files
- docs/STT_CONFIGURATION.md: Complete config guide

Config example (voice.json):
{
  "passive_mode": { "engine": "pocketsphinx" },
  "active_mode": { "engine": "vosk", "fallback": "whisper-api" }
}

Architecture: ISTTService → STTEngineFactory → 4 engines
Build:  Compiles successfully
Status: Phase 7 complete, ready for testing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 17:27:47 +08:00
3c588a9f90 feat: Phase 6 - Interactive mode validated with TTS
 Validated AISSIA interactive mode with real conversations
- Claude Sonnet 4 agentic loops working perfectly
- espeak-ng TTS integration functional (French voice)
- 7 modules + 4 services + 18 tools operational
- Tested conversation with tool usage (get_current_time)
- 4298 tokens, 2 agentic iterations, TTS output

📝 Documentation:
- Added docs/PHASE6_VALIDATION.md (complete validation report)
- Updated README.md roadmap (Phase 6 complete)

🎉 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 07:45:21 +08:00
ac230b195d feat: Add MCP server mode (--mcp-server)
AISSIA can now run as an MCP server, exposing tools via JSON-RPC over stdio.
This allows external clients (like Claude Code) to use AISSIA's tools.

- Add MCPServer.hpp/cpp implementing MCP protocol
- Add --mcp-server flag to main.cpp
- Currently exposes 6 FileSystem tools
- Update documentation (CLAUDE.md, SUCCESSION.md)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 19:38:32 +08:00
f06c13c195 fix: Auto-detect modules path (./modules/ or ./build/modules/)
- main.cpp now checks for modules in ./modules/ first, falls back to
  ./build/modules/ if not found or empty
- Allows running from project root: ./build/aissia
- Update SUCCESSION.md with current state and FileSystem tools docs

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 14:20:56 +08:00
83d901aaab test: Implement 20 integration tests for Scheduler and Notification modules
- Add Catch2 test framework with MockIO and TimeSimulator utilities
- Implement 10 TI for SchedulerModule (task lifecycle, hyperfocus, breaks)
- Implement 10 TI for NotificationModule (queue, priority, silent mode)
- Fix SchedulerModule: update m_lastActivityTime in process()
- Add AISSIA_TEST_BUILD guards to avoid symbol conflicts
- All 20 tests passing (69 assertions total)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 09:49:08 +08:00
1f6f95a3a0 docs: Update succession document for MCP integration session
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 17:17:03 +08:00
059709cd0d feat: Implement MCP client and internal tools for agentic LLM
Add complete tool calling infrastructure for Claude Code-like functionality:

Internal Tools (via GroveEngine IIO):
- Scheduler: get_current_task, list_tasks, start_task, complete_task, start_break
- Monitoring: get_focus_stats, get_current_app
- Storage: save_note, query_notes, get_session_history
- Voice: speak

MCP Client (for external servers):
- StdioTransport for fork/exec JSON-RPC communication
- MCPClient for multi-server orchestration
- Support for filesystem, brave-search, fetch servers

Architecture:
- IOBridge for sync request/response over async IIO pub/sub
- Tool handlers added to all modules (SchedulerModule, MonitoringModule, StorageModule, VoiceModule)
- LLMService unifies internal tools + MCP tools in ToolRegistry

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 16:50:30 +08:00
26a5d3438b refactor: Services architecture for GroveEngine compliance
- Create 4 infrastructure services (LLM, Storage, Platform, Voice)
- Refactor all modules to pure business logic (no HTTP/SQLite/Win32)
- Add bundled SQLite amalgamation for MinGW compatibility
- Make OpenSSL optional in CMake configuration
- Fix topic naming convention (colon format)
- Add succession documentation

Build status: CMake config needs SQLite C language fix (documented)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 11:57:53 +08:00
0dfb5f1535 chore: Normalize line endings and update project documentation
- Normalize CRLF to LF across all source files
- Replace CLAUDE.md.old with updated CLAUDE.md
- Standardize configuration file formatting
- Update module source files with consistent line endings

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 22:13:16 +08:00
439b55b176 docs: Add GroveEngine documentation and project overview
- Add comprehensive README.md explaining Aissia is built on GroveEngine
- Add GROVEENGINE_GUIDE.md with complete user guide
- Add docs/project-overview.md
- Archive old CLAUDE.md to CLAUDE.md.old

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 12:00:01 +08:00
f6f4813d8f Remove build artifacts from tracking and update retrieval doc
- Add .gitignore for build artifacts
- Update intelligent-document-retrieval.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 21:40:08 +08:00
80f26aea54 Add infrastructure foundation and intelligent document retrieval
- CMakeLists.txt: build configuration
- src/: initial infrastructure structure
- config/: application configuration
- external/: third-party dependencies
- docs/GROVEENGINE_GUIDE.md: GroveEngine reference guide
- docs/architecture/intelligent-document-retrieval.md: agentic retrieval for AIAssistantModule

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 21:34:16 +08:00
f231188880 Refactor documentation structure and add language learning
- Reorganize docs/ (flatten to architecture/ and implementation/)
- Remove MonitoringModule from MVP (no app detection)
- Add LanguageLearningModule to MVP
- Create CLAUDE.md (concise project overview)
- Add language learning to README and architecture
- Update all examples to use SchedulerModule instead of MonitoringModule

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 07:28:34 +08:00
ba42b6d9c7 Update CDC with hybrid architecture (WarFactory + multi-target)
- Add hybrid deployment modes: local_dev (MVP) and production_pwa (optional)
- Integrate WarFactory engine reuse with hot-reload 0.4ms
- Define multi-target compilation strategy (DLL/SO/WASM)
- Detail both deployment modes with cost analysis
- Add progressive roadmap: Phase 1 (local), Phase 2 (POC WASM), Phase 3 (cloud)
- Budget clarified: $10-20/mois (local) vs $13-25/mois (cloud)
- Document open questions for technical validation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 11:49:09 +08:00