Lattice AI
Your model is the voice you use today. Your Brain is the asset you keep.
모델은 갈아타도, 내 지식은 내 컴퓨터에 남는 로컬 우선 AI 브레인.
Chat, files, folders, notes, and web pages all flow into one durable knowledge graph on your computer. Any model — local MLX or cloud — can speak with that memory. Nothing leaves your machine without explicit consent.
대화·파일·폴더·웹페이지가 전부 내 컴퓨터 안의 지식 그래프로 쌓이고, 어떤 모델이든 그 기억을 이어받아 대화합니다.
What You Can Do
| See your Brain's story in time — a growth curve, an activity heatmap, and each day's story, rewindable to any past moment |
Chat with a Brain that remembers — every conversation grows durable, source-linked memory |
| See how knowledge connects — a real relationship graph, not a file list |
Capture anything — files, whole folders, notes, screenshots, web pages |
| Automate with review — agent changes become proposals you approve first |
Pick a model in one click — recommended local models for your hardware |
| Watch a file become memory — three named steps, not a pipeline diagram |
Say how much it may do alone — one dial in plain words; dangerous actions stay blocked either way |
Why Lattice AI
- Own your memory — knowledge lives in a local SQLite Brain you can back up,
export, inspect, and restore (
.latticebrainencrypted archive). - Model-independent — switch between local MLX models and cloud models without rebuilding context from zero.
- Honest by design — the Brain tells you when retrieval context is limited, when captured pages extracted poorly, and when the vector index is catching up.
- Safe automation — automations are consent-first drafts; edits to existing content always pass through a reviewable proposal with a diff.
매번 AI에게 프로젝트 맥락을 다시 설명하고 있다면, 지식이 여러 서비스에 흩어져 있다면, 그 기억을 특정 회사가 아니라 내가 소유하고 싶다면 — Lattice AI가 그 브레인입니다.
Quick Start
pip install ltcai # or: npm install -g ltcai
LTCAI # then open http://127.0.0.1:4825/app
Apple Silicon local models: pip install "ltcai[local]". Desktop app (Tauri)
ships as a dmg on each GitHub Release.
First-run flow — wake the Brain, pick the owner, load a recommended model:
Screenshot index and capture notes: output/release/v11.7.0/SCREENSHOT_INDEX.md
Current Release
The current release is 11.7.0 — Clean Sweep:
11.6.0 left a disclosed backlog and a visual language that still used
glass. This release closes that backlog, fixes regressions One Door did
not know it had shipped, and restyles every captured surface on an
elevation ladder — ink night, paper day, no glass. The door is unchanged:
lattice-host still serves 420 operations across 41 route families,
and the Python package is still a 28-route AI worker (LLM, embed,
extract, parse, four renderers, ASR, multimodal, catalog, sysinfo,
/health). The allowlist still includes /worker/parse and
/worker/render/*; nothing product-shaped moved back into Python.
- The three oracle bugs 11.6.0 ported as-is are fixed. Command-search
knowledge now reads
matchesand returns nodes. Review snooze accepts offset-aware datetimes (unparseableuntil→ 422). Double-reject is 409, byte-identical to its dismiss sibling. Fixture bodies that pinned the old faults were updated and marked as divergences from the oracle. - The §5.3 holes are closed. Binary uploads go through
/worker/parse. Per-chunk supplied vectors land at the four ingest doors. User hooks fire on native tools (HooksStore→HookSink) and write the same run log the HTTP route writes.sanitize_write_contentruns on the loop path and onPOST /tools/write_file. Every mutating review route recordsreview_item_created/review_item_updated.workspace_os.jsonhas one writer (WorkspaceOsStore+ registry + ports). - Regressions One Door did not know it had. Self-Model writes were
100% dead (five routes posted into the retired
/worker/graph/mutate;resolve_contradictionclaimed "applied" while writing nothing) — restored natively, nine recorded bodies byte-identical. The security xlsx export 502'd because it posted to a product route; it now uses/worker/render/xlsx. Chatingest_generatedwas a schema 400 even against a live 11.5.2 worker. Vault-watch had fixtures and no poller — it is a real native ingest loop now. A decoy-proven static gate keeps this class from shipping again. - Time bombs defused. Chronicle
@today, briefing freshness, and the insights/garden/proactive/health/quality cutoffs now take a frozen clock. Falsifier tests fail on the next run if a fuse is re-armed. - The UI is one language. Token-native elevation and gradients replace
backdrop-filter. Cytoscape reads theme tokens (comma-form
hsl()). Layout and a11y contracts stay; the first-paint bundle is still ~103 KiB gzip.
What this release still carries openly — open_keys pending-only, no
extraction refiner, delete_node leaving PART_OF, review events silent
without an owner, text-only KG-api ingest, two store cycles per review
mutation, raw-English snooze 422 — is listed in
RELEASE_NOTES_v11.7.0.md.
Expected artifacts for 11.7.0 release must use exact filenames:
dist/ltcai-11.7.0-py3-none-any.whldist/ltcai-11.7.0.tar.gzltcai-11.7.0.tgzdist/ltcai-11.7.0.vsixsrc-tauri/target/release/bundle/dmg/Lattice AI_11.7.0_aarch64.dmg
Do not use wildcard artifact uploads. Package registry publishing remains owner-run.
Release notes: RELEASE.md · Full history: docs/CHANGELOG.md
Architecture At A Glance
One Rust server on localhost is the source of truth: lattice-host answers
every product route, owns every write to the Brain, and supervises a Python
AI worker it reaches over loopback for the things a model does — inference,
embedding, extraction, parsing, rendering, speech-to-text. The React/Vite
frontend and the Tauri desktop shell sit on top of that one door. Local-first
by default — cloud model calls, downloads, Brain Network, and update checks are
opt-in.
See ARCHITECTURE.md for details and
docs/DEVELOPMENT.md for the developer workflow
(npm install && npm run dev, validation via npm run lint,
npm run test:unit, npm run test:visual).
Known Limitations
- External package registries are owner-published and can lag behind GitHub.
- SQLite is the live local Brain store. The optional PostgreSQL/pgvector migration tooling is not part of the 11.6.0 worker.
- Docker, model downloads, cloud model calls, Brain Network, and update checks require explicit user action.
- The Telegram bridge was removed in 11.6.0 — it lived in the platform code that became the AI worker. SSO/OIDC login and callback flows were removed with it; the configuration surface remains and password login is native.
- Conversation does not fabricate answers when no model is loaded. Agent and workflow simulation without a loaded LLM is deterministic and LLM-free (it does not call a model) — labeled as such, never presented as autonomous model success.
POST /worker/render/pdfships working out of the box:reportlabis a required dependency as of 11.6.0 (it used to be an undeclared lazy import that raised a 500;ltcai[pdf]remains as an empty alias for older install instructions).- Pointer-control tools still execute in the worker. Remaining honest gaps
(
open_keyspending-only, no Self-Model refiner,PART_OFleft on delete, review events silent without an owner, KG-api ingest text-only, two store cycles per review mutation) are listed with their reasons in RELEASE_NOTES_v11.7.0.md.
Release History
Public history starts at 11.0.0. 11.6.0 rebuilt the product server in Rust and
reduced the Python package to an AI worker, so a 10.x or 9.x install is a
different program; SECURITY.md supports only 11.x, and this table states the
same boundary. Earlier notes stay in the tree as RELEASE_NOTES_v*.md files.
| Version | Theme |
|---|---|
| 11.7.0 | Clean Sweep |
| 11.6.0 | One Door |
| 11.5.2 | Tight Ship |
| 11.5.1 | Rust Full Loop |
| 11.5.0 | Rust Complete |
| 11.4.0 | Rust Foundation |
| 11.3.0 | Time Remembers |
| 11.2.0 | All Systems On |
| 11.1.0 | Product Intelligence |
| 11.0.1 | Both Branches |
| 11.0.0 | Full Measure |
Per-release details: RELEASE_NOTES.md
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ltcai-11.7.0.tar.gz.
File metadata
- Download URL: ltcai-11.7.0.tar.gz
- Upload date:
- Size: 2.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0dae01b71882eac8dcc0ae34ca0e73e056dbd0a9cb13d3e942359ae735b23d71
|
|
| MD5 |
0431589ce0ae57bcc379ca4baa5c5593
|
|
| BLAKE2b-256 |
2a8e466e22955e5fef6a23ad942732d0a682d99b77b9494f2f7c0ee5e2754e2f
|
File details
Details for the file ltcai-11.7.0-py3-none-any.whl.
File metadata
- Download URL: ltcai-11.7.0-py3-none-any.whl
- Upload date:
- Size: 2.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
728e1e937837ca63bf478ffdbb0fa0450fc2db5eb0d8da39dfcee1c1101f1e6c
|
|
| MD5 |
312edc4a0d33a1a35dd787ac3f3f806c
|
|
| BLAKE2b-256 |
ec2a8e27baf4ecea05c6114f7f4532b869c777429491ef29ef53ec2931c84e47
|