{"id":29099146,"url":"https://github.com/dirvine/tektra","last_synced_at":"2025-06-28T16:01:53.393Z","repository":{"id":299113609,"uuid":"1002008299","full_name":"dirvine/tektra","owner":"dirvine","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-22T08:46:01.000Z","size":2594,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-22T09:30:50.734Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dirvine.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-14T14:14:27.000Z","updated_at":"2025-06-22T08:46:04.000Z","dependencies_parsed_at":"2025-06-14T19:29:40.723Z","dependency_job_id":"1ae737c6-3453-4d01-84d6-40cb7ef38730","html_url":"https://github.com/dirvine/tektra","commit_stats":null,"previous_names":["dirvine/tektra"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dirvine/tektra","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dirvine%2Ftektra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dirvine%2Ftektra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dirvine%2Ftektra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dirvine%2Ftektra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dirvine","download_url":"https://codeload.github.com/dirvine/tektra/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dirvine%2Ftektra/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262442448,"owners_count":23311777,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-28T16:01:11.150Z","updated_at":"2025-06-28T16:01:53.383Z","avatar_url":"https://github.com/dirvine.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tektra - AI Voice Assistant\n\n🚀 **A voice-interactive AI assistant powered by Google's Gemma-3n model running locally on your machine**\n\n## Features\n\n✅ **Local AI** - Runs Gemma-3n model locally with Metal acceleration on Apple Silicon  \n✅ **Voice Interaction** - Native audio recording with future speech-to-text support  \n✅ **Smart Conversations** - Context-aware responses with chat history  \n✅ **Beautiful UI** - Modern, gradient-based interface with real-time feedback  \n✅ **Self-Contained** - Automatic model downloading and caching  \n✅ **Privacy-First** - Everything runs locally on your machine  \n\n## Architecture\n\n- **Frontend**: React + TypeScript with Vite\n- **Backend**: Rust with Tauri framework\n- **AI Engine**: GGUF models for efficient inference (Gemma-3n E2B)\n- **Audio**: Native audio recording with future STT/TTS support\n- **Model**: Google Gemma-3n E2B (2.79GB) - automatically downloaded on first run\n\n## Installation\n\n### From Crates.io (Recommended)\n\n```bash\ncargo install tektra\n```\n\n### From Source\n\n```bash\ngit clone https://github.com/dirvine/tektra\ncd tektra\ncargo install --path src-tauri\n```\n\n### Development Setup\n\n```bash\n# Clone the repository\ngit clone https://github.com/dirvine/tektra\ncd tektra\n\n# Install frontend dependencies\nnpm install\n\n# Run in development mode\ntektra dev\n# OR\nnpm run tauri dev\n```\n\n## Usage\n\n### Running the Application\n\nSimply run:\n```bash\ntektra\n```\n\n### CLI Commands\n\n```bash\ntektra --help     # Show help\ntektra --version  # Show version information\ntektra dev        # Run in development mode with hot reload\n```\n\n### In-App Features\n\n1. **Text Chat**: Type messages and get intelligent responses from Gemma-3n\n2. **Voice Input**: Click the microphone button to record audio (STT coming soon)\n3. **Voice Output**: Enable auto-speech in settings for spoken responses\n4. **Progress Tracking**: Visual progress bar shows model download status\n5. **Settings**: Customize preferences and view model information\n\n## Project Structure\n\n```\ntektra/\n├── src/\n│   └── main.rs          # Rust backend with built-in AI\n├── icons/               # Application icons\n├── index.html           # Main frontend interface\n├── main.js              # Frontend JavaScript\n├── package.json         # Node.js dependencies\n├── Cargo.toml           # Rust dependencies\n├── tauri.conf.json      # Tauri configuration\n├── vite.config.js       # Build configuration\n├── entitlements.plist   # macOS permissions\n└── CLAUDE.md            # Development guidelines\n```\n\n## Building from Source\n\n### Prerequisites\n\n- Rust 1.70+ (install from [rustup.rs](https://rustup.rs))\n- Node.js 16+ and npm\n- macOS 11+ (for Metal acceleration, other platforms supported)\n\n### Build Steps\n\n1. Clone and enter the repository:\n```bash\ngit clone https://github.com/dirvine/tektra\ncd tektra\n```\n\n2. Install frontend dependencies:\n```bash\nnpm install\n```\n\n3. Build for release:\n```bash\n./build-release.sh\n```\n\n4. Install locally:\n```bash\ncargo install --path src-tauri\n```\n\n## Models\n\nTektra 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.\n\n### Model Details\n- **Name**: Gemma-3n E2B (2 billion parameters)\n- **Size**: 2.79GB (4-bit quantized GGUF format)\n- **Performance**: Optimized for Apple Silicon with Metal acceleration\n- **Source**: Automatically downloaded from HuggingFace Hub\n\n## Development\n\nThis project follows specification-driven development:\n\n1. **Read CLAUDE.md** for detailed development guidelines\n2. **Use UV** for Python dependencies (if needed)\n3. **Test thoroughly** before committing changes\n4. **Follow Rust best practices** - no unwrap() in production\n\n## Migration from Previous Versions\n\nThis is a complete rewrite of Project Tektra as a native desktop application:\n\n- **Previous**: Python FastAPI backend + Next.js frontend\n- **Current**: Rust Tauri desktop application\n- **Benefits**: Self-contained, offline, native performance, simplified deployment\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Follow the development guidelines in CLAUDE.md\n4. Submit a pull request\n\n## Publishing to Crates.io\n\nTo publish this package to crates.io:\n\n1. Make sure you're logged in:\n```bash\ncargo login\n```\n\n2. From the src-tauri directory:\n```bash\ncd src-tauri\ncargo publish\n```\n\nNote: The frontend assets are bundled with the binary during the build process.\n\n## License\n\nThis project is licensed under either of:\n\n- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)\n- MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)\n\nat your option.\n\n## Credits\n\nProject Tektra - Built with ❤️ using Rust, Tauri, and modern web technologies.\n\n## Release History\n\nFor previous releases and development history, see the RELEASE_NOTES files in this repository.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdirvine%2Ftektra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdirvine%2Ftektra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdirvine%2Ftektra/lists"}