Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
a20c1d7
Refactor configuration management in wizard and ChronicleSetup
AnkushMalaker Jan 3, 2026
ad4b1f9
Fix string formatting for error message in ChronicleSetup
AnkushMalaker Jan 3, 2026
ff061e0
Enhance chat configuration management and UI integration
AnkushMalaker Jan 3, 2026
bdcb547
Merge branch 'dev' into feat/edit-chat-system-prompt
AnkushMalaker Jan 3, 2026
5f8d868
Refactor backend shutdown process and enhance chat service configurat…
AnkushMalaker Jan 3, 2026
5a3f8be
Implement plugin system for enhanced functionality and configuration …
AnkushMalaker Jan 3, 2026
32d541f
Enhance configuration management and plugin system integration
AnkushMalaker Jan 3, 2026
251010a
Implement Redis integration for client-user mapping and enhance wake …
AnkushMalaker Jan 3, 2026
eceb633
Refactor Deepgram worker management and enhance text normalization
AnkushMalaker Jan 3, 2026
916135e
Add original prompt retrieval and restoration in chat configuration test
AnkushMalaker Jan 3, 2026
944fc62
Refactor test execution and enhance documentation for integration tests
AnkushMalaker Jan 3, 2026
952d471
Enhance test environment cleanup and improve Deepgram worker management
AnkushMalaker Jan 6, 2026
4eb1ca9
Refactor worker management and introduce orchestrator for improved pr…
AnkushMalaker Jan 6, 2026
5cffe17
oops
AnkushMalaker Jan 6, 2026
8f44c4b
oops2
AnkushMalaker Jan 6, 2026
7e05de9
Remove legacy test runner script and update worker orchestration
AnkushMalaker Jan 6, 2026
112a280
Add bulk restart mechanism for RQ worker registration loss
AnkushMalaker Jan 6, 2026
0d82c8e
Enhance plugin architecture with event-driven system and test integra…
AnkushMalaker Jan 6, 2026
df79524
Enhance Docker configurations and startup script for test mode
AnkushMalaker Jan 6, 2026
668dfea
Refactor test scripts for improved reliability and clarity
AnkushMalaker Jan 7, 2026
197a610
remove mistral deadcode; notebooks untouched
AnkushMalaker Jan 7, 2026
c128147
Merge branch 'fix/plugin-tests' into fix/audio-pipe
AnkushMalaker Jan 7, 2026
10dfe2b
Merge branch 'dev' into fix/audio-pipe-2
AnkushMalaker Jan 10, 2026
a65b1bf
Refactor audio streaming endpoints and improve documentation
AnkushMalaker Jan 10, 2026
60aa8e1
Enhance testing infrastructure and API routes for plugin events
AnkushMalaker Jan 11, 2026
61d72a5
Add audio pipeline architecture documentation and improve audio persi…
AnkushMalaker Jan 11, 2026
9ab28ed
Add test container setup and teardown scripts
AnkushMalaker Jan 11, 2026
387385f
Update worker count validation and websocket disconnect tests
AnkushMalaker Jan 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 1 addition & 5 deletions .env.template
Original file line number Diff line number Diff line change
Expand Up @@ -90,16 +90,12 @@ CHAT_TEMPERATURE=0.7
# SPEECH-TO-TEXT CONFIGURATION
# ========================================

# Primary transcription provider: deepgram, mistral, or parakeet
# Primary transcription provider: deepgram or parakeet
TRANSCRIPTION_PROVIDER=deepgram

# Deepgram configuration
DEEPGRAM_API_KEY=your-deepgram-key-here

# Mistral configuration (when TRANSCRIPTION_PROVIDER=mistral)
MISTRAL_API_KEY=your-mistral-key-here
MISTRAL_MODEL=voxtral-mini-2507

# Parakeet ASR configuration (when TRANSCRIPTION_PROVIDER=parakeet)
PARAKEET_ASR_URL=http://host.docker.internal:8767

Expand Down
12 changes: 12 additions & 0 deletions .github/workflows/robot-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,18 @@ jobs:
echo "✓ Test config.yml created from tests/configs/deepgram-openai.yml"
ls -lh config/config.yml
- name: Create plugins.yml from template
run: |
echo "Creating plugins.yml from template..."
if [ -f "config/plugins.yml.template" ]; then
cp config/plugins.yml.template config/plugins.yml
echo "✓ plugins.yml created from template"
ls -lh config/plugins.yml
else
echo "❌ ERROR: config/plugins.yml.template not found"
exit 1
fi
- name: Run Robot Framework tests
working-directory: tests
env:
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ tests/setup/.env.test
config/config.yml
!config/config.yml.template

