chat-recall 0.5.15 → 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 +29 -4
- package/dist/cli.js +394 -48
- package/dist/cli.js.map +1 -1
- package/dist/mcp.js +874 -136
- package/dist/mcp.js.map +1 -1
- package/dist/open-browser.d.ts +7 -0
- package/dist/open-browser.d.ts.map +1 -0
- package/dist/open-browser.js +54 -0
- package/dist/open-browser.js.map +1 -0
- package/dist/scan-worker.js +8 -0
- package/dist/sync-client.d.ts +12 -0
- package/dist/sync-client.d.ts.map +1 -1
- package/dist/sync-client.js +66 -4
- package/dist/sync-client.js.map +1 -1
- package/dist/watch.js +181 -33
- package/package.json +1 -1
- package/skills/chat-recall/SKILL.md +21 -0
- package/skills/chat-recall-project/SKILL.md +11 -0
package/README.md
CHANGED
|
@@ -7,11 +7,14 @@
|
|
|
7
7
|
[](https://smithery.ai/server/darkkraft/chat-recall)
|
|
8
8
|
[](https://glama.ai/mcp/servers/munhq/chat-recall)
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
[](cursor://anysphere.cursor-deeplink/mcp/install?name=chat-recall&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIi1wIiwiY2hhdC1yZWNhbGwiLCJjaGF0LXJlY2FsbC1tY3AiXX0=)
|
|
11
|
+
[](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 **
|
|
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.**
|
|
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 (
|
|
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
|