Lattice AI local MLX/cloud LLM workspace server
Project description
What is Lattice AI?
Lattice AI is a self-hosted AI server that unifies local and cloud LLMs into one workspace โ web chat, VS Code extension, Telegram bot, and MCP tools, all from a single pip install.
- ๐ฅ๏ธ Web UI โ chat, file upload, admin dashboard, data graph
- ๐งฉ VS Code / Cursor extension โ edit, explain, generate commands inline
- ๐ฑ Telegram bot โ access your AI from anywhere
- ๐ MCP server โ use Lattice tools inside Claude Desktop / Cursor
- ๐ Zero telemetry โ all data stays in
~/.ltcai/on your machine
๐ธ Screenshots
| Chat UI |
Admin Dashboard |
Data Graph (Graph RAG) |
โก Quick Start (30 seconds)
Python / PyPI
# Install (cloud models)
pip install ltcai
# Install (+ Apple Silicon local models)
pip install "ltcai[local]"
# Verify environment
LTCAI doctor
# Start server
LTCAI
# โ http://localhost:4825
Node / npm
npm install -g ltcai
LTCAI doctor
LTCAI
VS Code / Cursor
- Install Lattice AI from VS Code Marketplace or Open VSX
- Start the local server with
LTCAI - Run
Lattice AI: Open Chat(Cmd+Shift+A) in your editor
First run: open http://localhost:4825 โ sign up โ first account auto-becomes admin โ pick a model โ start chatting.
Public HTTPS tunnel (Cloudflare, no account needed):
LTCAI --tunnel
# โ https://xxxx.trycloudflare.com
๐ Why Lattice AI?
Comparison is based on public product behavior as of 2026-05.
| Lattice AI | Open WebUI | Continue.dev | GitHub Copilot | |
|---|---|---|---|---|
| Local model (offline, Apple Silicon) | โ | โ | โ | โ |
| Cloud models (OpenAI, Groqโฆ) | โ | โ | โ | โ |
| VS Code extension | โ | โ | โ | โ |
| Telegram bot | โ | โ | โ | โ |
| Graph RAG (auto knowledge graph) | โ | โ | โ | โ |
| MCP registry & install | โ | โ | โ | โ |
| Admin dashboard + audit log | โ | โ | โ | โ |
| Self-hosted, zero telemetry | โ | โ | โ | โ |
| One-command public tunnel | โ | โ | โ | โ |
| Free | โ | โ | โ | โ |
๐ง Supported Models
Local โ Apple Silicon only (MLX):
| Model | Best for | Size |
|---|---|---|
mlx-community/gemma-4-26b-a4b-it-4bit |
General / coding | ~14 GB |
mlx-community/Qwen2.5-Coder-32B-Instruct-4bit |
Coding | ~18 GB |
mlx-community/DeepSeek-R1-0528-4bit |
Reasoning | ~38 GB |
mlx-community/Phi-4-4bit |
Coding (fast) | ~8 GB |
Cloud (any platform): OpenAI ยท Groq ยท Together ยท OpenRouter ยท any OpenAI-compatible endpoint
โจ Features
| Feature | Description |
|---|---|
| Web UI | Responsive chat + admin panel + graph visualisation |
| Auto Setup Wizard | Detects โ downloads โ installs โ verifies โ repairs dependencies |
| VS Code / Cursor | Chat panel, Edit Selection, Explain, Generate command |
| Telegram bot | Local AI mirror + cloud Codex bot |
| MCP server | Use Lattice tools in Claude Desktop / Cursor |
| MCP registry | One-click install from registry.modelcontextprotocol.io |
| Skills marketplace | 77 official skills (Anthropic + Adobe ยท Airtable ยท Auth0 ยท Pydantic) |
| Plugin directory | Browse 149 open-source plugins |
| Graph RAG | Chat & docs auto-indexed as SQLite knowledge graph |
| Multi-step agent | File edit/create, grep, todo, terminal (25 steps) |
| Multi-LLM pipeline | Plan โ Execute โ Review with different models |
| Human-in-the-loop | Approve agent plan before execution |
| Audit dashboard | Per-user AI usage, sensitive data detection, event log |
| PWA | Install on iPad / Android home screen |
| SSO | Entra ID / Okta OIDC |
๐ฅ๏ธ Platform Support
| Feature | macOS Apple Silicon | macOS Intel / Windows / Linux |
|---|---|---|
| Web UI + cloud models | โ | โ |
| VS Code / Cursor extension | โ | โ |
| Telegram bot | โ | โ |
| MLX local models | โ | โ |
| Ollama / LM Studio / vLLM | โ | โ |
๐ ๏ธ Setup & Usage
Install & run
# Verify everything is ready
LTCAI doctor
# Run with cloud API key
OPENAI_API_KEY=sk-... LTCAI
# Run with local MLX model (Apple Silicon)
LATTICEAI_MODE=local \
LATTICEAI_LOCAL_MODEL=mlx-community/gemma-4-26b-a4b-it-4bit \
LTCAI
VS Code extension
- VS Code โ Extensions โ search
ltcaiโ Install Cmd+Shift+Aโ open chat panel (auto-connects tolocalhost:4825)
| Shortcut | Action |
|---|---|
Cmd+Shift+A |
Open chat |
Cmd+Shift+E |
Edit selected code |
Cmd+Shift+M |
Load / switch model |
| Right-click | Explain / Save to Knowledge Garden |
Telegram bot
LATTICEAI_TELEGRAM_BOT_TOKEN=your-token LTCAI
Public server (Render / Fly.io / Docker)
LATTICEAI_MODE=public \
LATTICEAI_PUBLIC_MODEL=openai:gpt-4o-mini \
OPENAI_API_KEY=sk-... \
LATTICEAI_INVITE_CODE=my-secret \
LTCAI
# Docker
docker build -t lattice-ai .
docker run --rm -p 4825:4825 \
-e OPENAI_API_KEY="$OPENAI_API_KEY" \
-e LATTICEAI_INVITE_CODE="my-secret" \
-v "$PWD/.data:/data" \
lattice-ai
๐ Security
| Property | Detail |
|---|---|
| Binding | Default 127.0.0.1:4825 โ local only |
| Auth | Session required when network-exposed or public mode |
| Cookies | HttpOnly + SameSite=Lax โ no localStorage token |
| Local file access | Approval-token gated (path + user + action scope) |
| CORS | Localhost only by default; add origins via LATTICEAI_CORS_ALLOWED_ORIGINS |
| File upload | Magic-number signature check (blocks extension spoofing) |
| Rate limits | /chat 30/min ยท /agent 6/min ยท /upload 12/min per user |
| Telemetry | None โ all data in ~/.ltcai/ |
Report vulnerabilities: SECURITY.md
๐๏ธ API Reference
| Method | Path | Description |
|---|---|---|
| GET | /health |
Server status & current model |
| GET | /models |
Model list + load state |
| POST | /models/load |
Load a model |
| POST | /chat |
Chat (stream=true/false) |
| POST | /agent |
Multi-step file agent |
| GET | /mcp/installed |
Installed MCP servers |
| POST | /mcp/install |
Install MCP server |
| GET | /skills/marketplace |
Skills marketplace |
| POST | /skills/install |
Install a skill |
| GET | /plugins/directory |
Plugin directory |
| GET | /permissions/pending |
Pending file-access approvals (admin) |
| POST | /permissions/approve/{token} |
Approve file access (admin) |
Full reference: docs/mcp-tools.md
๐ง Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Port 4825 in use | Previous process | lsof -i :4825 โ kill <PID> or --port 4826 |
ModuleNotFoundError: mlx |
MLX not installed | pip install "ltcai[local]" (Apple Silicon only) |
| Python < 3.11 | Version mismatch | Upgrade: python3 --version |
LTCAI doctor OPTIONAL |
Optional dep missing | Safe to ignore if feature not needed |
| No API key warning | Cloud model not set | OPENAI_API_KEY=sk-... LTCAI or set in admin panel |
| Can't reach from iPad | Default bind 127.0.0.1 | LATTICEAI_HOST=0.0.0.0 LTCAI or use --tunnel |
๐ Auto-start (Mac)
cat > ~/Library/LaunchAgents/com.ltcai.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key><string>com.ltcai</string>
<key>ProgramArguments</key><array><string>/usr/local/bin/LTCAI</string></array>
<key>RunAtLoad</key><true/>
<key>KeepAlive</key><true/>
<key>StandardOutPath</key><string>/tmp/ltcai.log</string>
<key>StandardErrorPath</key><string>/tmp/ltcai.err</string>
</dict>
</plist>
EOF
launchctl load ~/Library/LaunchAgents/com.ltcai.plist
Or: ./start_ai.sh (auto-restart + caffeinate)
๐ฆ Distribution
| Channel | Link |
|---|---|
| PyPI | pypi.org/project/ltcai |
| npm | npmjs.com/package/ltcai |
| VS Code Marketplace | marketplace.visualstudio.com |
| Open VSX | open-vsx.org |
Current version: 0.1.26 โ Changelog
๐ค Contributing
See CONTRIBUTING.md. All PRs welcome.
๐ License
MIT โ TaeSoo Park
ํ๊ตญ์ด ์๋ด (Korean)
ํ๊ตญ์ด ์๋ด
Lattice AI๋ ๋ก์ปฌ/ํด๋ผ์ฐ๋ LLM์ ์น UI ยท VS Code ํ์ฅ ยท Telegram ๋ด ยท MCP ๋๊ตฌ๋ก ํ๋์ ์๋ฒ์์ ์ด์ํ๋ ๊ฐ์ธ AI ์ํฌ์คํ์ด์ค์ ๋๋ค.
์ค์น
pip install ltcai # ํด๋ผ์ฐ๋ ๋ชจ๋ธ
pip install "ltcai[local]" # + Apple Silicon MLX ๋ก์ปฌ ๋ชจ๋ธ
LTCAI # ์๋ฒ ์คํ โ http://localhost:4825
LTCAI --tunnel # + Cloudflare ๊ณต๊ฐ URL ์๋ ๋ฐ๊ธ
์ฃผ์ ๊ธฐ๋ฅ
- ์น UI ์ฑํ + ์ด๋๋ฏผ ๋์๋ณด๋ + Data Graph ์๊ฐํ
- VS Code / Cursor ํ์ฅ (
Cmd+Shift+A) - Telegram ๋ด ์ฐ๋
- MCP ๋ ์ง์คํธ๋ฆฌ & Skills ๋ง์ผํ๋ ์ด์ค
- Graph RAG โ ์ฑํ ยท๋ฌธ์๋ฅผ SQLite ์ง์ ๊ทธ๋ํ๋ก ์๋ ๊ตฌ์กฐํ
- ๋ฉํฐ LLM ํ์ดํ๋ผ์ธ (Plan โ Execute โ Review)
- Human-in-the-loop ์์ด์ ํธ ์น์ธ
- ๊ฐ์ฌ ๋ก๊ทธ & ๋ฐ์ดํฐ ๊ฑฐ๋ฒ๋์ค ๋์๋ณด๋
- ํ ๋ ๋ฉํธ๋ฆฌ ์์ โ ๋ชจ๋ ๋ฐ์ดํฐ ๋ก์ปฌ ์ ์ฅ
์ถ์ฒ ๋ก์ปฌ ๋ชจ๋ธ (M-series Mac)
| ๋ชจ๋ธ | ์ฉ๋ | ํฌ๊ธฐ |
|---|---|---|
mlx-community/gemma-4-26b-a4b-it-4bit |
๋ฒ์ฉ | ~14GB |
mlx-community/Qwen2.5-Coder-32B-Instruct-4bit |
์ฝ๋ฉ | ~18GB |
mlx-community/DeepSeek-R1-0528-4bit |
์ถ๋ก | ~38GB |
์์ธํ ๋ด์ฉ: docs/CHANGELOG.md ยท ๋ณด์ ยท ๊ธฐ์ฌ
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ltcai-0.1.26.tar.gz.
File metadata
- Download URL: ltcai-0.1.26.tar.gz
- Upload date:
- Size: 289.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6bc7929c4c69e3e56eef0d0fdf064f81e09ec58d61263ddce5705658e4ad41f5
|
|
| MD5 |
134345188379bf76ed4c03e3ae5847c9
|
|
| BLAKE2b-256 |
60a7de36ae73a3a595e875d52dcacc838bf8e44f0bfd16eae2a275ad62c0a7bf
|
File details
Details for the file ltcai-0.1.26-py3-none-any.whl.
File metadata
- Download URL: ltcai-0.1.26-py3-none-any.whl
- Upload date:
- Size: 253.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f4d674901ef6460daec94420dd39e18fc71c77c215c599c732419b138cfa542
|
|
| MD5 |
61323261fdc694583193fec6abe9ed22
|
|
| BLAKE2b-256 |
f69c0ea59de45470e034cf163dd3707504b200aa920ba40c354bdf02739b96f8
|