# Plugins config (contains secrets)
config/plugins.yml
!config/plugins.yml.template

# Config backups
config/*.backup.*
config/*.backup*
Expand Down
27 changes: 7 additions & 20 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ This supports a comprehensive web dashboard for management.
Chronicle includes an **interactive setup wizard** for easy configuration. The wizard guides you through:
- Service selection (backend + optional services)
- Authentication setup (admin account, JWT secrets)
- Transcription provider configuration (Deepgram, Mistral, or offline ASR)
- Transcription provider configuration (Deepgram or offline ASR)
- LLM provider setup (OpenAI or Ollama)
- Memory provider selection (Chronicle Native with Qdrant or OpenMemory MCP)
- Network configuration and HTTPS setup
Expand Down Expand Up @@ -115,16 +115,8 @@ cp .env.template .env # Configure API keys
# Run full integration test suite
./run-test.sh

# Manual test execution (for debugging)
source .env && export DEEPGRAM_API_KEY && export OPENAI_API_KEY
uv run robot --outputdir test-results --loglevel INFO ../../tests/integration/integration_test.robot

# Leave test containers running for debugging (don't auto-cleanup)
CLEANUP_CONTAINERS=false source .env && export DEEPGRAM_API_KEY && export OPENAI_API_KEY
uv run robot --outputdir test-results --loglevel INFO ../../tests/integration/integration_test.robot

# Manual cleanup when needed
docker compose -f docker-compose-test.yml down -v
CLEANUP_CONTAINERS=false ./run-test.sh
```

#### Test Configuration Flags
Expand Down Expand Up @@ -185,12 +177,12 @@ docker compose up --build
## Architecture Overview

### Key Components
- **Audio Pipeline**: Real-time Opus/PCM → Application-level processing → Deepgram/Mistral transcription → memory extraction
- **Audio Pipeline**: Real-time Opus/PCM → Application-level processing → Deepgram transcription → memory extraction
- **Wyoming Protocol**: WebSocket communication uses Wyoming protocol (JSONL + binary) for structured audio sessions
- **Unified Pipeline**: Job-based tracking system for all audio processing (WebSocket and file uploads)
- **Job Tracker**: Tracks pipeline jobs with stage events (audio → transcription → memory) and completion status
- **Task Management**: BackgroundTaskManager tracks all async tasks to prevent orphaned processes
- **Unified Transcription**: Deepgram/Mistral transcription with fallback to offline ASR services
- **Unified Transcription**: Deepgram transcription with fallback to offline ASR services
- **Memory System**: Pluggable providers (Chronicle native or OpenMemory MCP)
- **Authentication**: Email-based login with MongoDB ObjectId user system
- **Client Management**: Auto-generated client IDs as `{user_id_suffix}-{device_name}`, centralized ClientManager
Expand All @@ -206,7 +198,7 @@ Required:

Recommended:
- Vector Storage: Qdrant (Chronicle provider) or OpenMemory MCP server
- Transcription: Deepgram, Mistral, or offline ASR services
- Transcription: Deepgram or offline ASR services

Optional:
- Parakeet ASR: Offline transcription service
Expand Down Expand Up @@ -330,12 +322,7 @@ Chronicle supports multiple transcription services:
TRANSCRIPTION_PROVIDER=deepgram
DEEPGRAM_API_KEY=your-deepgram-key-here

# Option 2: Mistral (Voxtral models)
TRANSCRIPTION_PROVIDER=mistral
MISTRAL_API_KEY=your-mistral-key-here
MISTRAL_MODEL=voxtral-mini-2507

# Option 3: Local ASR (Parakeet)
# Option 2: Local ASR (Parakeet)
PARAKEET_ASR_URL=http://host.docker.internal:8767
```

Expand All @@ -353,7 +340,7 @@ SPEAKER_SERVICE_URL=http://speaker-recognition:8085
### Common Endpoints
- **GET /health**: Basic application health check
- **GET /readiness**: Service dependency validation
- **WS /ws_pcm**: Primary audio streaming endpoint (Wyoming protocol + raw PCM fallback)
- **WS /ws**: Audio streaming endpoint with codec parameter (Wyoming protocol, supports pcm and opus codecs)
- **GET /api/conversations**: User's conversations with transcripts
- **GET /api/memories/search**: Semantic memory search with relevance scoring
- **POST /auth/jwt/login**: Email-based login (returns JWT token)
Expand Down
Loading
Loading