README.md
A personal knowledge architect that runs entirely locally. Ingest notes and articles, build a concept graph across sessions, and synthesize what you've captured into coherent understanding — with complete privacy, no cloud sync, and no external services.
Keywords: lm studio plugin, personal knowledge base, local note taking ai, concept graph, offline knowledge management, private notes ai, no cloud
Not a note-taking app. Not RAG. A knowledge architect that forces you to organize what you learn and tells you what you still don't know.
README.md
A personal knowledge architect that runs entirely locally. Ingest notes and articles, build a concept graph across sessions, and synthesize what you've captured into coherent understanding — with complete privacy, no cloud sync, and no external services.
Keywords: lm studio plugin, personal knowledge base, local note taking ai, concept graph, offline knowledge management, private notes ai, no cloud
Not a note-taking app. Not RAG. A knowledge architect that forces you to organize what you learn and tells you what you still don't know.
Load the built plugin folder in LM Studio.
| Field | Default | Description |
|---|---|---|
| Data Path | ~/knowledge-data/ | SQLite database location |
Notes are raw material — text from any source. Each note has a title, content, source, and tags.
Concepts are the organizing nodes — named themes, frameworks, people, or questions you return to. A concept grows as you link more notes to it.
Synthesis is the output — when you ask "what do I know about X?", the plugin loads all notes linked to that concept and produces a structured synthesis: core thesis, recurring themes, contradictions, gaps.
| Tool | Kind | What it does |
|---|---|---|
ingest_note | Store-write | Save a note with title, content, source, and tags |
ingest_url | Effect + Store-write | Fetch a URL, extract text, save as a note |
update_note | Store-write | Update fields on an existing note by ID |
delete_note | Store-write | Permanently delete a note and its concept links |
get_note | Store-read | Get full note content with linked concepts |
list_notes | Store-read | List notes filtered by tag or date |
search_notes | Store-read | Full-text search across all notes |
| Tool | Kind | What it does |
|---|---|---|
upsert_concept | Store-write | Create or update a concept by name |
link_note_to_concept | Store-write | Associate a note with a concept |
unlink_note_from_concept | Store-write | Remove a note-concept association |
get_concept | Store-read | Get a concept with all its linked notes |
list_concepts | Store-read | List all concepts sorted by note count |
| Tool | Kind | What it does |
|---|---|---|
generate_synthesis | Scaffold | Load notes on a concept or topic and return a synthesis prompt payload |
knowledge_review | Store-read | Surface recent notes, orphans, empty concepts, and next steps |
Saving an idea:
"Save this: the key insight from Thinking Fast and Slow is that System 2 is lazy — it defaults to System 1 whenever possible"
ingest_note(title="System 2 laziness — Kahneman", content="...", source="Thinking Fast and Slow", tags=["cognition", "decision-making"])
Ingesting an article:
"Ingest this article: https://example.com/article"
ingest_url(url="...", tags=["AI", "research"]) → saves page text as a note
Organizing notes:
"I have 5 notes on cognitive biases. Create a concept and link them."
upsert_concept(name="Cognitive Biases", description="Systematic errors in human judgment") → link_note_to_concept × 5
Synthesizing:
"What do I know about cognitive biases?"
get_concept(name="Cognitive Biases") → generate_synthesis(conceptName="Cognitive Biases", focusQuestion="What patterns emerge across these notes?") → structured synthesis
Weekly review:
"What's been added this week?"
knowledge_review(daysSince=7) → shows recent notes, orphans, and what to link or synthesize
All data is local. Nothing leaves your machine.
This plugin is free and open source. If you find it useful, consider supporting development:
| Tier | Amount | Perks |
|---|---|---|
| ☕ Coffee | $3 | Name in credits |
| 🍔 Lunch | $10 | + Priority support |
| 🍕 Pizza | $25 | + Name in README |
| 🏆 Founding | $50 | + Lifetime support, consultation |
Every coffee helps keep this project alive! ☕
Load the built plugin folder in LM Studio.
| Field | Default | Description |
|---|---|---|
| Data Path | ~/knowledge-data/ | SQLite database location |
Notes are raw material — text from any source. Each note has a title, content, source, and tags.
Concepts are the organizing nodes — named themes, frameworks, people, or questions you return to. A concept grows as you link more notes to it.
Synthesis is the output — when you ask "what do I know about X?", the plugin loads all notes linked to that concept and produces a structured synthesis: core thesis, recurring themes, contradictions, gaps.
| Tool | Kind | What it does |
|---|---|---|
ingest_note | Store-write | Save a note with title, content, source, and tags |
ingest_url | Effect + Store-write | Fetch a URL, extract text, save as a note |
update_note | Store-write | Update fields on an existing note by ID |
delete_note | Store-write | Permanently delete a note and its concept links |
get_note | Store-read | Get full note content with linked concepts |
list_notes | Store-read | List notes filtered by tag or date |
search_notes | Store-read | Full-text search across all notes |
| Tool | Kind | What it does |
|---|---|---|
upsert_concept | Store-write | Create or update a concept by name |
link_note_to_concept | Store-write | Associate a note with a concept |
unlink_note_from_concept | Store-write | Remove a note-concept association |
get_concept | Store-read | Get a concept with all its linked notes |
list_concepts | Store-read | List all concepts sorted by note count |
| Tool | Kind | What it does |
|---|---|---|
generate_synthesis | Scaffold | Load notes on a concept or topic and return a synthesis prompt payload |
knowledge_review | Store-read | Surface recent notes, orphans, empty concepts, and next steps |
Saving an idea:
"Save this: the key insight from Thinking Fast and Slow is that System 2 is lazy — it defaults to System 1 whenever possible"
ingest_note(title="System 2 laziness — Kahneman", content="...", source="Thinking Fast and Slow", tags=["cognition", "decision-making"])
Ingesting an article:
"Ingest this article: https://example.com/article"
ingest_url(url="...", tags=["AI", "research"]) → saves page text as a note
Organizing notes:
"I have 5 notes on cognitive biases. Create a concept and link them."
upsert_concept(name="Cognitive Biases", description="Systematic errors in human judgment") → link_note_to_concept × 5
Synthesizing:
"What do I know about cognitive biases?"
get_concept(name="Cognitive Biases") → generate_synthesis(conceptName="Cognitive Biases", focusQuestion="What patterns emerge across these notes?") → structured synthesis
Weekly review:
"What's been added this week?"
knowledge_review(daysSince=7) → shows recent notes, orphans, and what to link or synthesize
All data is local. Nothing leaves your machine.
This plugin is free and open source. If you find it useful, consider supporting development:
| Tier | Amount | Perks |
|---|---|---|
| ☕ Coffee | $3 | Name in credits |
| 🍔 Lunch | $10 | + Priority support |
| 🍕 Pizza | $25 | + Name in README |
| 🏆 Founding | $50 | + Lifetime support, consultation |
Every coffee helps keep this project alive! ☕
cd knowledge-plugin
npm install
npm run build
Notes ──── linked to ────► Concepts
│ │
│ (many-to-many) │
└──────────────────────────── ┘
~/knowledge-data/
knowledge.db ← SQLite: notes, concepts, note_concepts, notes_fts (full-text search)
cd knowledge-plugin
npm install
npm run build
Notes ──── linked to ────► Concepts
│ │
│ (many-to-many) │
└──────────────────────────── ┘
~/knowledge-data/
knowledge.db ← SQLite: notes, concepts, note_concepts, notes_fts (full-text search)