ltcai 0.1.30 β†’ 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,9 +1,7 @@
1
1
  <div align="center">
2
2
  <img src="https://raw.githubusercontent.com/TaeSooPark-PTS/LatticeAI/main/docs/images/logo.svg" alt="Lattice AI" width="280"/>
3
3
  <br/>
4
- <strong>One install. Your personal AI workspace.</strong>
5
- <br/>
6
- Local LLMs, cloud models, VS Code / Cursor, Telegram, MCP tools, files, admin controls, and a knowledge graph in one self-hosted stack.
4
+ <strong>Private local AI workspace that turns your files, chats, and folders into a searchable knowledge graph.</strong>
7
5
  <br/><br/>
8
6
 
9
7
  [![PyPI](https://img.shields.io/pypi/v/ltcai?label=PyPI&color=blue)](https://pypi.org/project/ltcai/)
@@ -23,59 +21,62 @@
23
21
 
24
22
  ---
25
23
 
26
- ## What is Lattice AI?
24
+ ## Why Lattice AI?
25
+
26
+ Most AI tools forget everything after each conversation. Your files sit in folders, your chats vanish, and nothing connects.
27
27
 
28
- **Lattice AI** is a self-hosted AI server that unifies local and cloud LLMs into one practical workspace. Install once, then use the same AI from the web UI, VS Code / Cursor, Telegram, MCP clients, files, and your personal knowledge graph.
28
+ **Lattice AI remembers.** It reads your local files, indexes your conversations, and builds a knowledge graph that links people, projects, concepts, and documents β€” all on your machine, with zero data leaving your PC.
29
29
 
30
- - πŸ–₯️ **Web UI** β€” chat, file upload, admin dashboard, data graph
31
- - 🧩 **VS Code / Cursor extension** β€” edit, explain, generate commands inline
32
- - πŸ“± **Telegram bot** β€” access your AI from anywhere
33
- - πŸ”Œ **MCP server** β€” use Lattice tools inside Claude Desktop / Cursor
34
- - πŸ”’ **Zero telemetry** β€” all data stays in `~/.ltcai/` on your machine
35
- - ⚑ **30-second start** β€” `pip install ltcai` or `npm install -g ltcai`
30
+ - **Your data stays local** β€” everything lives in `~/.ltcai/`, never sent to external servers
31
+ - **Your AI gets smarter over time** β€” every chat and file builds your personal knowledge graph
32
+ - **One install, works everywhere** β€” web UI, VS Code, Telegram, MCP clients, all connected to the same brain
36
33
 
37
34
  ---
38
35
 
39
- ## πŸ“Έ Product Preview
36
+ ## 3-Minute Workflow
40
37
 
41
- Real screens from the local web app:
38
+ ```
39
+ 1. Install pip install ltcai && LTCAI
40
+ 2. Detect hardware Auto-detect CPU, GPU, RAM β†’ recommend the best local model
41
+ 3. Connect folders Select local folders to index into your knowledge graph
42
+ 4. Build knowledge Files and chats auto-analyzed β†’ nodes (people, concepts, files) + edges (mentions, contains, depends on)
43
+ 5. Ask anything "What did I discuss about the auth migration last week?" β†’ Graph RAG retrieves context
44
+ 6. Work from anywhere Web UI Β· VS Code Β· Telegram Β· MCP β€” all connected to the same knowledge
45
+ ```
46
+
47
+ ---
48
+
49
+ ## Product Preview
42
50
 
43
51
  <table>
44
52
  <tr>
45
53
  <td align="center" width="33%">
46
- <b>πŸ’¬ Workspace Chat</b><br/>
54
+ <b>Workspace Chat</b><br/>
47
55
  <img src="https://raw.githubusercontent.com/TaeSooPark-PTS/LatticeAI/main/docs/images/screenshot-chat.png" alt="Lattice AI workspace chat" width="100%"/>
48
- <sub>Web chat with local LLM, file upload, pipeline status</sub>
56
+ <sub>Chat with local/cloud LLM, upload files, pipeline controls</sub>
49
57
  </td>
50
58
  <td align="center" width="33%">
51
- <b>πŸ›‘οΈ Admin Dashboard</b><br/>
52
- <img src="https://raw.githubusercontent.com/TaeSooPark-PTS/LatticeAI/main/docs/images/screenshot-admin.png" alt="Lattice AI admin dashboard" width="100%"/>
53
- <sub>User management, audit log, security monitoring</sub>
59
+ <b>Knowledge Graph</b><br/>
60
+ <img src="https://raw.githubusercontent.com/TaeSooPark-PTS/LatticeAI/main/docs/images/screenshot-graph.png" alt="Lattice AI knowledge graph" width="100%"/>
61
+ <sub>Auto-built from chats and documents β€” nodes = nouns, edges = verbs</sub>
54
62
  </td>
55
63
  <td align="center" width="33%">
56
- <b>πŸ•ΈοΈ Knowledge Graph</b><br/>
57
- <img src="https://raw.githubusercontent.com/TaeSooPark-PTS/LatticeAI/main/docs/images/screenshot-graph.png" alt="Lattice AI knowledge graph" width="100%"/>
58
- <sub>Auto-built Graph RAG from chats &amp; documents</sub>
64
+ <b>Admin Dashboard</b><br/>
65
+ <img src="https://raw.githubusercontent.com/TaeSooPark-PTS/LatticeAI/main/docs/images/screenshot-admin.png" alt="Lattice AI admin dashboard" width="100%"/>
66
+ <sub>User management, audit log, security monitoring</sub>
59
67
  </td>
60
68
  </tr>
61
69
  </table>
62
70
 
63
- What this gives users after install:
64
-
65
- - A single local workspace for chat, files, models, runtime setup, and tool control
66
- - A graph view that turns chats and documents into searchable knowledge
67
- - Admin screens for users, model status, VPC settings, SSO, audit logs, and security monitoring
68
-
69
71
  ---
70
72
 
71
- ## ⚑ Quick Start (30 seconds)
73
+ ## Quick Start
72
74
 
73
75
  **Python / PyPI**
74
76
 
75
77
  ```bash
76
78
  pip install ltcai
77
- pip install "ltcai[local]"
78
- LTCAI doctor
79
+ pip install "ltcai[local]" # + Apple Silicon MLX models
79
80
  LTCAI
80
81
  # β†’ http://localhost:4825
81
82
  ```
@@ -84,118 +85,166 @@ LTCAI
84
85
 
85
86
  ```bash
86
87
  npm install -g ltcai
87
- LTCAI doctor
88
88
  LTCAI
89
89
  ```
90
90
 
91
91
  **VS Code / Cursor**
92
92
 
93
93
  1. Install **Lattice AI** from [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=parktaesoo.ltcai) or [Open VSX](https://open-vsx.org/extension/parktaesoo/ltcai)
94
- 2. Start the local server with `LTCAI`
95
- 3. Run `Lattice AI: Open Chat` (`Cmd+Shift+A`) in your editor
94
+ 2. Start the local server: `LTCAI`
95
+ 3. `Cmd+Shift+A` to open the chat panel
96
96
 
97
97
  **First run:** open `http://localhost:4825` β†’ sign up β†’ first account auto-becomes admin β†’ pick a model β†’ start chatting.
98
98
 
99
- **Public HTTPS tunnel (Cloudflare, no account needed):**
99
+ ---
100
100
 
101
- ```bash
102
- LTCAI --tunnel
103
- # β†’ https://xxxx.trycloudflare.com
104
- ```
101
+ ## How the Knowledge Graph Works
102
+
103
+ Lattice AI automatically analyzes your chats and files, extracting meaningful structure:
104
+
105
+ **Nodes (nouns)** β€” the things in your world:
106
+ | Type | Examples |
107
+ |------|----------|
108
+ | Document | PDF, PPTX, DOCX, code files, images |
109
+ | Person | You, mentioned colleagues |
110
+ | Concept | Technologies, frameworks, ideas |
111
+ | Chat | Conversation sessions |
112
+ | Task | Action items, TODOs |
113
+ | Decision | Choices made in discussions |
114
+
115
+ **Edges (verbs)** β€” how things relate:
116
+ `mentions` Β· `contains` Β· `resolves` Β· `depends on` Β· `explains` Β· `uses` Β· `replaces` Β· `supports` Β· `related to`
117
+
118
+ **Local folder indexing:**
119
+ 1. Browse your drives and folders from the UI
120
+ 2. Preview file counts, types, and sizes before indexing
121
+ 3. Approve which folders to connect (sensitive files auto-excluded)
122
+ 4. Files are parsed, chunked, and linked into the graph
123
+ 5. Optional: enable file watcher for real-time updates
124
+
125
+ All data stays in a local SQLite database. Nothing leaves your machine.
105
126
 
106
127
  ---
107
128
 
108
- ## πŸ†š Why Lattice AI?
129
+ ## Comparison
109
130
 
110
- Comparison is based on public product behavior as of 2026-05.
131
+ Based on public product behavior as of 2026-05.
111
132
 
112
133
  | | Lattice AI | Open WebUI | Continue.dev | GitHub Copilot |
113
134
  |---|:---:|:---:|:---:|:---:|
114
- | Local model (offline, Apple Silicon) | βœ… | βœ… | βœ… | ❌ |
115
- | Cloud models (OpenAI, Groq…) | βœ… | βœ… | βœ… | βœ… |
116
- | VS Code extension | βœ… | ❌ | βœ… | βœ… |
117
- | Telegram bot | βœ… | ❌ | ❌ | ❌ |
118
- | Graph RAG (auto knowledge graph) | βœ… | ❌ | ❌ | ❌ |
119
- | MCP registry & install | βœ… | ❌ | βœ… | ❌ |
120
- | Admin dashboard + audit log | βœ… | βœ… | ❌ | ❌ |
121
- | Self-hosted, zero telemetry | βœ… | βœ… | βœ… | ❌ |
122
- | One-command public tunnel | βœ… | ❌ | ❌ | ❌ |
123
- | Free | βœ… | βœ… | βœ… | ❌ |
135
+ | Local model (offline, Apple Silicon) | **Yes** | Yes | Yes | No |
136
+ | Cloud models (OpenAI, Groq...) | **Yes** | Yes | Yes | Yes |
137
+ | Knowledge graph (auto from files + chats) | **Yes** | No | No | No |
138
+ | Local folder indexing + file watcher | **Yes** | No | No | No |
139
+ | VS Code extension | **Yes** | No | Yes | Yes |
140
+ | Telegram bot | **Yes** | No | No | No |
141
+ | MCP registry (one-click install) | **Yes** | Partial | Yes | No |
142
+ | Admin + audit log | **Yes** | Yes | No | No |
143
+ | Zero telemetry, self-hosted | **Yes** | Yes | Yes | No |
144
+ | One-command public tunnel | **Yes** | No | No | No |
145
+ | Free | **Yes** | Yes | Yes | No |
124
146
 
125
147
  ---
126
148
 
127
- ## 🧠 Supported Models
149
+ ## Supported Models
150
+
151
+ **Local (Apple Silicon MLX):**
128
152
 
129
- **Local β€” Apple Silicon only (MLX):**
153
+ | Model | Best for | Size | Min RAM |
154
+ |-------|----------|------|---------|
155
+ | Qwen3-VL 4B | Multimodal / low spec | ~2.7 GB | 8 GB |
156
+ | Qwen3-VL 8B | Multimodal / balanced | ~4.8 GB | 16 GB |
157
+ | Gemma 4 26B | Multimodal / large | ~15.6 GB | 32 GB |
158
+ | Qwen3-VL 30B A3B | Multimodal / top | ~18 GB | 48 GB |
159
+ | Phi 4 Mini | Coding (fast) | ~2.2 GB | 8 GB |
160
+ | Llama 3.1 8B | General | ~4.7 GB | 8 GB |
161
+ | Mistral 7B v0.3 | General / Apache | ~4.1 GB | 8 GB |
130
162
 
131
- | Model | Best for | Size |
132
- |-------|----------|------|
133
- | `mlx-community/gemma-4-26b-a4b-it-4bit` | General / coding | ~14 GB |
134
- | `mlx-community/Qwen2.5-Coder-32B-Instruct-4bit` | Coding | ~18 GB |
135
- | `mlx-community/DeepSeek-R1-0528-4bit` | Reasoning | ~38 GB |
136
- | `mlx-community/Phi-4-4bit` | Coding (fast) | ~8 GB |
163
+ **Cross-platform (Ollama / LM Studio / vLLM / llama.cpp):**
164
+ Same models via Ollama pull, LM Studio download, or vLLM serve.
137
165
 
138
166
  **Cloud (any platform):**
139
- OpenAI Β· Groq Β· Together Β· OpenRouter Β· any OpenAI-compatible endpoint
167
+ OpenAI GPT-5.5 Β· Claude Opus 4.7 / Sonnet 4.6 / Haiku 4.5 via OpenRouter Β· Groq Β· Together Β· xAI Β· any OpenAI-compatible endpoint
168
+
169
+ The setup wizard auto-detects your hardware and recommends the best model for your specs.
170
+
171
+ ---
172
+
173
+ ## Data Privacy
174
+
175
+ | | |
176
+ |---|---|
177
+ | **Storage** | All data in `~/.ltcai/` on your machine |
178
+ | **Telemetry** | None β€” no analytics, no tracking, no phoning home |
179
+ | **File access** | Approval-token gated β€” explicit consent per folder |
180
+ | **Cloud models** | When using cloud APIs, prompts are sent to the provider. Local models keep everything offline. |
181
+ | **Sensitive files** | `.env`, credentials, keys, certificates auto-excluded from indexing |
182
+ | **Delete** | Clear chat history, delete graph nodes, remove indexed folders at any time |
140
183
 
141
184
  ---
142
185
 
143
- ## ✨ Features
186
+ <details>
187
+ <summary><b>All Features</b></summary>
144
188
 
189
+ ### Core Experience
190
+ | Feature | Description |
191
+ |---------|-------------|
192
+ | **Web UI** | Responsive chat, file upload, model picker, knowledge graph |
193
+ | **Auto Setup Wizard** | Detect hardware β†’ recommend model β†’ install dependencies β†’ verify |
194
+ | **Graph RAG** | Chats and files auto-indexed into SQLite knowledge graph |
195
+ | **Local folder indexing** | Browse, audit, and index local folders with file watcher |
196
+
197
+ ### Developer Tools
145
198
  | Feature | Description |
146
199
  |---------|-------------|
147
- | **Web UI** | Responsive chat + admin panel + graph visualisation |
148
- | **Auto Setup Wizard** | Detects β†’ downloads β†’ installs β†’ verifies β†’ repairs dependencies |
149
200
  | **VS Code / Cursor** | Chat panel, Edit Selection, Explain, Generate command |
150
- | **Telegram bot** | Local AI mirror + cloud Codex bot |
201
+ | **Multi-step agent** | File edit/create, grep, todo, terminal (25 steps, human-in-the-loop) |
202
+ | **Multi-LLM pipeline** | Plan β†’ Execute β†’ Review with different models |
151
203
  | **MCP server** | Use Lattice tools in Claude Desktop / Cursor |
152
204
  | **MCP registry** | One-click install from registry.modelcontextprotocol.io |
153
- | **Skills marketplace** | 77 official skills (Anthropic + Adobe Β· Airtable Β· Auth0 Β· Pydantic) |
205
+ | **Skills marketplace** | 77 official skills (Anthropic + verified third-party) |
154
206
  | **Plugin directory** | Browse 149 open-source plugins |
155
- | **Graph RAG** | Chat & docs auto-indexed as SQLite knowledge graph |
156
- | **Multi-step agent** | File edit/create, grep, todo, terminal (25 steps) |
157
- | **Multi-LLM pipeline** | Plan β†’ Execute β†’ Review with different models |
158
- | **Human-in-the-loop** | Approve agent plan before execution |
159
- | **Admin governance** | User status, role permissions, Okta / Entra ID SSO, security monitoring |
160
- | **Audit dashboard** | Per-user AI usage, sensitive data detection, event log, UTF-8 TXT/CSV/Excel exports |
161
- | **PWA** | Install on iPad / Android home screen |
162
- | **SSO** | Entra ID / Okta OIDC |
163
207
 
164
- ---
165
-
166
- ## πŸ–₯️ Platform Support
167
-
168
- | Feature | macOS Apple Silicon | macOS Intel / Windows / Linux |
169
- |---------|:---:|:---:|
170
- | Web UI + cloud models | βœ… | βœ… |
171
- | VS Code / Cursor extension | βœ… | βœ… |
172
- | Telegram bot | βœ… | βœ… |
173
- | MLX local models | βœ… | ❌ |
174
- | Ollama / LM Studio / vLLM | βœ… | βœ… |
208
+ ### Access & Communication
209
+ | Feature | Description |
210
+ |---------|-------------|
211
+ | **Telegram bot** | Chat, upload files, manage models from anywhere |
212
+ | **PWA** | Install on iPad / Android home screen |
213
+ | **Public tunnel** | `LTCAI --tunnel` β€” Cloudflare HTTPS, no account needed |
175
214
 
176
- ---
215
+ ### Administration
216
+ | Feature | Description |
217
+ |---------|-------------|
218
+ | **User management** | Roles, permissions, disable/enable accounts |
219
+ | **SSO** | Entra ID / Okta OIDC |
220
+ | **Audit dashboard** | Per-user AI usage, sensitive data detection, event log, TXT/CSV/Excel export |
221
+ | **Security monitoring** | Rate limits, file access approvals, MCP install audit trail |
177
222
 
178
- ## πŸ› οΈ Setup & Usage
223
+ </details>
179
224
 
180
- ### Install & run
225
+ <details>
226
+ <summary><b>Security</b></summary>
181
227
 
182
- ```bash
183
- # Verify everything is ready
184
- LTCAI doctor
228
+ | Property | Detail |
229
+ |----------|--------|
230
+ | Binding | Default `127.0.0.1:4825` β€” local only |
231
+ | Auth | Session required when network-exposed or public mode |
232
+ | Cookies | `HttpOnly + SameSite=Lax` β€” no localStorage token |
233
+ | Local file access | Approval-token gated (path + user + action scope) |
234
+ | Package install | Admin-only with audit trail (MCP, skills, pip, npm) |
235
+ | CORS | Localhost only by default; configure via `LATTICEAI_CORS_ALLOWED_ORIGINS` |
236
+ | File upload | Magic-number signature check (blocks extension spoofing) |
237
+ | Rate limits | `/chat` 30/min Β· `/agent` 6/min Β· `/upload` 12/min per user |
238
+ | Telemetry | None β€” all data in `~/.ltcai/` |
185
239
 
186
- # Run with cloud API key
187
- OPENAI_API_KEY=sk-... LTCAI
240
+ Report vulnerabilities: [SECURITY.md](SECURITY.md)
188
241
 
189
- # Run with local MLX model (Apple Silicon)
190
- LATTICEAI_MODE=local \
191
- LATTICEAI_LOCAL_MODEL=mlx-community/gemma-4-26b-a4b-it-4bit \
192
- LTCAI
193
- ```
242
+ </details>
194
243
 
195
- ### VS Code extension
244
+ <details>
245
+ <summary><b>Setup & Configuration</b></summary>
196
246
 
197
- 1. VS Code β†’ Extensions β†’ search `ltcai` β†’ Install
198
- 2. `Cmd+Shift+A` β€” open chat panel (auto-connects to `localhost:4825`)
247
+ ### VS Code shortcuts
199
248
 
200
249
  | Shortcut | Action |
201
250
  |----------|--------|
@@ -210,7 +259,7 @@ LTCAI
210
259
  LATTICEAI_TELEGRAM_BOT_TOKEN=your-token LTCAI
211
260
  ```
212
261
 
213
- ### Public server (Render / Fly.io / Docker)
262
+ ### Public server (Docker / Render / Fly.io)
214
263
 
215
264
  ```bash
216
265
  LATTICEAI_MODE=public \
@@ -220,36 +269,37 @@ LATTICEAI_INVITE_CODE=my-secret \
220
269
  LTCAI
221
270
  ```
222
271
 
272
+ ### Public tunnel (Cloudflare, no account)
273
+
223
274
  ```bash
224
- # Docker
225
- docker build -t lattice-ai .
226
- docker run --rm -p 4825:4825 \
227
- -e OPENAI_API_KEY="$OPENAI_API_KEY" \
228
- -e LATTICEAI_INVITE_CODE="my-secret" \
229
- -v "$PWD/.data:/data" \
230
- lattice-ai
275
+ LTCAI --tunnel
276
+ # β†’ https://xxxx.trycloudflare.com
231
277
  ```
232
278
 
233
- ---
279
+ ### Auto-start (Mac)
234
280
 
235
- ## πŸ”’ Security
236
-
237
- | Property | Detail |
238
- |----------|--------|
239
- | Binding | Default `127.0.0.1:4825` β€” local only |
240
- | Auth | Session required when network-exposed or public mode |
241
- | Cookies | `HttpOnly + SameSite=Lax` β€” no localStorage token |
242
- | Local file access | Approval-token gated (path + user + action scope) |
243
- | CORS | Localhost only by default; add origins via `LATTICEAI_CORS_ALLOWED_ORIGINS` |
244
- | File upload | Magic-number signature check (blocks extension spoofing) |
245
- | Rate limits | `/chat` 30/min Β· `/agent` 6/min Β· `/upload` 12/min per user |
246
- | Telemetry | None β€” all data in `~/.ltcai/` |
247
-
248
- Report vulnerabilities: [SECURITY.md](SECURITY.md)
281
+ ```bash
282
+ cat > ~/Library/LaunchAgents/com.ltcai.plist << 'EOF'
283
+ <?xml version="1.0" encoding="UTF-8"?>
284
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
285
+ <plist version="1.0">
286
+ <dict>
287
+ <key>Label</key><string>com.ltcai</string>
288
+ <key>ProgramArguments</key><array><string>/usr/local/bin/LTCAI</string></array>
289
+ <key>RunAtLoad</key><true/>
290
+ <key>KeepAlive</key><true/>
291
+ <key>StandardOutPath</key><string>/tmp/ltcai.log</string>
292
+ <key>StandardErrorPath</key><string>/tmp/ltcai.err</string>
293
+ </dict>
294
+ </plist>
295
+ EOF
296
+ launchctl load ~/Library/LaunchAgents/com.ltcai.plist
297
+ ```
249
298
 
250
- ---
299
+ </details>
251
300
 
252
- ## πŸ—‚οΈ API Reference
301
+ <details>
302
+ <summary><b>API Reference</b></summary>
253
303
 
254
304
  | Method | Path | Description |
255
305
  |--------|------|-------------|
@@ -258,59 +308,50 @@ Report vulnerabilities: [SECURITY.md](SECURITY.md)
258
308
  | POST | `/models/load` | Load a model |
259
309
  | POST | `/chat` | Chat (`stream=true/false`) |
260
310
  | POST | `/agent` | Multi-step file agent |
311
+ | GET | `/knowledge-graph/stats` | Graph statistics |
312
+ | GET | `/knowledge-graph/search?q=` | Search the knowledge graph |
313
+ | GET | `/knowledge-graph/local/roots` | Discover local drives & folders |
314
+ | POST | `/knowledge-graph/local/audit` | Audit a folder before indexing |
315
+ | POST | `/knowledge-graph/local/index` | Index a folder into Graph RAG |
261
316
  | GET | `/mcp/installed` | Installed MCP servers |
262
- | POST | `/mcp/install` | Install MCP server |
317
+ | POST | `/mcp/install` | Install MCP server (admin) |
263
318
  | GET | `/skills/marketplace` | Skills marketplace |
264
- | POST | `/skills/install` | Install a skill |
265
- | GET | `/plugins/directory` | Plugin directory |
266
- | GET | `/admin/audit` | Admin audit report with per-user usage and recent events |
267
- | GET | `/admin/sensitivity` | Security monitoring report for risky/compliant fields |
268
- | GET/PATCH | `/admin/sso` | Okta / Entra ID OIDC configuration |
269
- | GET | `/permissions/pending` | Pending file-access approvals (admin) |
270
- | POST | `/permissions/approve/{token}` | Approve file access (admin) |
319
+ | POST | `/skills/install` | Install a skill (admin) |
320
+ | GET | `/admin/audit` | Audit report |
321
+ | GET | `/permissions/pending` | Pending file-access approvals |
271
322
 
272
323
  Full reference: [docs/mcp-tools.md](docs/mcp-tools.md)
273
324
 
274
- ---
325
+ </details>
275
326
 
276
- ## πŸ”§ Troubleshooting
327
+ <details>
328
+ <summary><b>Troubleshooting</b></summary>
329
+
330
+ | Symptom | Fix |
331
+ |---------|-----|
332
+ | Port 4825 in use | `lsof -i :4825` β†’ `kill <PID>` or `LTCAI --port 4826` |
333
+ | `ModuleNotFoundError: mlx` | `pip install "ltcai[local]"` (Apple Silicon only) |
334
+ | Python < 3.11 | Upgrade Python: `python3 --version` |
335
+ | No API key warning | `OPENAI_API_KEY=sk-... LTCAI` or set in admin panel |
336
+ | Can't reach from iPad | `LATTICEAI_HOST=0.0.0.0 LTCAI` or use `--tunnel` |
277
337
 
278
- | Symptom | Cause | Fix |
279
- |---------|-------|-----|
280
- | Port 4825 in use | Previous process | `lsof -i :4825` β†’ `kill <PID>` or `--port 4826` |
281
- | `ModuleNotFoundError: mlx` | MLX not installed | `pip install "ltcai[local]"` (Apple Silicon only) |
282
- | Python < 3.11 | Version mismatch | Upgrade: `python3 --version` |
283
- | `LTCAI doctor` OPTIONAL | Optional dep missing | Safe to ignore if feature not needed |
284
- | No API key warning | Cloud model not set | `OPENAI_API_KEY=sk-... LTCAI` or set in admin panel |
285
- | Can't reach from iPad | Default bind 127.0.0.1 | `LATTICEAI_HOST=0.0.0.0 LTCAI` or use `--tunnel` |
338
+ </details>
286
339
 
287
340
  ---
288
341
 
289
- ## πŸš€ Auto-start (Mac)
342
+ ## Platform Support
290
343
 
291
- ```bash
292
- cat > ~/Library/LaunchAgents/com.ltcai.plist << 'EOF'
293
- <?xml version="1.0" encoding="UTF-8"?>
294
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
295
- <plist version="1.0">
296
- <dict>
297
- <key>Label</key><string>com.ltcai</string>
298
- <key>ProgramArguments</key><array><string>/usr/local/bin/LTCAI</string></array>
299
- <key>RunAtLoad</key><true/>
300
- <key>KeepAlive</key><true/>
301
- <key>StandardOutPath</key><string>/tmp/ltcai.log</string>
302
- <key>StandardErrorPath</key><string>/tmp/ltcai.err</string>
303
- </dict>
304
- </plist>
305
- EOF
306
- launchctl load ~/Library/LaunchAgents/com.ltcai.plist
307
- ```
308
-
309
- Or: `./start_ai.sh` (auto-restart + caffeinate)
344
+ | Feature | macOS Apple Silicon | macOS Intel / Windows / Linux |
345
+ |---------|:---:|:---:|
346
+ | Web UI + cloud models | Yes | Yes |
347
+ | VS Code / Cursor extension | Yes | Yes |
348
+ | Telegram bot | Yes | Yes |
349
+ | MLX local models | Yes | -- |
350
+ | Ollama / LM Studio / vLLM | Yes | Yes |
310
351
 
311
352
  ---
312
353
 
313
- ## πŸ“¦ Distribution
354
+ ## Distribution
314
355
 
315
356
  | Channel | Link |
316
357
  |---------|------|
@@ -319,15 +360,15 @@ Or: `./start_ai.sh` (auto-restart + caffeinate)
319
360
  | VS Code Marketplace | [marketplace.visualstudio.com](https://marketplace.visualstudio.com/items?itemName=parktaesoo.ltcai) |
320
361
  | Open VSX | [open-vsx.org](https://open-vsx.org/extension/parktaesoo/ltcai) |
321
362
 
322
- Current version: **0.1.30** β€” [Changelog](docs/CHANGELOG.md)
363
+ Current version: **0.2.0** β€” [Changelog](docs/CHANGELOG.md)
323
364
 
324
365
  ---
325
366
 
326
- ## 🀝 Contributing
367
+ ## Contributing
327
368
 
328
369
  See [CONTRIBUTING.md](CONTRIBUTING.md). All PRs welcome.
329
370
 
330
- ## πŸ“„ License
371
+ ## License
331
372
 
332
373
  MIT β€” [TaeSoo Park](https://github.com/TaeSooPark-PTS)
333
374
 
@@ -336,9 +377,22 @@ MIT β€” [TaeSoo Park](https://github.com/TaeSooPark-PTS)
336
377
  <details>
337
378
  <summary>ν•œκ΅­μ–΄ μ•ˆλ‚΄ (Korean)</summary>
338
379
 
339
- ## ν•œκ΅­μ–΄ μ•ˆλ‚΄
380
+ ## Lattice AI
381
+
382
+ **λ‚΄ PC의 파일, λŒ€ν™”, ν”„λ‘œμ νŠΈλ₯Ό κΈ°μ–΅ν•˜κ³  μ—°κ²°ν•˜λŠ” 둜컬 AI μ›Œν¬μŠ€νŽ˜μ΄μŠ€**
340
383
 
341
- **Lattice AI**λŠ” 둜컬/ν΄λΌμš°λ“œ LLM을 μ›Ή UI Β· VS Code ν™•μž₯ Β· Telegram 봇 Β· MCP λ„κ΅¬λ‘œ ν•˜λ‚˜μ˜ μ„œλ²„μ—μ„œ μš΄μ˜ν•˜λŠ” 개인 AI μ›Œν¬μŠ€νŽ˜μ΄μŠ€μž…λ‹ˆλ‹€.
384
+ λŒ€λΆ€λΆ„μ˜ AI λ„κ΅¬λŠ” λŒ€ν™”κ°€ λλ‚˜λ©΄ λͺ¨λ“  것을 μžŠμŠ΅λ‹ˆλ‹€. Lattice AIλŠ” λ‹€λ¦…λ‹ˆλ‹€. 둜컬 νŒŒμΌμ„ 읽고, λŒ€ν™”λ₯Ό κΈ°λ‘ν•˜κ³ , μ‚¬λžŒΒ·ν”„λ‘œμ νŠΈΒ·κ°œλ…Β·λ¬Έμ„œλ₯Ό μ—°κ²°ν•˜λŠ” 지식 κ·Έλž˜ν”„λ₯Ό μžλ™μœΌλ‘œ λ§Œλ“­λ‹ˆλ‹€. λͺ¨λ“  λ°μ΄ν„°λŠ” λ‚΄ PCμ—λ§Œ μ €μž₯λ©λ‹ˆλ‹€.
385
+
386
+ ### 3λΆ„ μ‚¬μš© 흐름
387
+
388
+ ```
389
+ 1. μ„€μΉ˜ pip install ltcai && LTCAI
390
+ 2. ν•˜λ“œμ›¨μ–΄ 감지 CPU, GPU, RAM μžλ™ 감지 β†’ 졜적 둜컬 λͺ¨λΈ μΆ”μ²œ
391
+ 3. 폴더 μ—°κ²° 둜컬 폴더λ₯Ό μ„ νƒν•˜μ—¬ 지식 κ·Έλž˜ν”„μ— μ—°κ²°
392
+ 4. 지식 ꡬ좕 파일과 λŒ€ν™” μžλ™ 뢄석 β†’ 점(μ‚¬λžŒ, κ°œλ…, 파일) + μ„ (언급함, 포함함, μ˜μ‘΄ν•¨)
393
+ 5. 질문 "μ§€λ‚œμ£Ό 인증 λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ λ…Όμ˜ λ‚΄μš©μ€?" β†’ Graph RAGκ°€ μ»¨ν…μŠ€νŠΈ 검색
394
+ 6. μ–΄λ””μ„œλ“  μž‘μ—… μ›Ή UI Β· VS Code Β· Telegram Β· MCP β€” 같은 지식에 μ—°κ²°
395
+ ```
342
396
 
343
397
  ### μ„€μΉ˜
344
398
 
@@ -349,26 +403,21 @@ LTCAI # μ„œλ²„ μ‹€ν–‰ β†’ http://localhost:4825
349
403
  LTCAI --tunnel # + Cloudflare 곡개 URL μžλ™ λ°œκΈ‰
350
404
  ```
351
405
 
352
- ### μ£Όμš” κΈ°λŠ₯
406
+ ### 핡심 차별점
353
407
 
354
- - μ›Ή UI μ±„νŒ… + μ–΄λ“œλ―Ό λŒ€μ‹œλ³΄λ“œ + Data Graph μ‹œκ°ν™”
355
- - VS Code / Cursor ν™•μž₯ (`Cmd+Shift+A`)
356
- - Telegram 봇 연동
357
- - MCP λ ˆμ§€μŠ€νŠΈλ¦¬ & Skills λ§ˆμΌ“ν”Œλ ˆμ΄μŠ€
358
- - Graph RAG β€” μ±„νŒ…Β·λ¬Έμ„œλ₯Ό SQLite 지식 κ·Έλž˜ν”„λ‘œ μžλ™ ꡬ쑰화
359
- - λ©€ν‹° LLM νŒŒμ΄ν”„λΌμΈ (Plan β†’ Execute β†’ Review)
360
- - Human-in-the-loop μ—μ΄μ „νŠΈ 승인
361
- - 감사 둜그 & 데이터 κ±°λ²„λ„ŒμŠ€ λŒ€μ‹œλ³΄λ“œ, UTF-8 TXT/CSV/Excel μΆ”μΆœ
362
- - μ‚¬μš©μž/κΆŒν•œ/SSO/λ³΄μ•ˆ λͺ¨λ‹ˆν„°λ§μ΄ λΆ„λ¦¬λœ κ΄€λ¦¬μž ν™”λ©΄
363
- - ν…”λ ˆλ©”νŠΈλ¦¬ μ—†μŒ β€” λͺ¨λ“  데이터 둜컬 μ €μž₯
408
+ - **λ‚΄ 데이터가 AI의 기얡이 λœλ‹€** β€” μ±„νŒ…κ³Ό 파일이 μžλ™μœΌλ‘œ 지식 κ·Έλž˜ν”„λ‘œ ꡬ쑰화
409
+ - **둜컬 폴더λ₯Ό μ—°κ²°ν•˜λ©΄ ν”„λ‘œμ νŠΈ 전체λ₯Ό 이해** β€” 파일 λ³€κ²½ μ‹œ μ‹€μ‹œκ°„ μ—…λ°μ΄νŠΈ
410
+ - **λͺ¨λ“  λ°μ΄ν„°λŠ” λ‚΄ PC에** β€” `~/.ltcai/`에 μ €μž₯, ν…”λ ˆλ©”νŠΈλ¦¬ μ—†μŒ, μ™ΈλΆ€ 전솑 μ—†μŒ
411
+ - **μ„€μΉ˜ ν•œ 번으둜 μ–΄λ””μ„œλ“ ** β€” μ›Ή Β· VS Code Β· Telegram Β· MCP ν΄λΌμ΄μ–ΈνŠΈ
364
412
 
365
413
  ### μΆ”μ²œ 둜컬 λͺ¨λΈ (M-series Mac)
366
414
 
367
- | λͺ¨λΈ | μš©λ„ | 크기 |
368
- |------|------|------|
369
- | `mlx-community/gemma-4-26b-a4b-it-4bit` | λ²”μš© | ~14GB |
370
- | `mlx-community/Qwen2.5-Coder-32B-Instruct-4bit` | μ½”λ”© | ~18GB |
371
- | `mlx-community/DeepSeek-R1-0528-4bit` | μΆ”λ‘  | ~38GB |
415
+ | λͺ¨λΈ | μš©λ„ | 크기 | μ΅œμ†Œ RAM |
416
+ |------|------|------|----------|
417
+ | Qwen3-VL 4B | λ©€ν‹°λͺ¨λ‹¬ / 저사양 | ~2.7GB | 8GB |
418
+ | Qwen3-VL 8B | λ©€ν‹°λͺ¨λ‹¬ / κ· ν˜• μΆ”μ²œ | ~4.8GB | 16GB |
419
+ | Gemma 4 26B | λ©€ν‹°λͺ¨λ‹¬ / λŒ€ν˜• | ~15.6GB | 32GB |
420
+ | Qwen3-VL 30B A3B | λ©€ν‹°λͺ¨λ‹¬ / μ΅œκ³ κΈ‰ | ~18GB | 48GB |
372
421
 
373
422
  μžμ„Έν•œ λ‚΄μš©: [docs/CHANGELOG.md](docs/CHANGELOG.md) Β· [λ³΄μ•ˆ](SECURITY.md) Β· [κΈ°μ—¬](CONTRIBUTING.md)
374
423