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 +233 -184
- package/auto_setup.py +279 -55
- package/docs/CHANGELOG.md +69 -0
- package/knowledge_graph.py +1338 -3
- package/knowledge_graph_api.py +112 -0
- package/latticeai/__init__.py +1 -0
- package/latticeai/__pycache__/__init__.cpython-314.pyc +0 -0
- package/latticeai/api/__init__.py +1 -0
- package/latticeai/api/__pycache__/admin.cpython-314.pyc +0 -0
- package/latticeai/api/__pycache__/auth.cpython-314.pyc +0 -0
- package/latticeai/api/admin.py +187 -0
- package/latticeai/api/auth.py +233 -0
- package/latticeai/core/__init__.py +1 -0
- package/latticeai/core/__pycache__/__init__.cpython-314.pyc +0 -0
- package/latticeai/core/__pycache__/audit.cpython-314.pyc +0 -0
- package/latticeai/core/__pycache__/security.cpython-314.pyc +0 -0
- package/latticeai/core/__pycache__/sessions.cpython-314.pyc +0 -0
- package/latticeai/core/audit.py +245 -0
- package/latticeai/core/security.py +131 -0
- package/latticeai/core/sessions.py +72 -0
- package/llm_router.py +13 -7
- package/local_knowledge_api.py +319 -0
- package/package.json +5 -2
- package/requirements.txt +2 -1
- package/server.py +290 -901
- package/static/graph.html +7 -2
- package/static/lattice-reference.css +220 -0
- package/static/scripts/graph.js +305 -4
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>
|
|
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
|
[](https://pypi.org/project/ltcai/)
|
|
@@ -23,59 +21,62 @@
|
|
|
23
21
|
|
|
24
22
|
---
|
|
25
23
|
|
|
26
|
-
##
|
|
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
|
|
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
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
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
|
-
##
|
|
36
|
+
## 3-Minute Workflow
|
|
40
37
|
|
|
41
|
-
|
|
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
|
|
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>
|
|
56
|
+
<sub>Chat with local/cloud LLM, upload files, pipeline controls</sub>
|
|
49
57
|
</td>
|
|
50
58
|
<td align="center" width="33%">
|
|
51
|
-
<b
|
|
52
|
-
<img src="https://raw.githubusercontent.com/TaeSooPark-PTS/LatticeAI/main/docs/images/screenshot-
|
|
53
|
-
<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
|
|
57
|
-
<img src="https://raw.githubusercontent.com/TaeSooPark-PTS/LatticeAI/main/docs/images/screenshot-
|
|
58
|
-
<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
|
-
##
|
|
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
|
|
95
|
-
3.
|
|
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
|
-
|
|
99
|
+
---
|
|
100
100
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
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
|
-
##
|
|
129
|
+
## Comparison
|
|
109
130
|
|
|
110
|
-
|
|
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
|
-
|
|
|
117
|
-
|
|
|
118
|
-
|
|
|
119
|
-
|
|
|
120
|
-
|
|
|
121
|
-
|
|
|
122
|
-
|
|
|
123
|
-
|
|
|
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
|
-
##
|
|
149
|
+
## Supported Models
|
|
150
|
+
|
|
151
|
+
**Local (Apple Silicon MLX):**
|
|
128
152
|
|
|
129
|
-
|
|
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
|
-
|
|
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 Β·
|
|
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
|
-
|
|
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
|
-
| **
|
|
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 +
|
|
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
|
-
|
|
167
|
-
|
|
168
|
-
|
|
|
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
|
-
|
|
223
|
+
</details>
|
|
179
224
|
|
|
180
|
-
|
|
225
|
+
<details>
|
|
226
|
+
<summary><b>Security</b></summary>
|
|
181
227
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
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
|
-
|
|
187
|
-
OPENAI_API_KEY=sk-... LTCAI
|
|
240
|
+
Report vulnerabilities: [SECURITY.md](SECURITY.md)
|
|
188
241
|
|
|
189
|
-
|
|
190
|
-
LATTICEAI_MODE=local \
|
|
191
|
-
LATTICEAI_LOCAL_MODEL=mlx-community/gemma-4-26b-a4b-it-4bit \
|
|
192
|
-
LTCAI
|
|
193
|
-
```
|
|
242
|
+
</details>
|
|
194
243
|
|
|
195
|
-
|
|
244
|
+
<details>
|
|
245
|
+
<summary><b>Setup & Configuration</b></summary>
|
|
196
246
|
|
|
197
|
-
|
|
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
|
|
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
|
-
|
|
225
|
-
|
|
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
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
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
|
-
|
|
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 | `/
|
|
266
|
-
| GET | `/
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
342
|
+
## Platform Support
|
|
290
343
|
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
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
|
-
##
|
|
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.
|
|
363
|
+
Current version: **0.2.0** β [Changelog](docs/CHANGELOG.md)
|
|
323
364
|
|
|
324
365
|
---
|
|
325
366
|
|
|
326
|
-
##
|
|
367
|
+
## Contributing
|
|
327
368
|
|
|
328
369
|
See [CONTRIBUTING.md](CONTRIBUTING.md). All PRs welcome.
|
|
329
370
|
|
|
330
|
-
##
|
|
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
|
-
|
|
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
|
-
-
|
|
355
|
-
-
|
|
356
|
-
-
|
|
357
|
-
-
|
|
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
|
-
|
|
|
370
|
-
|
|
|
371
|
-
|
|
|
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
|
|