docs: update README with flexible LLM configuration and environment variable support
This commit is contained in:
parent
83d845284d
commit
4b3eea54f7
1 changed files with 142 additions and 4 deletions
146
README.md
146
README.md
|
|
@ -1,7 +1,145 @@
|
|||
# Tauri + React + Typescript
|
||||
# Handy App
|
||||
|
||||
This template should help get you started developing with Tauri, React and Typescript in Vite.
|
||||
A user-friendly desktop application that makes the [Handy voice assistant](https://github.com/cjpais/handy) more accessible and easier to distribute. This app provides a native interface for voice-controlled AI interactions, making it simple for users to get started without dealing with Python setup.
|
||||
|
||||
## Recommended IDE Setup
|
||||
## Core Purpose
|
||||
|
||||
- [VS Code](https://code.visualstudio.com/) + [Tauri](https://marketplace.visualstudio.com/items?itemName=tauri-apps.tauri-vscode) + [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer)
|
||||
- 📦 Make Handy easily distributable and installable for everyone
|
||||
- 🎯 Provide the same powerful voice-controlled AI capabilities as the CLI version
|
||||
- 🧠 Support flexible LLM configuration (local or remote)
|
||||
- ⚙️ Offer simple configuration for keyboard shortcuts
|
||||
- 🪟 Enable floating windows for AI chat interactions
|
||||
|
||||
## Key Features
|
||||
|
||||
### V1 (Primary Focus)
|
||||
- 🎙️ Voice-to-text transcription using MLX Whisper
|
||||
- 🤖 Flexible AI model support:
|
||||
- Remote APIs (OpenRouter, OpenAI, Anthropic, etc.)
|
||||
- Local models (llama.cpp, MLX models, etc.)
|
||||
- Custom API endpoints
|
||||
- 💬 Floating chat windows for AI interactions
|
||||
- ⚡ Native desktop app experience
|
||||
- ⚙️ User-friendly configuration UI
|
||||
|
||||
### Future Enhancements
|
||||
- 📋 Smart clipboard management for context
|
||||
- 📸 Screenshot capabilities
|
||||
- 🔄 MCP provider functionality
|
||||
- 📝 Extended context window management
|
||||
|
||||
## Requirements
|
||||
|
||||
- macOS (currently macOS-only)
|
||||
- Internet connection for remote AI services (optional)
|
||||
- API keys for remote services (optional)
|
||||
|
||||
## Quick Start
|
||||
|
||||
1. Download the latest release from the releases page
|
||||
2. Install the application
|
||||
3. Launch and grant necessary permissions
|
||||
4. Configure your AI preferences:
|
||||
- Use existing environment variables if set
|
||||
- Configure through UI:
|
||||
- Select local or remote models
|
||||
- Add API keys if needed
|
||||
- Customize model parameters
|
||||
5. Start using voice commands with the default shortcuts!
|
||||
|
||||
## Environment Variables
|
||||
|
||||
The app automatically detects and uses common environment variables:
|
||||
```bash
|
||||
# Remote API Keys
|
||||
OPENAI_API_KEY=your_openai_key
|
||||
OPENROUTER_API_KEY=your_openrouter_key
|
||||
ANTHROPIC_API_KEY=your_anthropic_key
|
||||
|
||||
# Model Configuration
|
||||
DEFAULT_MODEL=gpt-4 # Example model choice
|
||||
MODEL_BASE_URL=http://localhost:8080 # For custom API endpoints
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
The app allows you to configure:
|
||||
- AI Model Settings:
|
||||
- Model provider (local or remote)
|
||||
- API endpoints and keys
|
||||
- Model parameters (temperature, context length, etc.)
|
||||
- Keyboard shortcuts
|
||||
- Window preferences for AI chat
|
||||
- Transcription settings
|
||||
|
||||
## Development Setup
|
||||
|
||||
1. Clone the repository:
|
||||
```bash
|
||||
git clone [repository-url]
|
||||
```
|
||||
|
||||
2. Install dependencies:
|
||||
```bash
|
||||
# Using npm
|
||||
npm install
|
||||
|
||||
# Or using Bun
|
||||
bun install
|
||||
```
|
||||
|
||||
3. Run the development version:
|
||||
```bash
|
||||
npm run tauri dev
|
||||
# or
|
||||
bun run tauri dev
|
||||
```
|
||||
|
||||
## Architecture
|
||||
|
||||
- **Frontend**: React + TypeScript for the user interface
|
||||
- **Backend**: Rust-based Tauri for system integration
|
||||
- **Key Plugins**:
|
||||
- `@tauri-apps/plugin-global-shortcut`: Keyboard shortcut management
|
||||
- `tauri-plugin-macos-permissions-api`: System permissions
|
||||
- `@tauri-apps/plugin-window`: Multi-window management
|
||||
|
||||
## Comparison with CLI Version
|
||||
|
||||
This desktop app provides the same core functionality as the [original Handy CLI](https://github.com/cjpais/handy) but with these improvements:
|
||||
- No Python setup required
|
||||
- Easy installation process
|
||||
- Native desktop experience
|
||||
- Configurable through UI
|
||||
- Floating chat windows
|
||||
- More flexible LLM configuration
|
||||
- Future support for visual features
|
||||
|
||||
## Contributing
|
||||
|
||||
Contributions are welcome! The priority is currently on:
|
||||
1. Core functionality parity with CLI version
|
||||
2. Installation and configuration experience
|
||||
3. Chat window implementation
|
||||
4. Model configuration interface
|
||||
|
||||
## Roadmap
|
||||
|
||||
### V1
|
||||
- [ ] Core voice-to-text functionality
|
||||
- [ ] Flexible AI model integration
|
||||
- [ ] Settings configuration
|
||||
- [ ] Easy installation process
|
||||
- [ ] Environment variable support
|
||||
|
||||
### Future
|
||||
- [ ] Basic chat windows
|
||||
- [ ] Clipboard management integration
|
||||
- [ ] Screenshot capabilities
|
||||
- [ ] MCP provider functionality
|
||||
- [ ] Extended context management
|
||||
- [ ] Multiple chat window layouts
|
||||
|
||||
## Related Projects
|
||||
|
||||
- [Handy CLI](https://github.com/cjpais/handy) - The original command-line interface version
|
||||
Loading…
Reference in a new issue