⚠️ Under Heavy Development — Stella is not stable. APIs, config formats, and behavior may change without notice. Not recommended for production use.
Stella is a self-hosted AI assistant that runs on your machine and talks to you through Telegram, QQ, Feishu, WeChat, or your terminal. She remembers every conversation — even weeks later — because she compresses old context automatically and can pull up the details whenever she needs them. Your data stays local in a SQLite database. Your API keys, your machine, nothing leaves your network.
- Chat from anywhere. Talk to Stella from Telegram, QQ, Feishu, WeChat, or the terminal — all sharing the same memory. Start a conversation on your laptop, pick it up on your phone.
- Never lose context. Stella uses Lossless Context Management (LCM) to compress old messages into summaries while keeping the originals. She can search her history and drill into any summary to recall exactly what you said, even thousands of messages later.
- Run multiple agents. Set up a coding assistant, a writing partner, and a daily planner — each with its own model, personality, and memory. Switch between them with
/agentin Telegram or--agenton the CLI. - Schedule tasks and reminders. Tell Stella "remind me every morning at 9am to check my email" and she will. Jobs persist across restarts.
- Extend with skills. Browse and install community skills from skills.sh to teach Stella new abilities — web scraping, file monitoring, workspace automation, and more.
# 1. Install
brew install CherryHQ/tap/stella
# 2. Set your API key
export ANTHROPIC_API_KEY="sk-ant-..."
# 3. Start the server
stella server
# 4. Open the Web UI at http://localhost:25678
# Add your provider and API key under Providers
# 5. Open Chat and start talkingYou can also install with go install github.com/CherryHQ/stella@latest or download a binary from Releases.
See the full quickstart guide for detailed steps.
All channels share the same memory. Chat from one, switch to another, and Stella picks up where you left off.
| Channel | How to connect | Streaming support |
|---|---|---|
| Terminal | Built-in TUI | Token-by-token |
| Telegram | Long polling, no public IP | Yes |
| WebSocket | Yes | |
| Feishu | WebSocket, no public IP | Edit-in-place |
| Long polling (iLink Bot) | No |
You can bind a channel to a specific agent, or let users switch agents with /agent.
Search, install, and manage skills from the CLI:
stella skill search "web scraping"
stella skill install owner/repo@skill-name
stella skill list| Section | What's inside | Link |
|---|---|---|
| Getting Started | Install, deploy, configure | Quick Start |
| Guides | Memory, scheduling, skills, notifications | Guides |
| Channels | Telegram, QQ, Feishu, WeChat setup | Channels |
| Development | Architecture, plugins, contributing | Development |
stella server # Start server; Web UI at http://localhost:25678
stella server --port 8080 # Custom port
stella skill search <query> # Search skills.sh
stella skill install <name> # Install a skill
stella skill list # List installed skills
stella scheduler list # List scheduled jobs
stella vault list # List stored secrets
stella version # Print version
stella upgrade # Self-update to latest releaseDevelopment requires mise. On a fresh clone:
mise run setup # Set up dev environment and pre-commit hooks
mise run build # Build binary
mise run test # Run tests
mise run format # Lint and formatMIT