Alice
Alice is a smart desktop AI assistant application built with Vue.js, Vite, and Electron. Advanced memory system, function calling, MCP support, optional fully local use, and more.
GitHub Stars
165
User Rating
Not Rated
Favorites
0
Views
3
Forks
18
Issues
0
Alice
Say "Hi" to Alice π, your open-source AI companion designed to live on your desktop.
Alice brings together voice interaction, intelligent context awareness, powerful tooling, and a friendly personality to assist you with everything from daily tasks to deeper creative work. Sheβs more than a chatbot, sheβs built to feel present, responsive, emotionally engaging, and deeply useful.
β¨ Key Features
π» Local and Cloud use
Alice designed to work with Cloud(OpenAI/OpenRouter) and Local LLMs (Ollama/LM Studio).
Has built-in speech-to-text, text-to-speech, and embedding services.
While the OpenAI cloud API is preferred and provides the best user experience, Alice can go fully local (experimental).
π£οΈ Voice Interaction
- Fast, VAD-powered voice recognition (via
gpt-4o-transcribe
orwhisper-large-v3
) - Natural-sounding responses with OpenAI TTS and optional support for local multilingual text-to-speech via Piper TTS
- Interruptible speech and streaming response cancellation for smoother flow
π§ Memory & Context
- Thoughts: Short-term context stored in Hnswlib vector DB
- Memories: Structured long-term facts in local DB
- Summarization: Compact message history into context prompts
- Emotion awareness: Summaries include mood estimation for more human responses
π¨ Vision & Visual Output
- Screenshot interpretation using Vision API
- Image generation using
gpt-image-1
- Animated video states (standby / speaking / thinking)
πͺ Computer Use Tools
Alice can now interact with your local system with user-approved permissions:
π File system browsing (e.g. listing folders)
π» Shell command execution (
ls
,mv
,mkdir
, etc)π Granular command approvals:
- One-time
- Session-based
- Permanent (revocable)
π§ Settings tab "Permissions" lets you review and manage all approved commands
βοΈ Function Calling
- Web search (including Searxng support)
- Google Calendar & Gmail integration
- Torrent search & download (via Jackett + qBittorrent)
- Time & date awareness
- Clipboard management
- Task scheduler (reminders and command execution)
- Open applications & URLs
- Image generation
- MCP server support
π¬ Wake Word Support
With the local STT model, you can now set a wake-up word (like "Hey, Siri").
- Alice will always listen, but only process requests when the wake word is spoken.
- Default mode is auto language detection, but you can also select a specific language in settings.
π» Dedicated Chrome Extension
- Ask Alice about your active Chrome tab
- Context menu for selected text on a web page
- Fact check this
- Summarize this
- Tell me more about it
ποΈ Flexible Settings
Fully customizable settings interface:
- LLM provider selection between OpenAI, OpenRouter, Ollama, LM Studio
- Cloud or local TTS, STT, Embeddings
- Model choice & parameters (temperature, top_p, history, etc)
- Prompt and summarization tuning
- Audio/mic toggles & hotkeys
- Available tools & MCP configuration
- Google integrations
π Download
π Download the latest release
Follow the Setup Instructions to configure your API keys and environment.
π οΈ Technologies Used
- Frontend: Vue.js, TailwindCSS
- Desktop Shell: Electron
- State Management: Pinia
- AI APIs: OpenAI, OpenRouter, Groq
- Backend: Go
- Vector search engine: hnswlib-node
- Local storage: better-sqlite3
- Voice activity detection: VAD (Web)
- Local STT & TTS: whisper.cpp & Piper
- Local Embeddings: all-MiniLM-L6-v2
- Animation: Kling Pro
Other tools:
- Jackett β Torrent aggregator
- qBittorrent β Torrent client
- Searxng - Self-hosted web search
π§βπ» Getting Started (Development)
# 1. Clone the repo
$ git clone https://github.com/pmbstyle/Alice.git
# 2. Install dependencies
$ npm install
# 3. Set up your .env file (see .env.example for reference)
Follow setup instructions to obtain required API credentials.
# 4. Compile backend
npm run build:go
# 5. Run dev environment
$ npm run dev
π¦ Production Build
Optionally, create an app-config.json
file in the root directory for Google integration:
{
"VITE_GOOGLE_CLIENT_ID": "",
"VITE_GOOGLE_CLIENT_SECRET": ""
}
# Build the app
$ npm run build
Install the output from the release/
directory.
π§ Community
- ποΈ ArchLinux AUR Package
π€ Contributing
Ideas, bug reports, feature requests - all welcome! Open an issue or PR, or just drop by to share your thoughts. Your input helps shape Alice into something wonderful π
10
Followers
22
Repositories
0
Gists
0
Total Contributions