ltcai 2.0.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.
Files changed (44) hide show
  1. package/README.md +140 -589
  2. package/auto_setup.py +17 -17
  3. package/docs/CHANGELOG.md +99 -0
  4. package/docs/MULTI_AGENT_RUNTIME.md +23 -5
  5. package/docs/PLUGIN_SDK.md +21 -8
  6. package/docs/REALTIME_COLLABORATION.md +19 -6
  7. package/docs/V2_ARCHITECTURE.md +65 -33
  8. package/docs/WORKFLOW_DESIGNER.md +18 -8
  9. package/docs/architecture.md +127 -135
  10. package/docs/kg-schema.md +3 -3
  11. package/docs/public-deploy.md +2 -3
  12. package/knowledge_graph.py +2 -2
  13. package/latticeai/__init__.py +1 -1
  14. package/latticeai/api/agents.py +57 -1
  15. package/latticeai/api/marketplace.py +81 -0
  16. package/latticeai/api/models.py +8 -0
  17. package/latticeai/api/plugins.py +1 -1
  18. package/latticeai/api/realtime.py +1 -1
  19. package/latticeai/api/workflow_designer.py +10 -1
  20. package/latticeai/core/config.py +1 -1
  21. package/latticeai/core/graph_curator.py +2 -2
  22. package/latticeai/core/marketplace.py +178 -0
  23. package/latticeai/core/model_compat.py +7 -63
  24. package/latticeai/core/model_resolution.py +1 -1
  25. package/latticeai/core/multi_agent.py +359 -68
  26. package/latticeai/core/plugins.py +29 -13
  27. package/latticeai/core/realtime.py +1 -1
  28. package/latticeai/core/workflow_engine.py +1 -1
  29. package/latticeai/core/workspace_os.py +257 -10
  30. package/latticeai/server_app.py +17 -5
  31. package/latticeai/services/model_catalog.py +105 -153
  32. package/latticeai/services/model_recommendation.py +28 -17
  33. package/latticeai/services/model_runtime.py +2 -2
  34. package/latticeai/services/platform_runtime.py +9 -5
  35. package/llm_router.py +80 -92
  36. package/ltcai_cli.py +2 -3
  37. package/package.json +2 -2
  38. package/static/agents.html +47 -3
  39. package/static/chat.html +5 -6
  40. package/static/plugins.html +51 -0
  41. package/static/scripts/chat.js +34 -36
  42. package/static/workflows.html +22 -0
  43. package/static/workspace.html +1 -1
  44. package/telegram_bot.py +1 -1
