From 7868c7763bddae4a2f27a30e649821d26c93329c Mon Sep 17 00:00:00 2001 From: Arpad Krejczinger Date: Sun, 17 Aug 2025 14:56:53 +0200 Subject: [PATCH] Update project documentation with voice assistant integration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add AI voice assistant to goals and current status - Include voice assistant in documentation structure - Update repository structure diagram - Add voice server commands to CLAUDE.md - Include voice assistant service URLs and management commands 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- CLAUDE.md | 24 +++++++++++++++++++++++- README.md | 26 +++++++++++++++++++------- 2 files changed, 42 insertions(+), 8 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 8d58032..558246f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -92,4 +92,26 @@ Use `TODO.md` for centralized task management organized by category (Network & S ### Service URLs - **Local access**: http://192.168.0.100/servicename/ - **External access**: http://ak-homelab.duckdns.org/servicename/ -- **Gitea SSH**: ssh://git@ak-homelab.duckdns.org:2223 \ No newline at end of file +- **Gitea SSH**: ssh://git@ak-homelab.duckdns.org:2223 +- **Voice Assistant**: http://127.0.0.1:8880 (local TTS server) + +### Voice Assistant Commands +```bash +# Enable voice mode (starts server and configures voice-mode) +./scripts/enable-voice.sh + +# Disable voice mode (stops server) +./scripts/disable-voice.sh + +# Manual voice server management +cd voice-server +poetry run voice-server # Start server +poetry install # Install dependencies +poetry run pytest # Run tests + +# Test TTS directly +curl -X POST "http://127.0.0.1:8880/v1/audio/speech" \ + -H "Content-Type: application/json" \ + -d '{"input": "Hello world!", "voice": "ryan"}' \ + --output test.wav +``` \ No newline at end of file diff --git a/README.md b/README.md index c27c046..2a14ae6 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ Setting up a personal homelab using a ThinkPad laptop running Arch Linux to move - [x] Network domain setup - [ ] Self-hosted cloud storage (ownCloud/Nextcloud) - [x] Self-hosted git repository (Gitea/Forgejo/GitLab) +- [x] AI voice assistant (local TTS with Piper) - [ ] Gradual migration from commercial cloud services ## Hardware @@ -29,6 +30,7 @@ Setting up a personal homelab using a ThinkPad laptop running Arch Linux to move - ✅ Development environment setup completed - ✅ Network domain setup (DuckDNS + Nginx reverse proxy) - ✅ Gitea Git server running (Docker container) +- ✅ AI voice assistant with local TTS (Piper + FastAPI) - Next: SSL certificates, additional self-hosted services ## Documentation Structure @@ -37,8 +39,9 @@ Setting up a personal homelab using a ThinkPad laptop running Arch Linux to move 1. **System Setup**: Follow [docs/system-setup.md](docs/system-setup.md) for Arch installation and configuration 2. **Network Security**: Configure SSH, DNS, and VPN using [docs/network-security.md](docs/network-security.md) 3. **Services**: Plan and deploy applications from [docs/services.md](docs/services.md) -4. **Tasks**: Track progress in [TODO.md](TODO.md) -5. **Issues**: Find solutions in [docs/troubleshooting.md](docs/troubleshooting.md) +4. **Voice Assistant**: Set up AI voice capabilities with [docs/voice-assistant.md](docs/voice-assistant.md) +5. **Tasks**: Track progress in [TODO.md](TODO.md) +6. **Issues**: Find solutions in [docs/troubleshooting.md](docs/troubleshooting.md) ### Repository Structure ``` @@ -49,23 +52,32 @@ homelab/ │ ├── system-setup.md # Arch Linux installation & config │ ├── network-security.md # SSH, DNS, VPN, firewall │ ├── services.md # Self-hosted services +│ ├── voice-assistant.md # AI voice setup with Piper TTS │ └── troubleshooting.md # Solutions & fixes -└── config/ # Configurations & scripts - ├── docker/gitea/ # Gitea container setup - ├── nginx/ # Reverse proxy configs - └── scripts/ # Utility scripts +├── config/ # Configurations & scripts +│ ├── docker/gitea/ # Gitea container setup +│ ├── nginx/ # Reverse proxy configs +│ └── scripts/ # Utility scripts +├── voice-server/ # AI voice assistant server +│ ├── src/voice_server/ # FastAPI application +│ ├── pyproject.toml # Poetry dependencies +│ └── README.md # Voice server documentation +└── scripts/ # Convenience scripts + ├── enable-voice.sh # Start voice assistant + └── disable-voice.sh # Stop voice assistant ``` ### Documentation Files - **[docs/system-setup.md](docs/system-setup.md)** - Complete Arch Linux installation, TTY config, desktop setup - **[docs/network-security.md](docs/network-security.md)** - SSH hardening, DuckDNS, WireGuard VPN, firewall setup - **[docs/services.md](docs/services.md)** - Self-hosted services: Git hosting, cloud storage, media server +- **[docs/voice-assistant.md](docs/voice-assistant.md)** - AI voice assistant setup with Piper TTS and FastAPI - **[TODO.md](TODO.md)** - Centralized task list with progress tracking by category - **[docs/troubleshooting.md](docs/troubleshooting.md)** - Hardware issues, software problems, and solutions ### Current Configuration - **System**: Arch Linux with XFCE desktop, ter-124b TTY font, Colemak layout - **Network**: Static IP (192.168.0.100), SSH port 2222, DuckDNS (ak-homelab.duckdns.org) -- **Services**: Nginx reverse proxy, Gitea Git server (Docker) +- **Services**: Nginx reverse proxy, Gitea Git server (Docker), AI voice assistant (Piper TTS) - **Security**: SSH hardened, firewall planned, SSL certificates pending - **Development**: yadm dotfiles, tmux with temperature monitoring, zsh with proper history