chat-recall 0.5.16 → 0.5.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -7,11 +7,14 @@
7
7
  [![Smithery](https://img.shields.io/badge/Smithery-darkkraft%2Fchat--recall-7c3aed)](https://smithery.ai/server/darkkraft/chat-recall)
8
8
  [![Glama](https://img.shields.io/badge/Glama-munhq%2Fchat--recall-4f46e5)](https://glama.ai/mcp/servers/munhq/chat-recall)
9
9
 
10
- **[chatrecall.dev](https://chatrecall.dev)** · [How it works](https://chatrecall.dev/how-it-works/) · [MCP tools](https://chatrecall.dev/mcp/) · [Pricing](https://chatrecall.dev/pricing/) · [Self-host](https://chatrecall.dev/self-hosting/)
10
+ [![Install in Cursor](https://img.shields.io/badge/Install-Cursor-000?logo=cursor)](cursor://anysphere.cursor-deeplink/mcp/install?name=chat-recall&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIi1wIiwiY2hhdC1yZWNhbGwiLCJjaGF0LXJlY2FsbC1tY3AiXX0=)
11
+ [![Install in VS Code](https://img.shields.io/badge/Install-VS%20Code-007ACC?logo=visualstudiocode)](vscode:mcp/install?%7B%22name%22%3A%22chat-recall%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22-p%22%2C%22chat-recall%22%2C%22chat-recall-mcp%22%5D%7D)
12
+
13
+ **[chatrecall.dev](https://chatrecall.dev)** · [How it works](https://chatrecall.dev/how-it-works/) · [MCP tools](https://chatrecall.dev/mcp/) · [Pricing](https://chatrecall.dev/pricing/) · [Self-host](https://chatrecall.dev/self-hosting/) · [Security](https://chatrecall.dev/security/)
11
14
 
12
15
  > One memory across every AI coding tool you use. Claude Code, Gemini CLI, Codex, OpenCode, Antigravity and Cursor share a single searchable history — and the agent can search it itself.
13
16
 
14
- Your coding agents each keep their own transcripts, in their own format, in their own directory, and none of them can read another's. `chat-recall` indexes all of them into one place, redacts secrets on the way, and exposes the result to your agent through **58 MCP tools** so it can recall its own past work instead of you re-explaining it.
17
+ Your coding agents each keep their own transcripts, in their own format, in their own directory, and none of them can read another's. `chat-recall` indexes all of them into one place, redacts secrets on the way, and exposes the result to your agent through **60 MCP tools** so it can recall its own past work instead of you re-explaining it.
15
18
 
16
19
  That cross-tool part is the point. A single tool's built-in history stops at its own boundary; this does not.
17
20
 
@@ -69,10 +72,30 @@ By default this syncs to the hosted server at [chatrecall.dev](https://chatrecal
69
72
 
70
73
  No API keys are required. Search is Postgres full-text search. AI summaries are an optional upgrade, not a prerequisite.
71
74
 
75
+ ### What never leaves your machine
76
+
77
+ It indexes every AI session on this disk, so `init` shows you what would upload — count, tools, and the projects by name — and waits for a yes before the first sync. (`--yes`, or no TTY, prints the same summary and proceeds; `--skip-sync` holds the upload back entirely.) Secrets are masked client-side and project paths are sent as hashes; on top of that you choose what is in scope at all:
78
+
79
+ ```bash
80
+ chat-recall exclude project ~/work/client # a path, and everything under it, never syncs
81
+ chat-recall exclude tool cursor # one AI tool never syncs
82
+ chat-recall sync-only add git:github.com/me/app # invert it: ship ONLY what you list
83
+ chat-recall sources decline ~/.claude-work # a whole transcript profile stays out
84
+ # (--delete-remote purges what it already sent)
85
+ chat-recall exclude list # every rule in force
86
+ chat-recall delete <session-id> # purge one session on every server, tombstoned
87
+ chat-recall retention # how long the server keeps what you sent
88
+ chat-recall retention set 90 # delete anything older, on a timer (0 = keep everything)
89
+ ```
90
+
91
+ Some tools file transcripts under a hash rather than a project folder, so those sessions have no path for a path rule to match; `exclude tool` is the control that covers them, and `init` prints that count. **A retention window deletes from the server on a timer.** `retention set` prints how many sessions it would remove and makes you confirm the number. It is undoable only where the original transcript is still on a machine you have — widen the window and `chat-recall sync --full` re-ships what it admits. For a laptop you no longer own, history your AI tool rotated, or files you deleted, our copy is the only copy. Export first if you want one.
92
+
93
+ Exclusions live on the machine that holds the data, so the CLI owns them; they apply from the next sync, and rows already synced stay until deleted. The dashboard's **Sync rules** panel adds rules across every device — unioned with the local ones, so it can only ever add protection. Full model, limits included: [Security](https://chatrecall.dev/security/).
94
+
72
95
  ## Four things it actually does
73
96
 
74
97
  1. **Cross-tool unified memory.** One index, one search, one UI over Claude Code (`~/.claude/projects/`), Gemini CLI (`~/.gemini/tmp/`), Codex (`~/.codex/`), OpenCode (`~/.local/share/opencode/`), Antigravity and Cursor (`~/.cursor/` for the CLI, `~/.config/Cursor/` for the IDE). Sessions, plans, tasks, CLAUDE.md files, paste cache, shell history and agent diaries all share one pluggable `MemorySource` interface.
75
- 2. **The agent recalls itself.** 58 MCP tools, so Claude Code can `recall_smart_resume`, `recall_search` (with `like_session` to find similar work), `recall_edits_timeline`, `recall_subagent_search` and `recall_redundant_files` rather than asking you what happened last time. It writes back too, via `recall_decision_record`, `recall_kg_add` and `recall_set`.
98
+ 2. **The agent recalls itself.** 60 MCP tools, so Claude Code can `recall_smart_resume`, `recall_search` (with `like_session` to find similar work), `recall_edits_timeline`, `recall_subagent_search` and `recall_redundant_files` rather than asking you what happened last time. It writes back too, via `recall_decision_record`, `recall_kg_add` and `recall_set`.
76
99
  3. **Warns before you redo work.** A `UserPromptSubmit` hook searches for similar past sessions on every prompt and injects a short "you have done this before, in session X" note into the agent's context.
77
100
  4. **Temporal knowledge graph.** Decisions and tool mentions become entity-relationship triples with `valid_from`/`valid_to` windows, so you can ask what was decided in March and whether it still holds.
78
101
 
@@ -195,7 +218,7 @@ codeindex is open source (MIT) at [github.com/munhq/codeindex](https://github.co
195
218
  | **Paste** | `~/.claude/paste-cache/*.txt` | Large pasted blobs |
196
219
  | **Diary** | `~/.chat-recall/index/diary/<agent>/*.json` | What the agent told its future self via `recall_diary_write` |
197
220
 
198
- ## MCP tools (55, including 4 code-intelligence tools that register when the companion binary is installed)
221
+ ## MCP tools (60, including 4 code-intelligence tools that register when the companion binary is installed)
199
222
 
200
223
  **Search & retrieve** — `recall_search`, `recall_memory_search`, `recall_recent`, `recall_show`, `recall_context`, `recall_summary`, `recall_smart_resume`, `recall_project_context`, `recall_weekly_digest`, `recall_analytics_summary`, `recall_wake_up`.
201
224
 
@@ -211,6 +234,8 @@ codeindex is open source (MIT) at [github.com/munhq/codeindex](https://github.co
211
234
 
212
235
  **Diary & status** — `recall_diary_write`, `recall_diary_read`, `recall_status` (includes memory breakdown), `recall_index`. Plans/tasks: search via `recall_memory_search(source_types:['plan','task'])`, read via `recall_show`.
213
236
 
237
+ **Removing things** — `recall_forget` deletes one conversation from the server permanently, tombstoned so no later sync restores it (your own transcript file is untouched); `recall_exclude_path` stops a path syncing, on this machine and on your account. They exist as tools because "forget that conversation" and "stop syncing this repo" are things people say mid-conversation, not things they open a dashboard for. Both require `confirm: true`, both are annotated destructive, and neither is auto-approved — your client asks every time. The boundary is one-way on purpose: an agent can narrow what is stored and there is no tool that widens it again (no un-exclude, no allowlist, no retention). Widening is yours: `chat-recall exclude remove`, or the dashboard.
238
+
214
239
  When the codeindex companion is installed, the agent *also* gets 16 code-level tools (`find_symbol`, `find_callers`, `get_imports`, `plan_change`, `get_change_impact`, `analyze`, etc.) from a separate MCP server. They compose: chat-recall finds what you've done; codeindex tells you what currently exists.
215
240
 
216
241
  ## Search architecture