package/README.md CHANGED
@@ -1,660 +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.0.0 — Agentic Workspace Platform.** Lattice AI graduates from a local-first
357
- AI *workspace* to a local-first **Agentic Workspace Platform**: four new
358
- subsystems land as one cohesive, fully integrated platform — all additive, with
359
- every v1.x surface preserved.
360
-
361
- - **Plugin SDK** — versioned, permissioned plugins (`plugin.json` manifest,
362
- allow-listed permissions, lifecycle, validation, and a safe execution
363
- boundary) that **extend** existing skills/tools/workflows rather than replace
364
- them. Ships two example plugins. See [docs/PLUGIN_SDK.md](docs/PLUGIN_SDK.md).
365
- - **Workflow Designer** — node-based workflows (trigger · tool · skill · plugin ·
366
- agent · condition · output) with validation, execution, run history, and
367
- export/import. Pre-2.0 workflow history keeps working.
368
- See [docs/WORKFLOW_DESIGNER.md](docs/WORKFLOW_DESIGNER.md).
369
- - **Multi-Agent Runtime 2.0** — Planner · Executor · Reviewer · Researcher ·
370
- Release roles with handoff, retry, and an observable timeline, connected to
371
- workspace, memory, graph, and workflow runs.
372
- See [docs/MULTI_AGENT_RUNTIME.md](docs/MULTI_AGENT_RUNTIME.md).
373
- - **Realtime Collaboration** — presence + an activity feed over SSE, fed
374
- automatically from every workspace timeline event; single-user local mode and
375
- workspace isolation preserved. See [docs/REALTIME_COLLABORATION.md](docs/REALTIME_COLLABORATION.md).
376
- - **Cross-system integration** — workflows run plugins/skills/agents, agent runs
377
- run plugins/workflows, and all activity surfaces in the realtime feed, the
378
- knowledge graph, and the workspace timeline. See [docs/V2_ARCHITECTURE.md](docs/V2_ARCHITECTURE.md).
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.0.0** | Agentic Workspace Platform (Plugin SDK, Workflow Designer, Multi-Agent Runtime, Realtime) |
387
- | 1.7.0 | Graph & Collaboration Release |
388
- | 1.6.0 | Product Experience Deepening (UX + real screenshots) |
389
- | 1.5.0 | Unified Product Release (CI/VSIX recovery, model recommendation, Enterprise PoC) |
390
- | 1.4.0 | Server App final decomposition |
391
- | 1.1.0–1.3.0 | Organization workspaces, modularization, route safety net |
392
-
393
- See the full [changelog](docs/CHANGELOG.md) and [RELEASE.md](RELEASE.md).
394
-
395
- ---
396
-
397
- <details>
398
- <summary><b>All Features</b></summary>
399
-
400
- ### Core experience
401
-
402
- | Feature | Description |
403
- |---|---|
404
- | Web UI | Chat, file upload, model picker, graph view, admin pages |
405
- | Auto setup wizard | Detect hardware, recommend model, install dependencies, verify load |
406
- | Graph RAG | Retrieve context from indexed chats, files, and graph relationships |
407
- | Local folder indexing | Browse, audit, approve, index, and optionally watch folders |
408
- | Document generation | Use graph context to generate reports, summaries, and structured drafts |
409
-
410
- ### Developer tools
411
-
412
- | Feature | Description |
413
- |---|---|
414
- | VS Code / Cursor | Chat panel, edit selection, explain code, generate code |
415
- | Multi-step agent | File edit/create, grep, todo, and terminal workflow with human-in-the-loop |
416
- | Multi-LLM pipeline | Plan, execute, and review with different models |
417
- | MCP server | Expose Lattice tools to MCP-compatible clients |
418
- | MCP registry | Install MCP servers from supported registries |
419
- | Skills browser | Browse and install optional skills |
420
- | Plugin browser | Browse compatible open-source plugins |
421
-
422
- ### Access and communication
423
-
424
- | Feature | Description |
425
- |---|---|
426
- | Telegram bot | Chat, upload files, and manage models remotely |
427
- | PWA | Install the web UI on mobile/tablet home screens |
428
- | Public tunnel | `LTCAI --tunnel` for a temporary Cloudflare HTTPS URL |
429
-
430
- ### Administration
431
-
432
- | Feature | Description |
433
- |---|---|
434
- | User management | Roles, permissions, account enable/disable |
435
- | SSO | Entra ID / Okta OIDC configuration |
436
- | Audit dashboard | AI usage, sensitive-data events, file access, exports |
437
- | Security monitoring | Rate limits, approval logs, raw explorer, redaction |
438
-
439
- </details>
440
-
441
- <details>
442
- <summary><b>Security</b></summary>
443
-
444
- | Property | Detail |
445
- |---|---|
446
- | Binding | Default `127.0.0.1:4825` local only |
447
- | Auth | Session required when network-exposed or public mode |
448
- | Cookies | `HttpOnly + SameSite=Lax`; no localStorage token |
449
- | Local file access | Approval-token gated by path, user, and action scope |
450
- | Package install | Admin-only with audit trail for MCP, skills, pip, npm |
451
- | CORS | Localhost only by default; configurable via `LATTICEAI_CORS_ALLOWED_ORIGINS` |
452
- | File upload | Magic-number signature checks for extension spoofing defense |
453
- | Rate limits | `/chat` 30/min · `/agent` 6/min · `/upload` 12/min per user |
454
- | Telemetry | No built-in product telemetry by default |
455
-
456
- Report vulnerabilities in [SECURITY.md](SECURITY.md).
457
-
458
- </details>
459
-
460
- <details>
461
- <summary><b>Setup & Configuration</b></summary>
462
-
463
- ### VS Code shortcuts
464
-
465
- | Shortcut | Action |
466
- |---|---|
467
- | `Cmd+Shift+A` | Open chat |
468
- | `Cmd+Shift+E` | Edit selected code |
469
- | `Cmd+Shift+M` | Load or switch model |
470
- | Right-click | Explain / Save to Knowledge Garden |
471
-
472
- ### Telegram bot
95
+ ## Quick Start
473
96
 
