I Built a Document-Writing Setup With VS Code, Obsidian, and a Local LLM
I Built a Document-Writing Setup With VS Code, Obsidian, and a Local LLM
I set up a workflow where I open my Obsidian vault directly in VS Code and run drafts and proofreading through a local LLM. Two things are at the core: Obsidian's knowledge management turned out better than I expected, and the local model's context is long enough to handle entire long documents.
What Obsidian is
Obsidian is a Markdown-file-based personal knowledge management tool. It was released by Dynalist in 2020 and runs on Windows, Mac, Linux, Android, and iOS.
Its core design is local-first. Every note is stored as a plain Markdown file in a folder on my computer (the vault). Since nothing is uploaded to a server, it works offline, and even if the app disappears the files stay put. Having your data in your own hands is the biggest difference from Notion or cloud notes.
The real weapon for knowledge management is the bidirectional link. Link notes inside one another with the [[other note]] format, and the other side automatically shows backlinks โ "notes that reference this one." Notes wired together like that visualize as a network in graph view. Seeing which topics get linked often shows you the material for your next post. It's not about stacking memos; it's about weaving a web of knowledge. It's also frequently cited as a tool for practicing the Zettelkasten method.
One more thing worth noting: since every file is plain text, it plays nicely with other tools. VS Code, Git, AI โ anything that reads Markdown just attaches.
The setup
| Component | What it is |
|---|---|
| Document vault | Obsidian (Markdown-based, manages backlinks and note structure) |
| Editor | VS Code (open the vault folder directly to edit) |
| Local model | supergemma-e4b-q4km-63k:latest (7.5B, Q4_K_M) |
| Context | Supports 131,072 tokens, operated at num_ctx 65,500 |
| Purpose | Drafting, tidying notes, proofreading sentences |
No separate sync tool โ I just open the vault folder straight in VS Code. Management lives in Obsidian, editing lives in VS Code. When I need to edit many files at once or polish quickly from the keyboard, VS Code is the comfortable one, and the role split stays clean.
SuperGemma's long context actually shows up
The biggest reason I picked this model is the context. It supports up to 131,072 tokens, and in practice I run it at num_ctx 65,500. Toss a few dozen notes at it at once and it reads them without truncating; hand it an entire long draft and ask it to restructure, and it doesn't lose the surrounding context.
With short-context models I had to split documents into pieces, feed them in, and stitch the results back together โ that whole process disappeared. In document work, context length changes the workflow itself.
How it feels to use
Three things were good. First, personal notes never leave the machine. Second, no API bill worry โ I can hold onto one paragraph and have it rewritten over and over. Third, it resolves right inside the editor, so the flow never breaks.
The limits are clear too. Anything needing fact-checking has to be verified by hand, and final review is a human's job. It's more than enough for drafts and tidying up.
Wrapping up
Obsidian's knowledge connections, VS Code's editing speed, SuperGemma's long context. Three things meeting where each does its best. Not some grand automation โ the point is finishing everyday document work without hopping between browser tabs.
AI Knowledge Hub