thr is a small local CLI for saving explicit memories and recalling them later by meaning or text. It is built for agent workflows: stable JSON output, offline semantic search, and installable skills for Codex, OpenCode, and Claude Code.
curl -fsSL https://raw.githubusercontent.com/Chadi00/thr/master/install.sh | bashThe installer downloads the latest macOS or Linux release and verifies signed checksums before installing. Prefer manual verification? See MANUAL_INSTALL.md.
thr add "This project prefers small PRs with tests"
thr ask "how should I structure this PR?"
thr search "small PRs"
thr listthr ask performs semantic recall over your saved memories. It does not call an LLM or generate an answer.
Install the thr skill for your coding agent:
thr setup codex
thr setup opencode
thr setup claude-codeAfter that, an agent can retrieve durable project facts with thr ask --json or thr search --json, then maintain memories with thr add, thr edit, and thr forget.
- Local first: memories live in your own SQLite database.
- Semantic and text recall: use
askfor meaning,searchfor exact or fuzzy text. - Agent ready: JSON output and packaged skills make it easy for agents to use safely.
- Offline by default: the embedding model and ONNX Runtime are bundled with the release.
- Explicit memory:
thrstores only what you save.
thr add <text> Save a memory
thr add - Save stdin
thr list List memories and ids
thr show <id> Print one memory
thr ask <question> Retrieve semantically similar memories
thr search <query> Search memories by text
thr edit <id> <text> Replace a memory
thr forget <id> Delete a memory
thr stats Show database path and count
thr index Rebuild semantic embeddings
thr prefetch Prepare the model cache
thr setup <agent> Install an agent skillUseful flags:
thr --db ./thr.db ...
THR_DB=./thr.db thr list
thr ask --json "repo conventions"
thr search -n 5 "release notes"| Data | Default |
|---|---|
| Memories | ~/.thr/thr.db |
| Model cache | ~/.thr/models |
| Install prefix | ~/.local |
Memories are stored as local plaintext SQLite. The default data directories are created with private filesystem permissions, but the database is not encrypted at rest.
thr has no telemetry. Release archives include the embedding model and runtime needed for offline semantic search.
Prebuilt releases support macOS arm64/x86_64 and glibc Linux arm64/x86_64.
Windows and Alpine/musl Linux are not supported yet.
