Self-hosted, privacy-first AI gateway. Your data never leaves your machine.
pip install salmalm
salmalm start
# Open http://localhost:8000- π 100% Local β no data sent to third parties
- π€ Multi-LLM β Claude, GPT, Gemini in one interface
- π RAG β chat with your own documents
- π οΈ 62 built-in tools β web search, file ops, code execution
- π Vault encryption for sensitive data
- π³ Docker ready
docker-compose up -d- Python 3.10+
- API key for at least one LLM provider
Self-hosted personal AI gateway β one pip install, no Docker, no Node.js.
- Multi-provider LLM routing β OpenAI, Anthropic, Google, xAI, Ollama with 3-tier auto-routing (simple / moderate / complex)
- Automatic failover + circuit breaker β transparent retry across providers; unhealthy endpoints are isolated
- RAG β BM25 + semantic search with Reciprocal Rank Fusion (RRF); indexes your local files automatically
- Vault encryption β AES-256-GCM with PBKDF2-200K key derivation; opt-in per secret
- OAuth2 β Google and Anthropic social login flows
- WebSocket streaming β real-time token streaming to the web UI
- Multi-user auth β JWT-based session management with per-user quotas
- Cost tracking + daily quotas β per-model token accounting with configurable daily spend caps
- Prometheus metrics β
/metricsendpoint; drop-in for any Grafana stack - SQLite audit log β WAL mode; every request, tool call, and auth event is logged
- 62 built-in tools β shell exec, file I/O, web search (Brave), browser automation, TTS/STT, image gen, cron, and more
pip install salmalm
salmalm start
# β http://localhost:18800A Setup Wizard opens on first launch. Paste an API key, pick a model β done.
Recommended: use
pipx install salmalmto avoid dependency conflicts.
All configuration is via environment variables. No config files required.
| Variable | Default | Description |
|---|---|---|
SALMALM_PORT |
18800 |
HTTP listen port |
SALMALM_BIND |
127.0.0.1 |
Bind address (0.0.0.0 for LAN access) |
SALMALM_SECRET |
(none) | Master secret for Vault + JWT signing (set this!) |
SALMALM_ALLOW_SHELL |
0 |
Enable shell operators in tool exec (1 to opt in) |
SALMALM_PYTHON_EVAL |
0 |
Enable Python eval tool (1 to opt in) |
SALMALM_DAILY_BUDGET |
(none) | Daily spend cap in USD, e.g. 2.00 |
| Method | Path | Description |
|---|---|---|
POST |
/api/chat |
Send a message; returns SSE stream |
GET |
/api/sessions |
List chat sessions |
DELETE |
/api/sessions/{id} |
Delete a session |
GET |
/api/tools |
List available tools and their schemas |
GET |
/api/models |
List discovered models across all providers |
GET |
/api/costs |
Cost summary (today / 30-day) |
GET |
/metrics |
Prometheus metrics endpoint |
GET |
/api/vault |
List vault entries (values redacted) |
POST |
/api/vault |
Store an encrypted secret |
GET |
/api/audit |
Recent audit log entries |
Client (Browser / Telegram / Discord)
β
βΌ HTTP + WebSocket
βββββββββββββββββββββββββββββββββββββββββββββ
β SalmAlm β
β β
β βββββββββββββββ βββββββββββββββββββββ β
β β 3-Tier β β Engine Pipeline β β
β β LLM Router ββββΆβ classify β route β β
β β + Failover β β β context β exec β β
β βββββββββββββββ βββββββββββββββββββββ β
β β β
β ββββββββΌβββββββββββββββββββββββββββββββ β
β β Providers β β
β β OpenAI Β· Anthropic Β· Google Β· xAI β β
β β Ollama Β· LM Studio Β· vLLM β β
β βββββββββββββββββββββββββββββββββββββββ β
β β
β RAG (BM25 + Semantic + RRF) β
β Vault (AES-256-GCM) β
β JWT Auth Β· OAuth2 β
β 62 Tools Β· Cron Β· Sub-Agents β
β SQLite Audit (WAL) Β· Prometheus /metrics β
βββββββββββββββββββββββββββββββββββββββββββββ
git clone https://github.com/hyunjun6928-netizen/salmalm.git
cd salmalm
pip install -e ".[dev]"
pytest tests/ -q --timeout=30 -x \
--ignore=tests/test_multi_tenant.py \
--ignore=tests/test_fresh_install_e2e.pySee CONTRIBUTING.md for guidelines.
MIT Β© 2024 hyunjun6928-netizen
SalmAlm = μΆ (Life) + μ (Knowledge)
Your life, understood by AI.
Self-hosted, privacy-first AI gateway. Your data never leaves your machine.
pip install salmalm
salmalm start
# Open http://localhost:8000- π 100% local β no data sent to third parties
- π€ Multi-LLM β Claude, GPT, Gemini in one place
- π RAG β chat with your documents
- π οΈ 62 built-in tools
- π Vault encryption for sensitive data
docker-compose up -d