Skip to content

About

my personal knowledge system + graph, chat over my own data.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Knowledge Bases / Context

Local-first personal knowledge system: highlight what you read, keep notes, chat over your own pages, graph how they connect.

Chrome extension + local dashboard + optional macOS app, one Python backend on localhost:8765. Data stays in ~/.kb/. RAG via Ollama, or OpenAI if you set a key.

Inspired by Karpathy’s knowledge-base post.

Rebecca Joseph & Ramya Iyer

How it fits together

Chrome extension  ─┐
dashboard /app/   ─┼──►  python3 main.py :8765  ──►  ~/.kb/
Context.app       ─┘

Highlight → notes in the side panel → Copy JSON onto your site if you want. Chat and graph sit next to that. Life/Wiki are archived from nav. Default LLM is Ollama; set OPENAI_API_KEY to use OpenAI.

Visuals (More Features to be Explored!)

Chrome extension

Side panel Chat
Extension side panel, light Extension chat, light

Dashboard

Overview Graph
Dashboard overview, light Dashboard graph, light

macOS app

Home Chat
Context.app home Context.app chat

Setup

macOS, Python 3.11+, Chrome. Ollama or an OpenAI key.

cp .env.example .env          # fill what you use; file is gitignored
python3 -m pip install -r requirements.txt
python3 -m spacy download en_core_web_sm
python3 main.py               # curl http://127.0.0.1:8765/health
  • Ollama: leave OPENAI_API_KEY empty; ollama pull qwen2.5:3b and nomic-embed-text.
  • OpenAI: set the key; KB_LLM_PROVIDER=auto picks it up.
node scripts/install-launcher.mjs    # starts backend when the extension opens

Chrome → chrome://extensions → Load unpacked → chrome-extension/.

bash scripts/install_app.sh && open -a Context   # optional macOS app

Vars: .env.example. Walkthrough: getting-started.

Tests

pytest tests/

Two tests talk to a live LLM — they fail if that service isn’t up, the rest of the suite doesn’t:

  • test_gmail_sync_ingests_threads — ingest still classifies via Ollama (or OpenAI if a key is in .env)
  • tests/test_llm_providers.py — OpenAI provider path needs OPENAI_API_KEY (tests stub a dummy key; a real call needs network)

Docs

docs/ · architecture · status · API

Agents: AGENTS.md → init.md

License

MIT © 2026 Ramya Iyer

About

my personal knowledge system + graph, chat over my own data.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages