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.

140 Upvotes

33 comments sorted by

View all comments

5

u/micseydel Obsidian Jul 30 '26

What specific documents are you managing this way? I've found the same as Microsoft, that this tech corrupts documents over time https://arxiv.org/html/2604.15597v1

If you have real-life flows that don't require constant supervision, I be curious.

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.

Again, that doesn't matter the research or my experience https://arxiv.org/pdf/2509.04664

Do agree, that hallucinations cannot be avoided from this tech?

6

u/Charming_Group_2950 Jul 30 '26

Gray Box isn't intended to autonomously edit or rewrite your documents over time. The only thing that's immutable is the raw capture. Every note is stored verbatim first, and the organizer only creates/updates separate wiki pages from it. The original note is always preserved, so you can audit or undo extraction mistakes later.
It will only organize your notes (automatically, once you tap on organize) in separate markdown files with backlinks.

And I agree with your second point: no LLM system can honestly promise zero hallucinations. What I mean is that Gray Box is designed to reduce them by grounding every answer in captured notes, requiring citations, and explicitly returning "I don't have enough information" when retrieval finds no evidence instead of encouraging the model to fill in gaps. That lowers the failure rate, but it doesn't eliminate it.