Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Lattice

Manas GedamManas Gedam8 downloads

Compiles a note into a navigable semantic IR (nodes, typed edges, evidence).

Add to Obsidian
  • Overview
  • Scorecard
  • Updates5

Transform any note into a structured knowledge graph. Lattice segments your text, classifies each segment into typed nodes (Claim, Observation, Decision, Memory, Emotion, Event, Value), and extracts relationships between them — all backed by verbatim evidence spans you can trace back to the source.

Works well with diary entries, meeting notes, and legal or narrative text. Large, heavily-structured technical documents (papers, specs with sections/cross-references) aren't well supported yet — the current pipeline is flat and sentence-level, with no heading-aware chunking. Every node and edge carries a direct reference to the original text it was extracted from.

What it produces

The output is a .ir.json.md file alongside your note, containing:

  • Nodes — each segment classified by type, with optional subtypes, confidence scores, and exact character offsets into the source text
  • Edges — both rule-based (precedes from document order) and LLM-extracted relationships (supports, contradicts, causes, elaborates, depends_on, and more)
  • Evidence spans — LLM-extracted edges include the verbatim text that justifies the relationship. Rule-based precedes edges reuse the connected segment's own text, since their justification is document position, not content.

Setup

  1. Manually copy main.js and manifest.json to your vault's .obsidian/plugins/semantic-ir-compiler/ directory (Community Plugins submission pending)
  2. Open Settings > Lattice and configure:
    • LLM Base URL — any OpenAI-compatible API endpoint (e.g. https://api.groq.com/openai/v1)
    • LLM API Key — your API key
    • LLM Model — model identifier (e.g. openai/gpt-oss-20b)
  3. Open any note and run the command: "Lattice: Compile current note"

Usage

Cmd/Ctrl + P → Lattice: Compile current note

A .ir.json.md file will be created in the same folder as your note, containing the full semantic intermediate representation as a JSON code block.

How it works

  1. Segmentation — splits text into sentence-level chunks
  2. Classification — LLM classifies each chunk into a node type with optional subtype
  3. Rule-based relations — derives precedes edges from document order, detects revision candidates
  4. LLM relation extraction — identifies semantic relationships between nodes (supports, contradicts, causes, etc.)
  5. Assembly — builds the final graph with direction correction rules for causal edges and revisions, then verifies the result against the source text before anything is written

Network usage

This plugin makes API calls to an external LLM service that you configure. Your note content is sent to the configured endpoint for classification and relation extraction. No data is sent anywhere else. API keys are stored locally in your vault's plugin settings. Note: if you sync your vault (Obsidian Sync, iCloud, Dropbox, a git repo, etc.), your API key syncs along with it via that tool — Lattice doesn't control or limit this.

Development

npm install
npm run typecheck
npm run build
npm test
npm run test:coverage

npm test covers the deterministic pipeline (segmentation, rule-based relations, assembly, validation) plus the structural invariant suite in src/pipeline/invariants.ts, which is also run against every IR in test-fixtures/. Coverage thresholds are enforced in CI on every pull request.

To run the smoke test with a real LLM:

cp .env.example .env
# Fill in your API credentials
npm run smoke

Evaluation

The invariant suite proves the IR is well-formed; it cannot say whether the labels are right. That needs gold-standard labels:

npm run gold:label -- test-documents/short-diary.txt   # machine draft, written with reviewed: false
# hand-review gold/<name>.gold.json, then set "reviewed": true
npm run eval -- --runs 3

gold:label refuses to overwrite a file marked reviewed: true. eval skips unreviewed drafts (--include-unreviewed scores them anyway, but the output says so) and reports node macro-F1, per-type precision/recall, attribution accuracy overall and on the non-self subset, edge precision/recall/F1 overall and per relation family, edge direction accuracy, and across-run stability. The machine-readable report lands in eval/report.json.

License

MIT

HealthExcellent
ReviewPassed
About
Transform any note into a structured knowledge graph by segmenting text into sentence-level nodes classified as Claim, Observation, Decision, Memory, Emotion, Event, or Value. Extract relationships with verbatim evidence spans and export a .ir.json.md semantic intermediate representation file alongside the source note.
AIDataExport
Details
Current version
0.1.4
Last updated
6 hours ago
Created
3 months ago
Updates
5 releases
Downloads
8
Compatible with
Obsidian 1.0.0+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
Manas GedamManas Gedammaanaaasss
GitHubmaanaaasss
  1. Community
  2. Plugins
  3. AI
  4. Lattice

Related plugins

Copilot

Run AI agents such as Claude Code, Codex, and OpenCode inside your vault. Turn your second brain into a smart assistant that gets knowledge work done.

Claudian

Embeds Claude Code/Codex and other local Agents as AI collaborators in your vault.

Smart Connections

Find related notes and excerpts while writing. Your AI link building copilot displays relevant content in graph + list view. A local embedding model powers semantic search. Zero setup. No API key.

Fast Note Sync

Real-time sync of your vaults across server, mobile, and web; shareable with anyone; supports REST and MCP integrations to build your personal AI knowledge base.

ChatGPT MD

A seamless integration of ChatGPT, OpenRouter.ai and local LLMs via Ollama into your notes.

Karpathy LLM Wiki

Karpathy's LLM Wiki implementation plugin for Obsidian - turns notes and PDFs into a linked, LLM-powered knowledge base with entity pages, concept pages, graph-powered Q&A, and local-first privacy.

Gemini Scribe

Allows you to interact with Gemini and use your notes as context.

Agent Client

Chat with Claude Code, Codex, Gemini CLI, and more via the Agent Client Protocol — right from your vault.

Tracker

Track occurrences and numbers in your notes.

Text Generator

Generate text content using GPT-3 (OpenAI).