Repository navigation
v1.7.0
Install
curl -fsSL https://raw.githubusercontent.com/JeremiahM37/grimoire/main/install.sh | sh # Linux, macOS
brew install JeremiahM37/tap/grimoire # Homebrew
scoop bucket add jeremiahm37 https://github.com/JeremiahM37/scoop-bucket && scoop install grimoire # Windows
docker run -p 9111:9111 -v grimoire-vault:/vault ghcr.io/jeremiahm37/grimoire:1.7.0
go install github.com/JeremiahM37/grimoire/go/cmd/grimoire@latest # the module lives in go/, so @latest resolves the go/v1.7.0 tagWindows PowerShell one-liner: irm https://raw.githubusercontent.com/JeremiahM37/grimoire/main/install.ps1 | iex.
Archives (binary beside web/ and plugins/: extract and run), .deb, .rpm and checksums.txt are attached below.
Changelog
- 5e29d6b Add GRIMOIRE_MCP_TOOLS to mount a lean core tool set
- f67e247 Add a Memory banks panel to the web app
- e609708 Add a pure-Go cross-encoder reranker
- 6daccc1 Add an HTTP reranker for /rerank services
- 5db3474 Add an Obsidian plugin for agent memory
- b2fe584 Add an optional Read hook that injects a file's memory history, installed only with agent install --files
- 01b9ea0 Add bank clients for Python and JavaScript, with a chat memory wrapper
- 6e7b8fa Add dreaming: a scheduled sweep over agent memory with a security pass
- 3264879 Add grimoire agent install: merge hooks and the MCP entry into Claude Code or Codex, back up, and undo
- 9259551 Add grimoire bank: memory banks from the shell, over HTTP
- d68c219 Add memory banks: retain transcripts into facts, recall over four signals
- 817487b Add memory freshness: tiers, learned change rates, and optional decision models
- 8324991 Align the Python and JavaScript bank clients and the session hook with the engine
- 333c829 Apply the new violet and magenta keyhole-book brand across the app, PWA icons and README
- 2d398c2 Banks panel: edit observations, review and merge duplicates, choose full or delta refresh
- d96b72d Capture tool activity into a local buffer by rule and retain it once per session without a model
- f711c1d Compact the evidence explorer: one top bar, collapsible filters, map-first
- df7822a Consolidate bank facts into observations, keep mental models, reflect, and run work in the background
- 614cb68 Declutter the app shell: icon tool row, labelled note header with ⋯ menu
- f9c82a0 Describe the bank CLI and web panel as they now are
- dbd5746 Document coding-agent banks and add a session-retain hook
- 3fc8742 Document memory banks on their own terms
- dcc08d6 Document the bank routes the surfaces build on, and verify the offline bank paths
- 33bc0bc Document the one-command install, privacy rules, session digests and progressive disclosure
- 2152fd1 Drop the graph's unused sigma layers so software rasterisers keep 60 fps
- 14cede7 Edit an observation from the API, MCP and CLI, and keep it a person's afterwards
- c4b1916 Editor layout: readable width, fold carets on hover, desktop toolbar hidden
- 76d577e Editor: bullets, hanging list indent and Ctrl+B/Ctrl+I
- f8a6053 Evidence explorer: degree-sized nodes, organic layout, collapsed list view
- 87dc16a Evidence explorer: one close button inside the shared panel frame
- 98334de Export the WordPiece tokenizer so a second BERT model can share it
- 703a3d0 Expose memory banks to agents over MCP
- 8b7b764 Fit the session-start injection under a character limit by dropping its lowest-value items
- 7eb46bf Fix staticcheck findings: remove unused code, merge a declaration
- c1e3b03 Fold a lone first name into the bank's one matching full-name entity
- ad082da Follow the theme in the installed app's title bar; dark manifest colours
- d9c103a Format two test files the way CI's gofmt check expects
- af388e7 Freshness docs: fine-tuned Laya matches Jev; how to fine-tune it
- 224ded6 Give agents reflect, observations, mental models and operations over MCP, one bank per endpoint
- bab36dc Give structured LLM callers a system prompt, JSON mode, budgets and a thinking switch
- 6fec90d Give the Python and JavaScript bank clients file memory, duplicate review and delta refresh
- 48bfb27 Give the Python and JavaScript bank clients the context, index, timeline, get and digest calls
- 9762815 Handle --help/-h/help centrally before any side effect; require an explicit vault for seed-demo, ingest, import
- 1f06ba9 Keep reflect answers short, cap tool calls by budget and cite only what the answer uses
- 0b521b1 Keep the UX dev-loop scripts out of the repository
- 1a51701 Keep the client lookup from shadowing profile, and lint the new hook code the way CI does
- aedc180 Keep the test imports at the top of their modules
- e378462 Let agents skim a bank by index, look around an entry, and fetch only the ids they need
- ac54317 Lint the mobile theme test
- 28038c4 List near-duplicate facts and observations with an IDF-weighted veto, and merge one on request by striking it through
- f67ee4f Make benchmark claude calls lean: no tools and a one-line system prompt
- 58c0165 Make the knowledge-console edit test deterministic: release the edit after the first answer and wait for the reindex
- e76a9e5 Manage a bank's webhooks and read their recent deliveries in the banks panel
- 8d59e3d Merge branch 'feat/bank-surfaces' into feat/memory-engine
- ecc5389 Merge branch 'feat/rerank' into feat/memory-engine
- 0f56779 Merge branch 'ux/g1' into ux/obsidian-parity
- a73ce30 Merge branch 'ux/g3' into ux/obsidian-parity
- 0fabd53 Merge branch 'ux/g4' into ux/obsidian-parity
- 24064cb Merge feat/dreaming: dreaming, memory freshness, decision models
- e233a8f Merge pull request #2 from JeremiahM37/feat/memory-engine
- 2e56dd3 Merge pull request #3 from JeremiahM37/brand-refresh
- 4f2a581 Merge pull request #4 from JeremiahM37/fix/subcommand-help
- 51213fc Merge remote-tracking branch 'origin/main' into feat/dreaming
- 4f76935 Merge ux/mobile-human: phone folder taps, Yours/From agents note list
- e2954e5 Note list: rows in a folder group show only their subfolder; folder tests match the group heading
- 3e023be Phone layout: tab bar, full-screen notes, sheets, pinned toolbar, back gesture, split panels, gzip static assets
- c91ad95 Phone: a folder tap folds it instead of leaving the list; list your own notes apart from agents'
- 4a2b701 Pick the notes the phone tests mean by path
- 988208e Put a bare model id in the folder it is created with, and say what already exists
- cf734ce Python and JS bank clients: add update_observation
- dc19c17 Quote frontmatter values plain YAML cannot hold
- d87645c Rebuild the graph view on sigma with off-thread layout, clusters and focus
- fd5525a Record a model fact that contradicts a person's fact in another document as a challenge, so recall and reflect show it disputed
- 9a991b7 Refresh a mental model by editing only the sections new facts touch, leaving a person's sections alone
- 2cd918d Run the reranker's matmul kernel with AVX2 FMA on amd64
- 601e18e Score bank keyword matches in Go and keep frontmatter a person added
- 6e77743 Screen personal data on retain per bank: off, redact into typed placeholders, or flag in metadata
- 80f760b Select the reranker from settings
- 76b48c9 Serve memory banks over HTTP under the bank folder's access rules
- e56feeb Serve real-cert HTTPS on the tailnet addresses (GRIMOIRE_TLS_PORT) and complete the PWA manifest
- 422df1f Serve reflect, observations, mental models, operations, webhooks and templates over HTTP
- 59793cf Serve the graph as a compact, ETag-cached payload with note dates and tags
- bc5d7db Show observations, mental models, directives and operations from the engine in the banks panel
- 47e397d Simplify the longest-first truncation rule
- e63767b Speak the bank engine's real routes from grimoire bank
- e548fe4 Strip spans and redact credentials before a retain stores anything
- 85ec283 Tell consolidation to group related new facts into one observation, even in a fresh bank
- 1c5e3a1 Test the banks panel end to end, with no model and with a stub model
- 8d4f4da UX dev loop: scratch server and screenshot helper
- 3115841 Unify panel frame: one header and close button, consistent vault forms, full-screen phone panels
- cf0603c Write a where-we-left-off digest per session into the bank and lead each session start with it
- 0cf4678 agent install: record Codex hook trust (untrusted hooks never run); keep the first backup of a file
- f8a11e6 fix default port