Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Tektra - AI Voice Assistant
🚀 A voice-interactive AI assistant powered by Google's Gemma-3n model running locally on your machine
Features
✅ Local AI - Runs Gemma-3n model locally with Metal acceleration on Apple Silicon
✅ Voice Interaction - Native audio recording with future speech-to-text support
✅ Smart Conversations - Context-aware responses with chat history
✅ Beautiful UI - Modern, gradient-based interface with real-time feedback
✅ Self-Contained - Automatic model downloading and caching
✅ Privacy-First - Everything runs locally on your machine
Architecture
- Frontend: React + TypeScript with Vite
- Backend: Rust with Tauri framework
- AI Engine: GGUF models for efficient inference (Gemma-3n E2B)
- Audio: Native audio recording with future STT/TTS support
- Model: Google Gemma-3n E2B (2.79GB) - automatically downloaded on first run
Installation
Pre-built Binaries (Recommended)
Download the latest pre-built binary for your platform from the GitHub Releases page.
From Source
Note: Tektra is a desktop application that requires both Rust backend and React frontend. cargo install alone will not work properly.
# Clone the repository
# Install frontend dependencies
# Build the complete application
# The built application will be in src-tauri/target/release/bundle/
Cargo Install (Limited - Backend Only)
⚠️ Not recommended for end users - This only installs the Rust backend without the frontend UI:
Development Setup
# Clone the repository
# Install frontend dependencies
# Run in development mode
# OR
Usage
Running the Application
Simply run:
CLI Commands
In-App Features
- Text Chat: Type messages and get intelligent responses from Gemma-3n
- Voice Input: Click the microphone button to record audio (STT coming soon)
- Voice Output: Enable auto-speech in settings for spoken responses
- Progress Tracking: Visual progress bar shows model download status
- Settings: Customize preferences and view model information
Project Structure
tektra/
├── src/
│ └── main.rs # Rust backend with built-in AI
├── icons/ # Application icons
├── index.html # Main frontend interface
├── main.js # Frontend JavaScript
├── package.json # Node.js dependencies
├── Cargo.toml # Rust dependencies
├── tauri.conf.json # Tauri configuration
├── vite.config.js # Build configuration
├── entitlements.plist # macOS permissions
└── CLAUDE.md # Development guidelines
Building from Source
Prerequisites
- Rust 1.70+ (install from rustup.rs)
- Node.js 16+ and npm
- macOS 11+ (for Metal acceleration, other platforms supported)
Build Steps
- Clone and enter the repository:
- Install frontend dependencies:
- Build for release:
- Install locally:
Models
Tektra uses the Gemma-3n E2B model (2.79GB) from Google, which is automatically downloaded on first run. The model is cached in ~/.cache/huggingface/hub/ for subsequent uses.
Model Details
- Name: Gemma-3n E2B (2 billion parameters)
- Size: 2.79GB (4-bit quantized GGUF format)
- Performance: Optimized for Apple Silicon with Metal acceleration
- Source: Automatically downloaded from HuggingFace Hub
Development
This project follows specification-driven development:
- Read CLAUDE.md for detailed development guidelines
- Use UV for Python dependencies (if needed)
- Test thoroughly before committing changes
- Follow Rust best practices - no unwrap() in production
Migration from Previous Versions
This is a complete rewrite of Project Tektra as a native desktop application:
- Previous: Python FastAPI backend + Next.js frontend
- Current: Rust Tauri desktop application
- Benefits: Self-contained, offline, native performance, simplified deployment
Contributing
- Fork the repository
- Create a feature branch
- Follow the development guidelines in CLAUDE.md
- Submit a pull request
Publishing to Crates.io
To publish this package to crates.io:
- Make sure you're logged in:
- From the src-tauri directory:
Note: The frontend assets are bundled with the binary during the build process.
License
This project is licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Credits
Project Tektra - Built with ❤️ using Rust, Tauri, and modern web technologies.
Release History
For previous releases and development history, see the RELEASE_NOTES files in this repository.