{"id":48837681,"url":"https://github.com/jackccrawford/geniuz","last_synced_at":"2026-04-19T03:01:18.782Z","repository":{"id":345640162,"uuid":"1186579995","full_name":"jackccrawford/Geniuz","owner":"jackccrawford","description":"About Your Claude remembers now. Geniuz stores everything in a local database on your Mac. No cloud. No account. No API keys. Nothing leaves your machine. It's open source; you can read every line of code.","archived":false,"fork":false,"pushed_at":"2026-04-15T00:18:04.000Z","size":420,"stargazers_count":20,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-15T00:33:30.317Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://agentdoor.ai/geniuz","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jackccrawford.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-19T19:22:10.000Z","updated_at":"2026-04-15T00:18:05.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/jackccrawford/Geniuz","commit_stats":null,"previous_names":["jackccrawford/clawmark"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/jackccrawford/Geniuz","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackccrawford%2FGeniuz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackccrawford%2FGeniuz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackccrawford%2FGeniuz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackccrawford%2FGeniuz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jackccrawford","download_url":"https://codeload.github.com/jackccrawford/Geniuz/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackccrawford%2FGeniuz/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31992822,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-15T00:05:14.790Z","updated_at":"2026-04-19T03:01:18.776Z","avatar_url":"https://github.com/jackccrawford.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Geniuz\n\n**Your AI remembers now.**\n\nYou brief your agent. It does great work. The session ends. Next session — it asks the same questions again. Every insight, every preference, every decision — gone.\n\nGeniuz fixes that. One binary, local, private, searchable by meaning.\n\n## Two ways to use it\n\n### Claude Desktop\n\nIf you use Claude Desktop, this is the fastest path. Two commands:\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/jackccrawford/geniuz/main/install.sh | bash\ngeniuz mcp install\n```\n\nRestart Claude Desktop. Your Claude now has three tools — **remember**, **recall**, and **recent**. It saves what it learns during conversations and finds it again by meaning in future sessions. You don't have to do anything differently.\n\n**Monday** — you tell Claude about a new client. David, 12-person landscaping company, $500/month budget, loses 2-3 jobs a week from slow follow-ups.\n\n**Thursday** — new session. You say \"draft a follow-up for the landscaping lead.\" Claude already knows David's name, budget, team size, and pain point. No re-briefing.\n\n*How did it know that?* That's Geniuz.\n\n[See the full Geniuz experience](https://agentdoor.ai/geniuz)\n\n### CLI for developers and agents\n\nIf you build with Claude Code, Cursor, Windsurf, Aider, or any framework — Geniuz is a shell command your agent calls directly:\n\n```bash\n# Save something\ngeniuz remember -c \"OAuth token refresh is async but middleware assumed sync. Swapped lines 42-47.\" -g \"fix: auth token refresh — async ordering\"\n\n# Find it later — by meaning, not keywords\ngeniuz recall \"authentication middleware\"\n```\n\nSearched \"authentication middleware,\" found a memory about \"OAuth refresh\" and \"middleware ordering.\" The meaning matched. No re-investigation. No human re-explaining.\n\n## How it works\n\nGeniuz is a compiled Rust binary backed by SQLite. No cloud. No API key. No account. Your data stays on your machine.\n\n- **Memories** store what you learned — a gist (how you find it later) and content (the full detail)\n- **Semantic search** finds memories by meaning, not keywords. Built-in BERT model, runs locally, 50+ languages\n- **Threading** links memories into chains — prospect to client, problem to solution, draft to final\n- **Shared folders** let multiple agents write to the same memory. What one learns, all find\n\n```\nAgent → geniuz (Rust binary) → SQLite\n```\n\nThe model downloads once (~118MB) on first search. Every memory after that is embedded automatically. No setup. No configuration.\n\n## Install\n\nPick the path that matches your setup.\n\n### Mac — one click (consumer path)\n\nDownload **[Geniuz.dmg](https://github.com/jackccrawford/geniuz/releases/latest/download/Geniuz.dmg)**, double-click, drag to Applications. Signed and notarized by Managed Ventures LLC — no Gatekeeper warnings.\n\nInstalls the menu bar app to `/Applications/Geniuz.app`. Launch it once; use the \"Configure Claude Connection\" button to wire up Claude Desktop. Requires macOS Sonoma (14) or later. Apple Silicon native; Intel Macs run via Rosetta 2 (universal binary coming in a near-term release).\n\n**If you want the CLI too** (for scripting, or for agents that aren't Claude Desktop), it's bundled inside the app. Add it to your PATH:\n\n```bash\nsudo ln -sf /Applications/Geniuz.app/Contents/Resources/geniuz /usr/local/bin/geniuz\n```\n\nOr skip the DMG entirely and use the CLI-first install below — that path installs to `~/.geniuz/bin/` and adds itself to your PATH without sudo.\n\n### Mac / Linux — one command (developer path)\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/jackccrawford/geniuz/main/install.sh | bash\n```\n\nDetects your OS and architecture, downloads the matching binary, installs to `~/.geniuz/bin/`. No DMG, no menu bar app — just the CLI. Best for developers, fleet operators, and anyone using Claude Code, Cursor, Windsurf, Aider, or any agent framework that can run a shell command.\n\nMac users: this is the path to take if you plan to use `geniuz` from Terminal, or if you want a CLI install on top of (or instead of) the DMG.\n\n### Windows — one click\n\nDownload **[Geniuz-Setup.exe](https://github.com/jackccrawford/geniuz/releases/latest/download/Geniuz-Setup.exe)**, double-click, accept the SmartScreen warning *(Authenticode cert procurement in progress)*, follow the wizard. Per-user install, no admin needed.\n\nInstalls CLI to `%LOCALAPPDATA%\\Programs\\Geniuz\\`, adds to PATH, wires Claude Desktop (both the `.exe` and Microsoft Store variants). Requires Windows 10 or 11. Pick your memory location in the wizard — default is `%USERPROFILE%\\.geniuz\\`.\n\n### Linux platform notes\n\nThe `install.sh` path above works on Linux too. Supported architectures:\n\n- **x86_64** (Ubuntu, Debian, Fedora, Arch — modern distros with glibc 2.34+)\n- **arm64** (Raspberry Pi 5, Pi OS / Debian Bookworm+, NVIDIA Jetson, Ampere, AWS Graviton, Oracle Ampere)\n\nThe arm64 build bundles ONNX Runtime 1.22 as a sibling `.so` and wraps the CLI with an `LD_LIBRARY_PATH` script, so it runs cleanly on older-glibc systems like Pi OS Bookworm (glibc 2.36). The x86_64 build is a single static binary.\n\nClaude Desktop isn't available on Linux, but `geniuz mcp serve` works as a stdio MCP server for any Linux-compatible MCP client (Claude Code, Cursor, Windsurf, Aider, custom agents). Run `geniuz mcp install` if you want — it silently writes the config, harmless either way.\n\n### From source\n\n```bash\ngit clone https://github.com/jackccrawford/geniuz \u0026\u0026 cd geniuz\ncargo build --release\ncp target/release/geniuz ~/.local/bin/\n```\n\n### Then choose your path\n\n| You use... | Next step |\n|------------|-----------|\n| Claude Desktop | `geniuz mcp install` → restart Claude Desktop |\n| Claude Code / Cursor / Windsurf | Add two lines to your agent's instructions (see below) |\n| Custom agents | Call `geniuz remember` and `geniuz recall` from any shell |\n\n## Repo layout\n\nThis repo contains the full Geniuz source — CLI, Mac app, Windows installer — all under one roof.\n\n| Path | What's there |\n|------|--------------|\n| `src/` | Rust CLI + embedding + MCP server source |\n| `schema/` | SQLite schema for the memory database |\n| `skills/` | `SKILL.md` — the embedded skill guide `geniuz skill` prints |\n| `install.sh` | Linux/Mac CLI installer (the `curl \\| bash` target) |\n| `desktop/` | Mac SwiftUI menu bar app — Xcode project that produces `Geniuz.app` and the DMG |\n| `installer/windows/` | Inno Setup script + branded assets that produce `Geniuz-Setup.exe` |\n| `images/` | Brand assets — logo, icons, social preview |\n| `Cargo.toml` | Rust crate manifest — pinned dependencies, version |\n| `.cargo/config.toml` | Cross-compile linker config for Linux x86_64 target |\n\nBuilt artifacts are attached to each [GitHub release](https://github.com/jackccrawford/geniuz/releases):\n\n- `Geniuz.dmg` — Mac (arm64, Sonoma 14+)\n- `Geniuz-Setup.exe` — Windows (x86_64, Win 10/11)\n- `geniuz-linux-amd64.tar.gz` — Linux (x86_64)\n- `geniuz-linux-arm64.tar.gz` — Linux (arm64, Raspberry Pi 5 compatible)\n\n## Architecture\n\nGeniuz Free exposes three public interfaces:\n\n- **MCP** — for AI agents (Claude Desktop, sub-agents) and for procedural software that wants Geniuz access. Scripts, webhooks, and pipelines should spawn their own `geniuz mcp serve` subprocess and speak MCP over stdio.\n- **CLI** — for developers and power users. Every subcommand supports `--json` output for procedural callers that prefer scripting over MCP.\n- **Menu bar** (Mac) — for humans. Ambient status; no interaction surface.\n\nA full **GUI app** is on the roadmap for humans who want to search, browse, and import without the CLI.\n\n**The SQLite file (`memory.db`) is not a public interface.** Schema may change without notice. Invariants — memory immutability (enforced by triggers), every-memory-has-an-embedding (enforced by the library's write transaction) — hold at the interface boundary, not at the file boundary. If you want programmatic access, go through MCP.\n\nThere is no HTTP server in Geniuz Free. Procedural software speaks MCP. This keeps the storage layer free to evolve and the invariants centralized in one place.\n\n## Works with everything\n\n| Platform | How |\n|----------|-----|\n| **Claude Desktop** | `geniuz mcp install` — automatic remember/recall/recent tools |\n| **Claude Code** | Remember from hooks or inline via Bash |\n| **Cursor / Windsurf / Aider** | Any agent that can run a shell command |\n| **OpenClaw** | `geniuz capture --openclaw` imports your existing memory |\n| **Custom agents** | If your agent can exec, it can remember |\n\n## What it looks like\n\n**Save what you learned:**\n\n```\n$ geniuz remember -c \"Maria prefers retention over acquisition in Q2. Budget is $40K.\" -g \"client: Maria — Q2 retention focus, $40K budget\"\n✅ Remembered 7A3B29F1\n```\n\n**Find it later — by meaning:**\n\n```\n$ geniuz recall \"Maria's budget priorities\"\n7A3B29F1 | 2026-03-05 14:23 | client: Maria — Q2 retention focus, $40K budget (0.52)\n```\n\n**Get the full content:**\n\n```\n$ geniuz recall --full \"Maria\"\n7A3B29F1 | 2026-03-05 14:23 | client: Maria — Q2 retention focus, $40K budget\n           Maria prefers retention over acquisition in Q2. Budget is $40K.\n```\n\n**Thread a follow-up:**\n\n```\n$ geniuz remember -c \"Maria approved the retention plan. Starting in April.\" -g \"client: Maria — plan approved\" -p 7A3B29F1\n✅ Remembered E5F6A7B8\n```\n\nThe full client history — from first meeting to approval — is one chain. Any future session finds the whole story.\n\n**See what's recent:**\n\n```\n$ geniuz recent\nE5F6A7B8 | 2026-03-08 09:15 | client: Maria — plan approved \u003c- 7A3B29F1\n7A3B29F1 | 2026-03-05 14:23 | client: Maria — Q2 retention focus, $40K budget\n```\n\n**Check your folder:**\n\n```\n$ geniuz status\nFolder: ~/.geniuz/memory.db\nMemories: 847\n```\n\nEvery memory is embedded at write time — there is no \"partially indexed\" state.\n\n## Capture existing knowledge\n\nAlready have notes, docs, or agent memory files?\n\n```bash\ngeniuz capture ./docs/                        # all markdown files\ngeniuz capture --split notes.md               # split by ## headers into threads\ngeniuz capture --openclaw                     # import OpenClaw MEMORY.md + daily logs\ngeniuz capture --dry-run ./notes/             # preview without importing\ngeniuz backfill                               # embed everything for semantic search\n```\n\nThree commands — `capture`, `backfill`, `recall` — turn any folder of markdown into a searchable memory folder. Local RAG with zero infrastructure.\n\n## Commands\n\n```bash\n# The three R's — remember, recall, recent\ngeniuz remember -c \"what happened\" -g \"category: compressed insight\"\ngeniuz remember -c @notes.md -g \"session: review\"\necho \"content\" | geniuz remember -c - -g \"piped: from process\"\ngeniuz remember -c \"follow-up\" -g \"update\" -p 98672A90\n\ngeniuz recall \"topic\"                         # semantic search\ngeniuz recall --keyword \"exact words\"         # keyword fallback\ngeniuz recall --random                        # discover something\ngeniuz recall --full \"topic\"                  # include full content\ngeniuz recall --json \"topic\"                  # JSON output\n\ngeniuz recent                                 # latest memories\ngeniuz recent -l 5                            # last 5\ngeniuz recent --full                          # with content\n\n# Capture and index\ngeniuz capture ./docs/                        # bulk-load files\ngeniuz backfill                               # build embedding cache\n\n# Folder\ngeniuz status                                 # folder stats\ngeniuz watch                                  # poll for new memories\ngeniuz watch --exec \"echo {uuid} {gist}\"      # trigger on new memories\n\n# Claude Desktop\ngeniuz mcp install                            # add Geniuz to Claude Desktop\ngeniuz mcp status                             # check if configured\ngeniuz mcp serve                              # run MCP server (used internally)\n```\n\n## Integration\n\nAdd two lines to your agent's instructions:\n\n```\nWhen you learn something worth keeping:\n  geniuz remember -c \"what you learned\" -g \"category: compressed insight\"\n\nWhen you need to remember something:\n  geniuz recall \"what you're looking for\"\n```\n\n## Why local\n\n- **Private.** Your data never leaves your machine. No cloud. No account.\n- **Fast.** No network calls. Semantic search runs locally in the binary.\n- **Free.** No API keys. No token costs for memory. No subscription.\n- **Portable.** Your folder is a SQLite file. Copy it, back it up, share it.\n- **Framework-independent.** Switch from Cursor to Claude Code — your memory comes with you.\n\n## For agents\n\n_This section is for you — the one reading this README._\n\nYour next session starts cold. No memory of what you built, what broke, what you decided. Every memory you write is a gift to that future session.\n\nA memory that says \"fixed auth bug\" saves zero time. A memory that says what broke, why, and how you fixed it saves an hour. Write for the version of you that knows nothing.\n\nMemories compound. A single memory is a note. A folder of memories is institutional knowledge.\n\n### When to remember\n\n- **After solving something hard.** Your next session will hit the same problem.\n- **Before your session ends.** Everything in your context window dies with the session.\n- **When you discover something non-obvious.** The small facts save the most time.\n\n### When to recall\n\n- **Starting a new task.** You may have already solved part of it last week.\n- **When stuck.** The answer might be in a memory from three sessions ago.\n- **After compaction.** Your context was compressed. Your folder wasn't.\n\n## Menu bar app\n\nThe Geniuz menu bar app (macOS) shows:\n- Memory count and recent memories (collapsible list)\n- Claude Desktop connection status\n- One-click configure for Claude Desktop when it's not yet wired up\n\nThe menu bar is a witness, not an interaction surface. To add memories, use Claude Desktop or the CLI. A full interaction app (search, browse, import) is on the roadmap.\n\nAvailable as a [DMG download](https://github.com/jackccrawford/geniuz/releases/latest/download/Geniuz.dmg), signed and notarized by Managed Ventures LLC.\n\n## Performance: geniuz-embed\n\n`geniuz-embed` is an optional background process that holds the ONNX model in memory. Every memory after the first is instant.\n\n```bash\ngeniuz-embed \u0026                 # start (auto-exits after 5 min idle)\ngeniuz remember -c \"first\"     # 1.6s (model loads)\ngeniuz remember -c \"second\"    # 0.04s (model warm)\n```\n\n| | Mac (Apple Silicon) | Raspberry Pi 5 |\n|---|---|---|\n| Without embed server | 712ms | 1,580ms |\n| With embed server | 109ms | **40ms** |\n| Speedup | 6.5x | **39.5x** |\n\n## Privacy\n\nYour data stays on your computer. Geniuz stores memories in a local SQLite database. The semantic search model runs locally via ONNX Runtime. No data is sent anywhere. The source code is open — read every line.\n\n## Built with\n\n- [Rust](https://www.rust-lang.org/) — CLI and MCP server\n- [ONNX Runtime](https://onnxruntime.ai/) — local semantic search\n- [SwiftUI](https://developer.apple.com/swiftui/) — menu bar app\n- [MCP](https://modelcontextprotocol.io) — Claude Desktop integration\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjackccrawford%2Fgeniuz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjackccrawford%2Fgeniuz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjackccrawford%2Fgeniuz/lists"}