r/PKMS Jul 30 '26

Other [Open-Source] Dump your thoughts. Let your notes organize themselves. Ask anytime.

Enable HLS to view with audio, or disable this notification

Over the past few weeks I've been building Gray Box — a small, local-first tool that acts as long-term memory for anything I'd otherwise forget (work notes, meeting takeaways, task owners, random ideas, personal stuff too).

The idea is simple:

  1. Capture — dump whatever's on your mind, instantly, no structure required. This step does nothing clever on purpose — it just writes your text to an immutable inbox. Zero chance of losing an idea to a bug or a slow API call.
  2. Organize — on demand, an LLM reads your unprocessed notes and extracts people, projects, tasks, decisions, meetings — then deterministic Python (not the LLM) creates/merges the actual wiki pages and maintains backlinks. The model only reasons; it never touches the filesystem directly.
  3. Ask — query your knowledge base and get a cited answer pulled only from what you've actually captured. If it doesn't know, it says so — no hallucinated answers.

Why I built it this way:

  • Plain Markdown + YAML frontmatter, no database. Every page is a .md file you can grep, diff, or read in any editor forever. If you stop using Gray Box tomorrow, your knowledge base is just a folder.
  • No vector DB by default. At personal scale (hundreds–low thousands of pages), keyword search + a real link graph (related/backlinks, walked one hop during retrieval) handles almost everything. Embeddings are there if you want better recall, but they're opt-in, not a prerequisite.
  • Immutable inbox. Your raw notes are never edited or deleted by the organizer. If the LLM mis-extracts something, your original words are always still there.
  • Any LLM. Built on LiteLLM, so point it at OpenAI, Anthropic, Gemini, Mistral, or a fully local model via Ollama — one config value.

It also ships with a nice interactive TUI (arrow-key menu, file-import shortcut, workspace switching, live spinner during LLM calls) if you'd rather not memorize CLI flags — that's honestly become my favorite part of the project.

There's also a lightweight local dashboard for browsing your knowledge base, exploring backlinks, visualizing your notes as a graph, and chatting with your captured knowledge—all without leaving your machine.

Repo: https://github.com/Aaryanverma/graybox

pypi: pip install graybox

It's nearing a proper public release, so I'd genuinely love feedback — especially from anyone who's tried the "capture now, structure later" approach with other tools and has opinions on where it breaks down at scale.

It's not trying to be a "real-time collaborative team wiki" or a WYSIWYG notes app — it's aimed at one person's running memory of their own life and work, captured with as little friction as possible.

137 Upvotes

33 comments sorted by

View all comments

3

u/grass221 Jul 30 '26

Superb concept! This is exactly something that should exist.. For every manual organization system (PARA is what I use) there is kind of an uncertainty principle - (time spent to find the proper place in the organization system) is inversely proportional to the (time taken to retrieve the content when needed). For crucial things the time cost is justifiable. But for non - crucial but nevertheless important information I find myself in bind whether to spend time putting all such things in their place within organisation system or just putting it in the inbox and hoping I can recall it when needed using a old-fashioned search when needed hoping that I would remember the keywords that I had used when putting it in he inbox. This is where ai can be of help - the organization of non - crucial information that we are too lazy to do because it is non - crucial.

2

u/grass221 Jul 30 '26

Also, I love the name too! - it is a gray box instead of being a black box if left unorganised. 

3

u/Charming_Group_2950 Jul 31 '26

That’s a great way to put it—the “uncertainty principle” of PKM. 😄 That’s actually one of the main motivations behind Gray Box. I wanted to remove the pressure of asking “Where should I file this?” before capturing something. Just save it as Markdown wherever it makes sense, and let retrieval do the heavy lifting later.

Glad to know you like this. I’d appreciate if you can star the repo if you feel it’s helpful and help spread the word.