No description
- Python 100%
audio_extract() now checks audio_backend config key ('llm' or 'whisper').
Default is 'llm' — tries LLM first, falls back to whisper on failure.
Set to 'whisper' to skip the LLM audio call entirely.
|
||
|---|---|---|
| bin | ||
| skills | ||
| .gitignore | ||
| config.json.sample | ||
| initial-plan.md | ||
| plan.md | ||
| README.md | ||
| requirements.txt | ||
| TODO.md | ||
org — personal LLM knowledge management
Capture thoughts (typed or audio→transcript) into topic-sorted markdown files, indexed for similarity search. The LLM extracts ideas, links, and tasks during ingest.
Quick start
pip install -r requirements.txt
Create ~/.config/org/config.json:
{"llm_base_url": "http://...:8000/v1", "llm_api_key": "key", "llm_model": "model"}
Tools
| Tool | What |
|---|---|
org-inbox [--watch] |
Process inbox/ — LLM extracts topic, summary, tasks; routes to topic dir; indexes |
org-search <query> [--topic X] |
Chroma similarity search, returns JSON |
org-write <topic> <title> [--stdin] |
Add a note (opens $EDITOR or reads stdin) |
org-read <path> |
Print note as JSON |
org-recent [--topic X] |
Recent notes with LLM one-liner summaries |
org-reflect <topic> |
Daily reflection: LLM synthesizes decisions + priorities |
org-refresh |
Re-index all notes into chroma |
Examples
# Write a note interactively
org-write maemo-leste "eBPF tracing thoughts"
# Write a note from stdin
echo "XDP gave 30% throughput gain" | org-write work "XDP results" --stdin
# Process everything in inbox/ (audio + text)
org-inbox
# Keep processing as files arrive
org-inbox --watch
# Search
org-search "eBPF kernel tracing"
org-search "deadline" --topic work
# Read a specific note
org-read maemo-leste/2026-06-20.md
# Recent changes with summaries
org-recent
org-recent --topic maemo-leste
# Daily reflection for a topic
org-reflect maemo-leste
# Rebuild chroma index after bulk edits
org-refresh
Directory layout
~/org/
├── inbox/ # drop files here → org-inbox processes them
├── life/ # topic directory
├── work/
├── maemo-leste/
└── .db/ # chroma persistence
SKILL file
skills/org.md documents these tools for LLM harnesses (Hermes, opencode, etc.). The harness reads it as system prompt context so the LLM can call tools during chat.
Design
- CLI tools are harness-agnostic. Any LLM frontend can call them.
- Chat context lives in the LLM conversation, not in the tools.
- Tasks emerge from notes naturally; no separate task DB.