474
97
  ```bash
475
- LATTICEAI_TELEGRAM_BOT_TOKEN=your-token LTCAI
98
+ npm install
99
+ npm run dev
476
100
  ```
477
101
 
478
- ### Public server
102
+ Then open:
479
103
 
480
- ```bash
481
- LATTICEAI_MODE=public \
482
- LATTICEAI_PUBLIC_MODEL=openai:gpt-4o-mini \
483
- OPENAI_API_KEY=sk-... \
484
- LATTICEAI_INVITE_CODE=my-secret \
485
- LTCAI
104
+ ```text
105
+ http://127.0.0.1:4825
486
106
  ```
487
107
 
488
- ### Public tunnel
108
+ Useful commands:
489
109
 
490
110
  ```bash
491
- LTCAI --tunnel
492
- # https://xxxx.trycloudflare.com
111
+ npm test
112
+ npm run check:python
113
+ npm run build
493
114
  ```
494
115
 
495
- ### Auto-start on macOS
116
+ VS Code extension:
496
117
 
497
118
  ```bash
498
- cat > ~/Library/LaunchAgents/com.ltcai.plist << 'EOF'
499
- <?xml version="1.0" encoding="UTF-8"?>
500
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
501
- <plist version="1.0">
502
- <dict>
503
- <key>Label</key><string>com.ltcai</string>
504
- <key>ProgramArguments</key><array><string>/usr/local/bin/LTCAI</string></array>
505
- <key>RunAtLoad</key><true/>
506
- <key>KeepAlive</key><true/>
507
- <key>StandardOutPath</key><string>/tmp/ltcai.log</string>
508
- <key>StandardErrorPath</key><string>/tmp/ltcai.err</string>
509
- </dict>
510
- </plist>
511
- EOF
512
- launchctl load ~/Library/LaunchAgents/com.ltcai.plist
119
+ cd vscode-extension
120
+ npm install
121
+ npm run build
122
+ npm run package:vsix
513
123
  ```
514
124
 
515
- </details>
516
-
517
- <details>
518
- <summary><b>API Reference</b></summary>
519
-
520
- | Method | Path | Description |
521
- |---|---|---|
522
- | GET | `/health` | Server status and current model |
523
- | GET | `/models` | Model list and load state |
524
- | POST | `/models/load` | Load a model |
525
- | POST | `/chat` | Chat with streaming or non-streaming output |
526
- | POST | `/agent` | Multi-step file agent |
527
- | GET | `/knowledge-graph/stats` | Graph statistics |
528
- | GET | `/knowledge-graph/search?q=` | Search the knowledge graph |
529
- | GET | `/knowledge-graph/local/roots` | Discover local drives and folders |
530
- | POST | `/knowledge-graph/local/audit` | Audit a folder before indexing |
531
- | POST | `/knowledge-graph/local/index` | Index a folder into Graph RAG |
532
- | GET | `/mcp/installed` | Installed MCP servers |
533
- | POST | `/mcp/install` | Install MCP server as admin |
534
- | GET | `/skills/marketplace` | Skills marketplace |
535
- | POST | `/skills/install` | Install a skill as admin |
536
- | GET | `/admin/audit` | Audit report |
537
- | GET | `/permissions/pending` | Pending file-access approvals |
538
-
539
- Full reference: [docs/mcp-tools.md](docs/mcp-tools.md)
540
-
541
- </details>
542
-
543
- <details>
544
- <summary><b>Troubleshooting</b></summary>
545
-
546
- | Symptom | Fix |
547
- |---|---|
548
- | Port 4825 is already in use | `lsof -i :4825` then `kill <PID>`, or run `LTCAI --port 4826` |
549
- | `ModuleNotFoundError: mlx` | Install local extras with `pip install "ltcai[local]"` on Apple Silicon |
550
- | Python version is too old | Use Python 3.11 or newer |
551
- | No API key warning | Set a provider key or use a local model |
552
- | Cannot reach from iPad | Use `LATTICEAI_HOST=0.0.0.0 LTCAI` or `LTCAI --tunnel` |
553
- | Model loads but chat looks broken | Check compatibility status; try another engine or model family |
554
-
555
- </details>
556
-
557
- ---
558
-
559
- ## Platform Support
560
-
561
- | Feature | macOS Apple Silicon | macOS Intel / Windows / Linux |
562
- |---|:---:|:---:|
563
- | Web UI + cloud models | Yes | Yes |
564
- | VS Code / Cursor extension | Yes | Yes |
565
- | Telegram bot | Yes | Yes |
566
- | MLX local models | Yes | No |
567
- | Ollama / LM Studio / vLLM / llama.cpp | Yes | Yes |
568
-
569
- ---
570
-
571
- ## Distribution
125
+ ## Python Package
572
126
 
573
- | Channel | Link |
574
- |---|---|
575
- | PyPI | [pypi.org/project/ltcai](https://pypi.org/project/ltcai/) |
576
- | npm | [npmjs.com/package/ltcai](https://www.npmjs.com/package/ltcai) |
577
- | VS Code Marketplace | [marketplace.visualstudio.com](https://marketplace.visualstudio.com/items?itemName=parktaesoo.ltcai) |
578
- | Open VSX | [open-vsx.org](https://open-vsx.org/extension/parktaesoo/ltcai) |
127
+ ```bash
128
+ python3 -m build
129
+ ```
579
130
 
580
- ---
131
+ Expected v2.2.0 Python artifacts:
581
132
 
582
- ## Documentation
133
+ ```text
134
+ dist/ltcai-2.2.0-py3-none-any.whl
135
+ dist/ltcai-2.2.0.tar.gz
136
+ ```
583
137
 
584
- | Doc | What's inside |
585
- |---|---|
586
- | [docs/architecture.md](docs/architecture.md) | App structure, request and data flow |
587
- | [docs/CHANGELOG.md](docs/CHANGELOG.md) | Full version history |
588
- | [RELEASE.md](RELEASE.md) | Release notes and the build/publish checklist |
589
- | [SECURITY.md](SECURITY.md) | Security model and vulnerability reporting |
590
- | [docs/ENTERPRISE.md](docs/ENTERPRISE.md) · [docs/EDITION_STRATEGY.md](docs/EDITION_STRATEGY.md) | Open-core boundary and edition strategy |
591
- | [docs/kg-schema.md](docs/kg-schema.md) · [docs/mcp-tools.md](docs/mcp-tools.md) | Knowledge graph schema and MCP tool catalog |
592
- | [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
593
139
 
594
- ---
140
+ ```bash
141
+ cd vscode-extension
142
+ npm run build
143
+ npm run package:vsix
144
+ ```
595
145
 
596
- ## Contributing
146
+ Expected v2.2.0 VSIX artifact:
597
147
 
598
- See [CONTRIBUTING.md](CONTRIBUTING.md). Issues and pull requests are welcome.
148
+ ```text
149
+ dist/ltcai-2.2.0.vsix
150
+ ```
599
151
 
600
- ## License
152
+ ## npm Package
601
153
 
602
- MIT — [TaeSoo Park](https://github.com/TaeSooPark-PTS)
154
+ ```bash
155
+ npm pack
156
+ ```
603
157
 
604
- ---
158
+ Expected v2.2.0 npm artifact:
605
159
 
606
- <details>
607
- <summary>한국어 안내 (Korean)</summary>
160
+ ```text
161
+ ltcai-2.2.0.tgz
162
+ ```
608
163
 
609
- ## Lattice AI
164
+ ## Manual Publishing
610
165
 
611
- **내 PC의 파일, 대화, 폴더를 기억하고 연결하는 로컬 우선 AI 워크스페이스**
166
+ Publishing is intentionally manual. Do not publish with globs.
612
167
 
613
- 대부분의 AI 도구는 대화가 끝나면 맥락을 잊습니다. Lattice AI는 승인한 로컬 폴더와 대화를 인덱싱하고, 사람·프로젝트·개념·문서를 자동으로 지식 그래프로 연결합니다.
168
+ PyPI:
614
169
 
615
- ```text
616
- 로컬 파일 + 대화 + 폴더
617
-
618
- 자동 지식 그래프
619
-
620
- 그래프 기반 AI 검색, 채팅, 문서 생성, 관리자 감사
170
+ ```bash
171
+ python3 -m twine upload dist/ltcai-2.2.0-py3-none-any.whl dist/ltcai-2.2.0.tar.gz
621
172
  ```
622
173
 
623
- ### 설치
174
+ VS Code Marketplace:
624
175
 
625
176
  ```bash
626
- pip install ltcai
627
- LTCAI
628
- # http://localhost:4825
177
+ npx vsce publish --packagePath dist/ltcai-2.2.0.vsix
629
178
  ```
630
179
 
631
- Apple Silicon에서 로컬 모델까지 쓰려면:
180
+ Open VSX:
632
181
 
633
182
  ```bash
634
- pip install "ltcai[local]"
635
- LTCAI
183
+ npx ovsx publish dist/ltcai-2.2.0.vsix
636
184
  ```
637
185
 
638
- ### 사용 흐름
186
+ npm:
639
187
 
640
- ```text
641
- 1. 설치한다.
642
- 2. CPU, GPU, RAM을 감지해서 적합한 로컬 모델을 추천받는다.
643
- 3. 연결할 로컬 폴더를 선택한다.
644
- 4. 파일과 대화가 자동으로 지식 그래프가 된다.
645
- 5. “지난주 인증 마이그레이션에서 결정한 게 뭐였지?”처럼 질문한다.
646
- 6. 같은 지식을 웹 UI, VS Code, Telegram, MCP에서 사용한다.
188
+ ```bash
189
+ npm publish --access public
647
190
  ```
648
191
 
649
- ### 핵심 차별점
192
+ ## Documentation
650
193
 
651
- - **내 데이터가 AI의 기억이 됨** — 채팅과 파일을 자동으로 구조화
652
- - **로컬 우선** — 기본 데이터는 `~/.ltcai/`에 저장
653
- - **자동 그래프** — 사용자가 노드와 엣지를 직접 만들 필요 없음
654
- - **모델 추천/로드 흐름** — 하드웨어 감지 후 적합한 모델 추천
655
- - **선택형 클라우드** — 클라우드 모델은 사용자가 설정한 경우에만 사용
656
- - **관리자/보안 기능** — 권한, 감사 로그, 민감정보 감지, 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)
657
201
 
658
- 자세한 내용은 [docs/CHANGELOG.md](docs/CHANGELOG.md), [SECURITY.md](SECURITY.md), [CONTRIBUTING.md](CONTRIBUTING.md)를 참고하세요.
202
+ ## Release History
659
203
 
660
- </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 |