ltcai 2.1.0 → 2.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,661 +1,211 @@
1
- <div align="center">
2
- <img src="https://raw.githubusercontent.com/TaeSooPark-PTS/LatticeAI/main/docs/images/logo.svg" alt="Lattice AI" width="280"/>
3
- <br/>
4
- <strong>Lattice AI — Local-first Agentic Workspace Platform: plugins, visual workflows, multi-agent runs, and realtime activity over your graph, memory, skills, and timeline.</strong>
5
- <br/><br/>
6
-
7
- [![PyPI](https://img.shields.io/pypi/v/ltcai?label=PyPI&color=blue)](https://pypi.org/project/ltcai/)
8
- [![PyPI Downloads](https://img.shields.io/pypi/dm/ltcai?label=PyPI%20downloads)](https://pypi.org/project/ltcai/)
9
- [![npm](https://img.shields.io/npm/v/ltcai?label=npm)](https://www.npmjs.com/package/ltcai)
10
- [![VS Code](https://vsmarketplacebadges.dev/version-short/parktaesoo.ltcai.svg)](https://marketplace.visualstudio.com/items?itemName=parktaesoo.ltcai)
11
- [![Open VSX](https://img.shields.io/open-vsx/v/parktaesoo/ltcai?label=Open%20VSX)](https://open-vsx.org/extension/parktaesoo/ltcai)
12
- [![CI](https://github.com/TaeSooPark-PTS/LatticeAI/actions/workflows/ci.yml/badge.svg)](https://github.com/TaeSooPark-PTS/LatticeAI/actions/workflows/ci.yml)
13
- [![License: MIT](https://img.shields.io/badge/License-MIT-green)](./LICENSE)
14
- [![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue)](https://www.python.org/)
15
-
16
- <br/>
17
-
18
- <img src="docs/images/hero.gif" alt="Lattice AI — AI Workspace OS for local-first graph, memory, and agents" width="100%"/>
19
- </div>
1
+ # Lattice AI
20
2
 
21
- ---
22
-
23
- ## What is Lattice AI?
24
-
25
- Most AI tools answer one chat at a time. They do not remember your folders, your project history, your previous decisions, or how your files relate to each other.
26
-
27
- **Lattice AI turns your local workspace into a Local-first Agentic Workspace Platform.**
28
-
29
- It reads approved local folders, indexes chats and documents, builds a searchable knowledge graph, and connects the graph to snapshots, personal memory, agent runs, workflow history, skills, and an auditable timeline.
3
+ Lattice AI is an **AI Knowledge OS** for personal and organization workspaces.
4
+ It is not a simple chat app, local LLM launcher, or model manager.
30
5
 
31
- ```text
32
- Local files + chats + folders
33
-
34
- Automatic knowledge graph
35
-
36
- Graph-aware chat, snapshots, memory, agents, workflows, skills, and timeline
37
- ```
38
-
39
- ## Why Lattice AI?
6
+ Lattice AI turns files, documents, images, screenshots, conversations,
7
+ decisions, notes, work history, and generated artifacts into knowledge. That
8
+ knowledge is linked into a Knowledge Graph, and AI works on top of the graph to
9
+ advise, analyze, generate documents, and automate work.
40
10
 
41
- - **Local-first by default** models, data, and your knowledge graph stay on your machine (`~/.ltcai/`); cloud is strictly opt-in.
42
- - **Memory that compounds** — every chat, file, and folder you approve becomes durable, searchable context instead of being forgotten.
43
- - **A graph, not a pile of files** — people, projects, documents, decisions, and tasks are linked automatically and explored visually.
44
- - **One workspace, everywhere** — the same local knowledge powers the web UI, VS Code / Cursor, Telegram, and MCP clients.
45
- - **Built-in governance** — Personal and Organization workspaces, roles, an audit timeline, and sensitive-data monitoring for teams.
11
+ The product rule for v2.2.0 is direct:
46
12
 
47
- ## Core Capabilities
13
+ > Do not control the user in the name of protection. Explain clearly, disclose
14
+ > sources and risks, then let the user decide.
48
15
 
49
- | Capability | What it does |
50
- |---|---|
51
- | 🧠 Automatic knowledge graph | Turns chats, files, and folders into linked nodes and edges, curated automatically |
52
- | 💬 Graph-aware chat & agents | Answers and multi-step agents grounded in your indexed local memory |
53
- | 🖥️ Local model recommendation | Scans your hardware and rates each model **Recommended / Compatible / Not Recommended** |
54
- | 🗂️ Workspaces & roles | Personal and Organization workspaces with owner / admin / member / viewer permissions |
55
- | 🧩 Skills & MCP | Install skills and connect MCP tools from the in-product marketplace |
56
- | 🔒 Admin & security | Audit timeline, permission approvals, sensitive-data detection, exportable reports |
16
+ ## Current release
57
17
 
58
- <div align="center">
59
- <img src="docs/images/onboarding.png" alt="Onboarding flow: install, system scan, model recommendation, workspace, indexing, knowledge graph, first chat" width="100%"/>
60
- </div>
18
+ **2.2.0 — Multimodal-First Knowledge OS Release.** Lattice AI now centers the
19
+ product on a multimodal Knowledge Graph, Gemma-4-first recommendations, source
20
+ disclosure, and equal feature access across basic and advanced modes. Admin mode
21
+ is the only mode with additional authority.
61
22
 
62
23
  ---
63
24
 
64
- ## Quick Start
25
+ ## What Lattice AI Does
65
26
 
66
- ### Python / PyPI
27
+ - Accepts PDFs, Word files, spreadsheets, slide decks, images, screenshots,
28
+ notes, code, web content, conversations, and work logs without asking the user
29
+ to pre-convert them.
30
+ - Extracts entities, relationships, evidence, decisions, and artifacts into the
31
+ Knowledge Graph.
32
+ - Uses AI models as replaceable workers on top of the graph.
33
+ - Recommends current-generation multimodal models based on CPU, GPU, RAM,
34
+ storage, OS, and observed usage.
35
+ - Shows every model's source facts before use:
36
+ 1. 제작 국가
37
+ 2. 제작 회사
38
+ 3. 실행 방식
39
+ 4. 인터넷 사용 여부
40
+ 5. 모델명
41
+ - Keeps text-only local model recommendations out of the product path.
67
42
 
68
- ```bash
69
- pip install ltcai
70
- LTCAI
71
- # open http://localhost:4825
72
- ```
43
+ ## Core Principles
73
44
 
74
- ### Apple Silicon local models
45
+ - Users should not work for AI. AI should work for users.
46
+ - Do not hide features, sources, limitations, or risks.
47
+ - Basic and advanced modes expose the same capabilities.
48
+ - Basic mode explains in plain language.
49
+ - Advanced mode shows deeper technical reasoning.
50
+ - Admin mode is reserved for user management, permissions, audit logs,
51
+ organization policy, security policy, model approval, and Private VPC.
52
+ - Knowledge Graph durability matters more than any single model.
53
+ - Old model generations are removed when a newer generation in the same family
54
+ is available.
75
55
 
76
- ```bash
77
- pip install "ltcai[local]"
78
- LTCAI
79
- ```
56
+ ## Multimodal Model Policy
80
57
 
81
- ### Node / npm
58
+ Lattice AI v2.2.0 removes the old text-only recommendation path.
82
59
 
83
- ```bash
84
- npm install -g ltcai
85
- LTCAI
86
- ```
60
+ Current local recommendations focus on:
87
61
 
88
- ### VS Code / Cursor
62
+ | Family | Default role | Example current recommendation |
63
+ | --- | --- | --- |
64
+ | Gemma 4 | Default Google multimodal family | `mlx-community/gemma-4-12b-it-4bit` |
65
+ | Gemma 4 large | Higher-quality local multimodal work | `mlx-community/gemma-4-31b-it-4bit` |
66
+ | Qwen3-VL | Smaller and balanced multimodal options | `mlx-community/Qwen3-VL-4B-Instruct-4bit` |
67
+ | Llama 4 | Meta multimodal option | `mlx-community/Llama-4-Scout-17B-16E-Instruct-4bit` |
89
68
 
90
- 1. Install **Lattice AI** from the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=parktaesoo.ltcai) or [Open VSX](https://open-vsx.org/extension/parktaesoo/ltcai)
91
- 2. Start the local server with `LTCAI`
92
- 3. Press `Cmd+Shift+A` to open the chat panel
69
+ Removed from current recommendation catalogs:
93
70
 
94
- **First run:** create an account -> the first account becomes admin -> open `/workspace` -> complete onboarding -> choose a model -> connect folders -> start asking questions.
71
+ - `mlx-lm` as a local text-only execution path
72
+ - Gemma 2 and Gemma 3 recommendations
73
+ - Qwen2.5-VL recommendations
74
+ - SmolLM, Phi, Mistral, DeepSeek, GPT-OSS, and Llama 3.x local recommendation
75
+ entries
76
+ - text-only fallback logic for low-spec machines
95
77
 
96
- ---
78
+ Low-spec machines are handled with smaller or quantized multimodal models,
79
+ not older text-only models.
97
80
 
98
- ## The 3-minute workflow
81
+ ## Knowledge Graph Flow
99
82
 
100
83
  ```text
101
- 1. Install
102
- pip install ltcai && LTCAI
103
-
104
- 2. Detect hardware
105
- CPU, GPU, RAM are detected and a suitable local model is recommended.
106
-
107
- 3. Connect folders
108
- Pick the local folders you want Lattice AI to index.
109
-
110
- 4. Build knowledge
111
- Files and chats become nodes and edges in a local knowledge graph.
112
-
113
- 5. Ask questions
114
- “What did I decide about the auth migration last week?”
115
-
116
- 6. Keep working
117
- Use the same local knowledge from the web UI, VS Code, Telegram, or MCP clients.
84
+ files / documents / images / conversations / work history
85
+ -> multimodal understanding
86
+ -> entity extraction
87
+ -> relationship extraction
88
+ -> evidence storage
89
+ -> Knowledge Graph update
90
+ -> advice / analysis / document generation / automation
118
91
  ```
119
92
 
120
- ---
121
-
122
- ## Architecture
123
-
124
- `server:app` stays a thin compatibility entrypoint; the FastAPI app is assembled in
125
- `latticeai/server_app.py`, and the work lives in focused API routers, a service
126
- layer, and core modules — so the app shell never grows monolithic again.
127
-
128
- <div align="center">
129
- <img src="docs/images/architecture.png" alt="Lattice AI architecture — entrypoint, API routers, services, core, local engines and knowledge graph" width="100%"/>
130
- </div>
131
-
132
- See [docs/architecture.md](docs/architecture.md) for request and data-flow detail.
133
-
134
- ---
135
-
136
- ## Product Preview
137
-
138
- <table>
139
- <tr>
140
- <td align="center" width="33%">
141
- <b>Workspace Chat</b><br/>
142
- <img src="https://raw.githubusercontent.com/TaeSooPark-PTS/LatticeAI/main/docs/images/screenshot-chat.png" alt="Lattice AI workspace chat" width="100%"/>
143
- <sub>Chat with local/cloud models, upload files, and control pipelines.</sub>
144
- </td>
145
- <td align="center" width="33%">
146
- <b>Knowledge Graph</b><br/>
147
- <img src="https://raw.githubusercontent.com/TaeSooPark-PTS/LatticeAI/main/docs/images/screenshot-graph.png" alt="Lattice AI knowledge graph" width="100%"/>
148
- <sub>Automatically built from chats, files, folders, and project context.</sub>
149
- </td>
150
- <td align="center" width="33%">
151
- <b>Admin Dashboard</b><br/>
152
- <img src="https://raw.githubusercontent.com/TaeSooPark-PTS/LatticeAI/main/docs/images/screenshot-admin.png" alt="Lattice AI admin dashboard" width="100%"/>
153
- <sub>User management, audit logs, permissions, and security monitoring.</sub>
154
- </td>
155
- </tr>
156
- </table>
157
-
158
- > Every image in this section is a **real screenshot** of the running app
159
- > (Lattice AI v2.0.0), captured with a headless browser.
160
-
161
- ---
162
-
163
- ## Product Experience
164
-
165
- ### Onboard in minutes
166
-
167
- A first run detects your OS, CPU, GPU, RAM, and disk, then recommends a local
168
- model and rates every option **Recommended**, **Compatible**, or **Not
169
- Recommended** for your machine — grouped by family (Gemma, Qwen, Llama, Phi,
170
- DeepSeek, and more), with estimated RAM and a clear next step.
171
-
172
- <div align="center">
173
- <img src="docs/images/onboarding.png" alt="Onboarding hardware scan: OS, CPU, GPU, RAM, disk, runtime" width="49%"/>
174
- <img src="docs/images/model-recommendation.png" alt="Local model recommendation with best-pick callout and per-family status" width="49%"/>
175
- </div>
176
-
177
- ### Workspaces & organization
178
-
179
- A **Current Workspace** card shows exactly where you are; switch instantly
180
- between a **Personal** workspace and shared **Organization** workspaces. Org data
181
- is scoped by `workspace_id`, and `owner / admin / member / viewer` roles map to a
182
- transparent permission matrix with member management. A Workspace Health panel
183
- summarizes indexed files, graph size, installed skills, memories, agent runs,
184
- current model, last sync time, and status at a glance.
185
-
186
- <div align="center">
187
- <img src="docs/images/workspace.png" alt="Current Workspace summary card with scoped counts" width="100%"/>
188
- <img src="docs/images/organization.png" alt="Organization workspace with members and roles" width="100%"/>
189
- </div>
190
-
191
- ### Knowledge graph explorer
192
-
193
- Your work becomes a typed knowledge graph automatically. The Entity Explorer
194
- surfaces the most important entities and, on selection, their inbound/outbound
195
- relationships, related entities, and a path back to you.
196
-
197
- <div align="center">
198
- <img src="docs/images/graph.png" alt="Knowledge graph entity explorer with relationship detail" width="100%"/>
199
- </div>
200
-
201
- The Graph Canvas also supports node expand/collapse, focused subgraphs,
202
- relationship highlighting, shortest-path visualization, and direct navigation
203
- back into source conversations or files.
204
-
205
- ### Skills & editions
206
-
207
- Browse and install skills from an in-product marketplace; an honest editions
208
- panel shows that every Enterprise capability is an opt-in extension point,
209
- disabled in the open-source Community build.
210
-
211
- <div align="center">
212
- <img src="docs/images/skills.png" alt="Skill marketplace tabs: recommended, popular, installed, updates" width="49%"/>
213
- <img src="docs/images/enterprise.png" alt="Enterprise capability status panel — all disabled in Community" width="49%"/>
214
- </div>
215
-
216
- ---
217
-
218
- ## Why it is different
219
-
220
- | Problem | Lattice AI approach |
221
- |---|---|
222
- | AI forgets every conversation | Chats and files are indexed into persistent local memory |
223
- | Files are scattered across folders | Approved folders become searchable graph context |
224
- | Local model setup is confusing | Hardware detection recommends and loads a suitable model |
225
- | Graph tools require manual node editing | Nodes and edges are created automatically from real work |
226
- | Cloud AI may expose private data | Local models keep data on your machine; cloud is opt-in |
227
- | Teams need visibility | Admin dashboard, audit logs, role controls, and sensitive-data monitoring |
228
-
229
- ---
230
-
231
- ## Core Features
232
-
233
- ### Local-first AI workspace
234
-
235
- - Web UI running from a local server
236
- - Local SQLite storage under `~/.ltcai/`
237
- - Local folder indexing with explicit approval
238
- - File upload, chat history, graph search, and document generation
239
- - Optional cloud providers when you choose to use them
240
-
241
- ### Automatic knowledge graph
242
-
243
- Lattice AI turns your work into structure automatically.
244
-
245
- **Nodes** can represent:
246
-
247
- | Node type | Examples |
248
- |---|---|
249
- | Document | PDF, DOCX, PPTX, XLSX, Markdown, code files |
250
- | Concept | technologies, project names, ideas, architecture topics |
251
- | Person | you, teammates, mentioned people |
252
- | Chat | previous conversations and sessions |
253
- | Task | TODOs, action items, follow-ups |
254
- | Decision | choices made during discussions |
255
-
256
- **Edges** describe relationships such as:
257
-
258
- `mentions` · `contains` · `depends on` · `explains` · `uses` · `replaces` · `supports` · `related to`
259
-
260
- The graph is curated automatically: noisy tokens, file extensions, generic words, and hard secrets are filtered before promotion.
261
-
262
- ### Model loading that users can trust
263
-
264
- Lattice AI keeps model identity consistent across recommendation, download, load, backend router state, and frontend display.
265
-
266
- - unified model resolution
267
- - local model smoke test after load
268
- - `ok` / `degraded` / `failed` compatibility status
269
- - per-family compatibility profiles for GPT-OSS, Gemma, Qwen, Llama, Mistral, Phi, Deepseek, and more
270
- - fast post-processing path during normal chat
271
- - recovery path only when output looks broken
272
-
273
- ### Admin and security command center
274
-
275
- For team or organization usage, Lattice AI includes admin-facing controls:
276
-
277
- - user management and roles
278
- - permission approvals for local file access
279
- - audit event timeline
280
- - sensitive chat/file detection
281
- - risk overview by user
282
- - raw data explorer with hard-secret redaction
283
- - export to JSON, CSV, XLSX, TXT, or PDF
284
-
285
- Hard secrets such as API keys, tokens, passwords, private keys, and common cloud credentials are redacted from security responses.
286
-
287
- ---
288
-
289
- ## Supported Models
290
-
291
- ### Local on Apple Silicon MLX
292
-
293
- | Model | Best for | Approx. size | Suggested RAM |
294
- |---|---|---:|---:|
295
- | Qwen3-VL 4B | Multimodal / low spec | ~2.7 GB | 8 GB |
296
- | Qwen3-VL 8B | Multimodal / balanced | ~4.8 GB | 16 GB |
297
- | GPT-OSS 20B | Reasoning / open-weight | ~12.1 GB | 32 GB |
298
- | Gemma 4 26B | Multimodal / large | ~15.6 GB | 32 GB |
299
- | Gemma 4 31B | Multimodal / latest Gemma 4 | ~18.4 GB | 48 GB |
300
- | Qwen3-VL 30B A3B | Multimodal / top local | ~18 GB | 48 GB |
301
- | GPT-OSS 120B | Large reasoning model | ~62.3 GB | 128 GB |
302
- | Phi 4 Mini | Fast coding/general chat | ~2.2 GB | 8 GB |
303
- | Llama 3.1 8B | General chat | ~4.7 GB | 8 GB |
304
- | Mistral 7B v0.3 | General / Apache | ~4.1 GB | 8 GB |
93
+ The graph preserves the user's work memory even when the model changes.
305
94
 
306
- ### Cross-platform engines
307
-
308
- Lattice AI can also work with models served by:
309
-
310
- - Ollama
311
- - LM Studio
312
- - llama.cpp
313
- - vLLM
314
- - OpenAI-compatible local or remote endpoints
315
-
316
- ### Cloud providers
317
-
318
- Cloud models are optional. When enabled, prompts are sent to the selected provider.
319
-
320
- Supported routes include OpenAI-compatible APIs, OpenRouter, Groq, Together, xAI, and other compatible endpoints.
321
-
322
- ---
323
-
324
- ## Privacy and data storage
325
-
326
- | Area | Default behavior |
327
- |---|---|
328
- | Storage | Data is stored locally under `~/.ltcai/` |
329
- | Default binding | `127.0.0.1:4825` local server |
330
- | Telemetry | No built-in product telemetry by default |
331
- | Folder access | Explicit approval per folder/action scope |
332
- | Sensitive files | `.env`, credentials, keys, certificates, and similar files are auto-excluded |
333
- | Cloud models | Off unless configured; cloud prompts go to the selected provider |
334
- | Delete controls | Remove chats, graph nodes, indexed folders, and local data |
335
-
336
- ---
337
-
338
- ## Comparison
339
-
340
- | Capability | Lattice AI | Open WebUI | Continue.dev | GitHub Copilot |
341
- |---|:---:|:---:|:---:|:---:|
342
- | Local model workflow | Yes | Yes | Yes | No |
343
- | Local folder indexing | Yes | Limited | Workspace-focused | Limited |
344
- | Automatic knowledge graph | Yes | No | No | No |
345
- | Chat + file memory | Yes | Partial | Partial | Partial |
346
- | VS Code / Cursor extension | Yes | No | Yes | Yes |
347
- | Admin dashboard | Yes | Yes | No | No |
348
- | Security audit exports | Yes | Limited | No | No |
349
- | Optional cloud models | Yes | Yes | Yes | Yes |
350
- | Local-first by default | Yes | Self-hosted | Local/dev focused | No |
351
-
352
- ---
353
-
354
- ## Current release
355
-
356
- **2.1.0 — Agent Platform Maturity Release.** Lattice AI operationalizes the
357
- v2.0 platform without replacing it: agent handoff, context packets, review/retry,
358
- planning, memory, replay, marketplace templates, and realtime execution
359
- observability are now first-class and still additive.
360
-
361
- - **Agent handoff + context packets** — handoffs now carry `handoff_id`,
362
- source/target agent ids, reason, status, timestamps, and safe structured
363
- context packets for replayable role transfer.
364
- - **Review / retry loops** — Planner -> Executor -> Reviewer records plan
365
- review, reviewer notes, retry history, retry limits, and failure propagation.
366
- - **Timeline / replay** — agent and workflow runs expose replay frames showing
367
- who acted, when, why, input, output, and decisions.
368
- - **Agent memory + planning** — short-term, workspace, and long-term memory
369
- kinds are supported with workspace-scoped snapshots; plans are persisted with
370
- run history and plan-review metadata.
371
- - **Workflow / agent / plugin hardening** — plugin outputs enter agent context,
372
- agent outputs enter workflow outputs, and plugin/workflow/agent failures emit
373
- observable execution events.
374
- - **Marketplace foundation** — local Plugin, Workflow, and Agent templates have
375
- metadata, export/import, install hooks, and a registry. No cloud marketplace
376
- service is introduced.
377
- - **Realtime execution observability** — existing SSE feed now emits agent,
378
- handoff, review, retry, workflow, plugin, and execution failure events.
379
- - **Compatibility preserved** — API schemas, `server:app`,
380
- `latticeai.server_app.app`, CLI, MCP, model, workspace, chat, KG, existing
381
- skills/snapshots/memories/agent history, and the VS Code extension remain
382
- backward compatible. Changes are additive; no destructive migrations.
383
-
384
- | Version | Theme |
385
- |---|---|
386
- | **2.1.0** | Agent Platform Maturity Release (handoff, context packets, review/retry, replay, memory, planning, marketplace foundation) |
387
- | 2.0.0 | Agentic Workspace Platform (Plugin SDK, Workflow Designer, Multi-Agent Runtime, Realtime) |
388
- | 1.7.0 | Graph & Collaboration Release |
389
- | 1.6.0 | Product Experience Deepening (UX + real screenshots) |
390
- | 1.5.0 | Unified Product Release (CI/VSIX recovery, model recommendation, Enterprise PoC) |
391
- | 1.4.0 | Server App final decomposition |
392
- | 1.1.0–1.3.0 | Organization workspaces, modularization, route safety net |
393
-
394
- See the full [changelog](docs/CHANGELOG.md) and [RELEASE.md](RELEASE.md).
395
-
396
- ---
397
-
398
- <details>
399
- <summary><b>All Features</b></summary>
400
-
401
- ### Core experience
402
-
403
- | Feature | Description |
404
- |---|---|
405
- | Web UI | Chat, file upload, model picker, graph view, admin pages |
406
- | Auto setup wizard | Detect hardware, recommend model, install dependencies, verify load |
407
- | Graph RAG | Retrieve context from indexed chats, files, and graph relationships |
408
- | Local folder indexing | Browse, audit, approve, index, and optionally watch folders |
409
- | Document generation | Use graph context to generate reports, summaries, and structured drafts |
410
-
411
- ### Developer tools
412
-
413
- | Feature | Description |
414
- |---|---|
415
- | VS Code / Cursor | Chat panel, edit selection, explain code, generate code |
416
- | Multi-step agent | File edit/create, grep, todo, and terminal workflow with human-in-the-loop |
417
- | Multi-LLM pipeline | Plan, execute, and review with different models |
418
- | MCP server | Expose Lattice tools to MCP-compatible clients |
419
- | MCP registry | Install MCP servers from supported registries |
420
- | Skills browser | Browse and install optional skills |
421
- | Plugin browser | Browse compatible open-source plugins |
422
-
423
- ### Access and communication
424
-
425
- | Feature | Description |
426
- |---|---|
427
- | Telegram bot | Chat, upload files, and manage models remotely |
428
- | PWA | Install the web UI on mobile/tablet home screens |
429
- | Public tunnel | `LTCAI --tunnel` for a temporary Cloudflare HTTPS URL |
430
-
431
- ### Administration
432
-
433
- | Feature | Description |
434
- |---|---|
435
- | User management | Roles, permissions, account enable/disable |
436
- | SSO | Entra ID / Okta OIDC configuration |
437
- | Audit dashboard | AI usage, sensitive-data events, file access, exports |
438
- | Security monitoring | Rate limits, approval logs, raw explorer, redaction |
439
-
440
- </details>
441
-
442
- <details>
443
- <summary><b>Security</b></summary>
444
-
445
- | Property | Detail |
446
- |---|---|
447
- | Binding | Default `127.0.0.1:4825` local only |
448
- | Auth | Session required when network-exposed or public mode |
449
- | Cookies | `HttpOnly + SameSite=Lax`; no localStorage token |
450
- | Local file access | Approval-token gated by path, user, and action scope |
451
- | Package install | Admin-only with audit trail for MCP, skills, pip, npm |
452
- | CORS | Localhost only by default; configurable via `LATTICEAI_CORS_ALLOWED_ORIGINS` |
453
- | File upload | Magic-number signature checks for extension spoofing defense |
454
- | Rate limits | `/chat` 30/min · `/agent` 6/min · `/upload` 12/min per user |
455
- | Telemetry | No built-in product telemetry by default |
456
-
457
- Report vulnerabilities in [SECURITY.md](SECURITY.md).
458
-
459
- </details>
460
-
461
- <details>
462
- <summary><b>Setup & Configuration</b></summary>
463
-
464
- ### VS Code shortcuts
465
-
466
- | Shortcut | Action |
467
- |---|---|
468
- | `Cmd+Shift+A` | Open chat |
469
- | `Cmd+Shift+E` | Edit selected code |
470
- | `Cmd+Shift+M` | Load or switch model |
471
- | Right-click | Explain / Save to Knowledge Garden |
472
-
473
- ### Telegram bot
95
+ ## Quick Start
474
96
 
475
97
  ```bash
476
- LATTICEAI_TELEGRAM_BOT_TOKEN=your-token LTCAI
98
+ npm install
99
+ npm run dev
477
100
  ```
478
101
 
479
- ### Public server
102
+ Then open:
480
103
 
481
- ```bash
482
- LATTICEAI_MODE=public \
483
- LATTICEAI_PUBLIC_MODEL=openai:gpt-4o-mini \
484
- OPENAI_API_KEY=sk-... \
485
- LATTICEAI_INVITE_CODE=my-secret \
486
- LTCAI
104
+ ```text
105
+ http://127.0.0.1:4825
487
106
  ```
488
107
 
489
- ### Public tunnel
108
+ Useful commands:
490
109
 
491
110
  ```bash
492
- LTCAI --tunnel
493
- # https://xxxx.trycloudflare.com
111
+ npm test
112
+ npm run check:python
113
+ npm run build
494
114
  ```
495
115
 
496
- ### Auto-start on macOS
116
+ VS Code extension:
497
117
 
498
118
  ```bash
499
- cat > ~/Library/LaunchAgents/com.ltcai.plist << 'EOF'
500
- <?xml version="1.0" encoding="UTF-8"?>
501
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
502
- <plist version="1.0">
503
- <dict>
504
- <key>Label</key><string>com.ltcai</string>
505
- <key>ProgramArguments</key><array><string>/usr/local/bin/LTCAI</string></array>
506
- <key>RunAtLoad</key><true/>
507
- <key>KeepAlive</key><true/>
508
- <key>StandardOutPath</key><string>/tmp/ltcai.log</string>
509
- <key>StandardErrorPath</key><string>/tmp/ltcai.err</string>
510
- </dict>
511
- </plist>
512
- EOF
513
- launchctl load ~/Library/LaunchAgents/com.ltcai.plist
119
+ cd vscode-extension
120
+ npm install
121
+ npm run build
122
+ npm run package:vsix
514
123
  ```
515
124
 
516
- </details>
517
-
518
- <details>
519
- <summary><b>API Reference</b></summary>
520
-
521
- | Method | Path | Description |
522
- |---|---|---|
523
- | GET | `/health` | Server status and current model |
524
- | GET | `/models` | Model list and load state |
525
- | POST | `/models/load` | Load a model |
526
- | POST | `/chat` | Chat with streaming or non-streaming output |
527
- | POST | `/agent` | Multi-step file agent |
528
- | GET | `/knowledge-graph/stats` | Graph statistics |
529
- | GET | `/knowledge-graph/search?q=` | Search the knowledge graph |
530
- | GET | `/knowledge-graph/local/roots` | Discover local drives and folders |
531
- | POST | `/knowledge-graph/local/audit` | Audit a folder before indexing |
532
- | POST | `/knowledge-graph/local/index` | Index a folder into Graph RAG |
533
- | GET | `/mcp/installed` | Installed MCP servers |
534
- | POST | `/mcp/install` | Install MCP server as admin |
535
- | GET | `/skills/marketplace` | Skills marketplace |
536
- | POST | `/skills/install` | Install a skill as admin |
537
- | GET | `/admin/audit` | Audit report |
538
- | GET | `/permissions/pending` | Pending file-access approvals |
539
-
540
- Full reference: [docs/mcp-tools.md](docs/mcp-tools.md)
541
-
542
- </details>
543
-
544
- <details>
545
- <summary><b>Troubleshooting</b></summary>
546
-
547
- | Symptom | Fix |
548
- |---|---|
549
- | Port 4825 is already in use | `lsof -i :4825` then `kill <PID>`, or run `LTCAI --port 4826` |
550
- | `ModuleNotFoundError: mlx` | Install local extras with `pip install "ltcai[local]"` on Apple Silicon |
551
- | Python version is too old | Use Python 3.11 or newer |
552
- | No API key warning | Set a provider key or use a local model |
553
- | Cannot reach from iPad | Use `LATTICEAI_HOST=0.0.0.0 LTCAI` or `LTCAI --tunnel` |
554
- | Model loads but chat looks broken | Check compatibility status; try another engine or model family |
555
-
556
- </details>
557
-
558
- ---
559
-
560
- ## Platform Support
561
-
562
- | Feature | macOS Apple Silicon | macOS Intel / Windows / Linux |
563
- |---|:---:|:---:|
564
- | Web UI + cloud models | Yes | Yes |
565
- | VS Code / Cursor extension | Yes | Yes |
566
- | Telegram bot | Yes | Yes |
567
- | MLX local models | Yes | No |
568
- | Ollama / LM Studio / vLLM / llama.cpp | Yes | Yes |
569
-
570
- ---
571
-
572
- ## Distribution
125
+ ## Python Package
573
126
 
574
- | Channel | Link |
575
- |---|---|
576
- | PyPI | [pypi.org/project/ltcai](https://pypi.org/project/ltcai/) |
577
- | npm | [npmjs.com/package/ltcai](https://www.npmjs.com/package/ltcai) |
578
- | VS Code Marketplace | [marketplace.visualstudio.com](https://marketplace.visualstudio.com/items?itemName=parktaesoo.ltcai) |
579
- | Open VSX | [open-vsx.org](https://open-vsx.org/extension/parktaesoo/ltcai) |
127
+ ```bash
128
+ python3 -m build
129
+ ```
580
130
 
581
- ---
131
+ Expected v2.2.0 Python artifacts:
582
132
 
583
- ## Documentation
133
+ ```text
134
+ dist/ltcai-2.2.0-py3-none-any.whl
135
+ dist/ltcai-2.2.0.tar.gz
136
+ ```
584
137
 
585
- | Doc | What's inside |
586
- |---|---|
587
- | [docs/architecture.md](docs/architecture.md) | App structure, request and data flow |
588
- | [docs/CHANGELOG.md](docs/CHANGELOG.md) | Full version history |
589
- | [RELEASE.md](RELEASE.md) | Release notes and the build/publish checklist |
590
- | [SECURITY.md](SECURITY.md) | Security model and vulnerability reporting |
591
- | [docs/ENTERPRISE.md](docs/ENTERPRISE.md) · [docs/EDITION_STRATEGY.md](docs/EDITION_STRATEGY.md) | Open-core boundary and edition strategy |
592
- | [docs/kg-schema.md](docs/kg-schema.md) · [docs/mcp-tools.md](docs/mcp-tools.md) | Knowledge graph schema and MCP tool catalog |
593
- | [docs/privacy.md](docs/privacy.md) · [docs/public-deploy.md](docs/public-deploy.md) · [docs/OPERATIONS.md](docs/OPERATIONS.md) | Privacy, public deployment, operations |
138
+ ## VS Code Package
594
139
 
595
- ---
140
+ ```bash
141
+ cd vscode-extension
142
+ npm run build
143
+ npm run package:vsix
144
+ ```
596
145
 
597
- ## Contributing
146
+ Expected v2.2.0 VSIX artifact:
598
147
 
599
- See [CONTRIBUTING.md](CONTRIBUTING.md). Issues and pull requests are welcome.
148
+ ```text
149
+ dist/ltcai-2.2.0.vsix
150
+ ```
600
151
 
601
- ## License
152
+ ## npm Package
602
153
 
603
- MIT — [TaeSoo Park](https://github.com/TaeSooPark-PTS)
154
+ ```bash
155
+ npm pack
156
+ ```
604
157
 
605
- ---
158
+ Expected v2.2.0 npm artifact:
606
159
 
607
- <details>
608
- <summary>한국어 안내 (Korean)</summary>
160
+ ```text
161
+ ltcai-2.2.0.tgz
162
+ ```
609
163
 
610
- ## Lattice AI
164
+ ## Manual Publishing
611
165
 
612
- **내 PC의 파일, 대화, 폴더를 기억하고 연결하는 로컬 우선 AI 워크스페이스**
166
+ Publishing is intentionally manual. Do not publish with globs.
613
167
 
614
- 대부분의 AI 도구는 대화가 끝나면 맥락을 잊습니다. Lattice AI는 승인한 로컬 폴더와 대화를 인덱싱하고, 사람·프로젝트·개념·문서를 자동으로 지식 그래프로 연결합니다.
168
+ PyPI:
615
169
 
616
- ```text
617
- 로컬 파일 + 대화 + 폴더
618
-
619
- 자동 지식 그래프
620
-
621
- 그래프 기반 AI 검색, 채팅, 문서 생성, 관리자 감사
170
+ ```bash
171
+ python3 -m twine upload dist/ltcai-2.2.0-py3-none-any.whl dist/ltcai-2.2.0.tar.gz
622
172
  ```
623
173
 
624
- ### 설치
174
+ VS Code Marketplace:
625
175
 
626
176
  ```bash
627
- pip install ltcai
628
- LTCAI
629
- # http://localhost:4825
177
+ npx vsce publish --packagePath dist/ltcai-2.2.0.vsix
630
178
  ```
631
179
 
632
- Apple Silicon에서 로컬 모델까지 쓰려면:
180
+ Open VSX:
633
181
 
634
182
  ```bash
635
- pip install "ltcai[local]"
636
- LTCAI
183
+ npx ovsx publish dist/ltcai-2.2.0.vsix
637
184
  ```
638
185
 
639
- ### 사용 흐름
186
+ npm:
640
187
 
641
- ```text
642
- 1. 설치한다.
643
- 2. CPU, GPU, RAM을 감지해서 적합한 로컬 모델을 추천받는다.
644
- 3. 연결할 로컬 폴더를 선택한다.
645
- 4. 파일과 대화가 자동으로 지식 그래프가 된다.
646
- 5. “지난주 인증 마이그레이션에서 결정한 게 뭐였지?”처럼 질문한다.
647
- 6. 같은 지식을 웹 UI, VS Code, Telegram, MCP에서 사용한다.
188
+ ```bash
189
+ npm publish --access public
648
190
  ```
649
191
 
650
- ### 핵심 차별점
192
+ ## Documentation
651
193
 
652
- - **내 데이터가 AI의 기억이 됨** — 채팅과 파일을 자동으로 구조화
653
- - **로컬 우선** — 기본 데이터는 `~/.ltcai/`에 저장
654
- - **자동 그래프** — 사용자가 노드와 엣지를 직접 만들 필요 없음
655
- - **모델 추천/로드 흐름** — 하드웨어 감지 후 적합한 모델 추천
656
- - **선택형 클라우드** — 클라우드 모델은 사용자가 설정한 경우에만 사용
657
- - **관리자/보안 기능** — 권한, 감사 로그, 민감정보 감지, export 지원
194
+ - [ARCHITECTURE.md](ARCHITECTURE.md)
195
+ - [PROJECT_PRINCIPLES.md](PROJECT_PRINCIPLES.md)
196
+ - [AI_PHILOSOPHY.md](AI_PHILOSOPHY.md)
197
+ - [MODEL_POLICY.md](MODEL_POLICY.md)
198
+ - [KNOWLEDGE_GRAPH.md](KNOWLEDGE_GRAPH.md)
199
+ - [RELEASE_NOTES.md](RELEASE_NOTES.md)
200
+ - [docs/CHANGELOG.md](docs/CHANGELOG.md)
658
201
 
659
- 자세한 내용은 [docs/CHANGELOG.md](docs/CHANGELOG.md), [SECURITY.md](SECURITY.md), [CONTRIBUTING.md](CONTRIBUTING.md)를 참고하세요.
202
+ ## Release History
660
203
 
661
- </details>
204
+ | Version | Theme |
205
+ | --- | --- |
206
+ | **2.2.0** | Multimodal-first Knowledge OS, source disclosure, Gemma-4 recommendation policy |
207
+ | 2.1.0 | Agent Platform Maturity |
208
+ | 2.0.0 | Agentic Workspace Platform |
209
+ | 1.7.0 | Graph and collaboration |
210
+ | 1.6.0 | Product experience deepening |
211
+ | 1.5.0 | Unified product release |