chat-recall 0.5.8 → 0.5.9
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 +11 -24
- package/dist/cli.js +388 -131
- package/dist/cli.js.map +1 -1
- package/dist/intent-drain.d.ts.map +1 -1
- package/dist/intent-drain.js +68 -2
- package/dist/intent-drain.js.map +1 -1
- package/dist/mcp.js +258 -38
- package/dist/mcp.js.map +1 -1
- package/dist/sync-client.d.ts.map +1 -1
- package/dist/sync-client.js +12 -2
- package/dist/sync-client.js.map +1 -1
- package/dist/watch.js +2485 -2050
- package/package.json +1 -1
- package/skills/chat-recall/SKILL.md +2 -0
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
> 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
13
|
|
|
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 **
|
|
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 **55 MCP tools** so it can recall its own past work instead of you re-explaining it.
|
|
15
15
|
|
|
16
16
|
That cross-tool part is the point. A single tool's built-in history stops at its own boundary; this does not.
|
|
17
17
|
|
|
@@ -70,12 +70,12 @@ chat-recall recent # what was I working on
|
|
|
70
70
|
|
|
71
71
|
By default this syncs to the hosted server at [chatrecall.dev](https://chatrecall.dev), which starts with a 7-day trial that needs no card and is a paid subscription after that — see [pricing](https://chatrecall.dev/pricing/). To keep everything on your own machine instead, run the server yourself: that is **free for one person, forever**, with every feature and no licence key — the task board and Toolkit included — and a licence only buys collaboration: a second member, shared history, assigning work. See [Self-host](#self-host-the-server-docker-compose) below. Either way the CLI is the same binary and the same commands; only the server URL differs.
|
|
72
72
|
|
|
73
|
-
No API keys are required. Postgres full-text search
|
|
73
|
+
No API keys are required. Search is Postgres full-text search. AI summaries are an optional upgrade, not a prerequisite.
|
|
74
74
|
|
|
75
75
|
## Four things it actually does
|
|
76
76
|
|
|
77
77
|
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.
|
|
78
|
-
2. **The agent recalls itself.**
|
|
78
|
+
2. **The agent recalls itself.** 55 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`.
|
|
79
79
|
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.
|
|
80
80
|
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.
|
|
81
81
|
|
|
@@ -83,15 +83,6 @@ No API keys are required. Postgres full-text search is the default backend; vect
|
|
|
83
83
|
|
|
84
84
|
A new backend is one file and one line — no changes to the engine. See [`docs/ADDING_A_TOOL.md`](docs/ADDING_A_TOOL.md). If a tool you use writes transcripts to disk, it can be indexed here, and a pull request is the fastest way to make that happen.
|
|
85
85
|
|
|
86
|
-
### Optional: vector search
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
ollama pull nomic-embed-text
|
|
90
|
-
chat-recall sync --full # re-ships; the server embeds chunks into pgvector
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
…or set `EMBEDDING_PROVIDER=gemini` with `GEMINI_API_KEY` if you'd rather use a hosted embedder. Without either, search falls back to Postgres FTS — same results surface, slightly less semantic.
|
|
94
|
-
|
|
95
86
|
### Optional: web dashboard
|
|
96
87
|
|
|
97
88
|
The React dashboard is part of the **server** (SaaS or self-host docker
|
|
@@ -119,8 +110,7 @@ troubleshooting, is in **[docs/SELF_HOSTING.md](docs/SELF_HOSTING.md)**.
|
|
|
119
110
|
Two containers: the server plus a bundled `pgvector/pgvector` Postgres, so a
|
|
120
111
|
plain `docker compose up` is self-contained. Bring-your-own-Postgres is
|
|
121
112
|
supported too (it is how the hosted service runs): set `DATABASE_URL` to an
|
|
122
|
-
external Postgres 16+.
|
|
123
|
-
search — everything degrades to full-text without it.
|
|
113
|
+
external Postgres 16+.
|
|
124
114
|
|
|
125
115
|
### Keep the index live (+ optional server sync)
|
|
126
116
|
|
|
@@ -208,7 +198,7 @@ codeindex is open source (MIT) at [github.com/munhq/codeindex](https://github.co
|
|
|
208
198
|
| **Paste** | `~/.claude/paste-cache/*.txt` | Large pasted blobs |
|
|
209
199
|
| **Diary** | `~/.chat-recall/index/diary/<agent>/*.json` | What the agent told its future self via `recall_diary_write` |
|
|
210
200
|
|
|
211
|
-
## MCP tools (
|
|
201
|
+
## MCP tools (55, including 4 code-intelligence tools that register when the companion binary is installed)
|
|
212
202
|
|
|
213
203
|
**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`.
|
|
214
204
|
|
|
@@ -228,12 +218,11 @@ When the codeindex companion is installed, the agent *also* gets 16 code-level t
|
|
|
228
218
|
|
|
229
219
|
## Search architecture
|
|
230
220
|
|
|
231
|
-
Search runs **on the server
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
- **Vector (pgvector)** — opt-in, and needs an embedder: Ollama, any OpenAI-compatible embeddings endpoint, or a Gemini API key. The vector width follows the model you point it at, so pick one embedder and keep it — changing it means a full re-index.
|
|
221
|
+
Search runs **on the server**, and it is Postgres full-text search: keyword
|
|
222
|
+
matching with ranking, plus `pg_trgm` typo tolerance. It needs no embedder, no
|
|
223
|
+
API key and no extra service.
|
|
235
224
|
|
|
236
|
-
The CLI ships redacted chunks to the server, which indexes them.
|
|
225
|
+
The CLI ships redacted chunks to the server, which indexes them.
|
|
237
226
|
|
|
238
227
|
## Cost tracking
|
|
239
228
|
|
|
@@ -307,15 +296,13 @@ Two extension points, both registry-driven:
|
|
|
307
296
|
|
|
308
297
|
That is the whole list. No API key is needed to install, index or search.
|
|
309
298
|
|
|
310
|
-
|
|
299
|
+
One feature is opt-in, and it needs a back end that you choose:
|
|
311
300
|
|
|
312
301
|
| Feature | Back ends you can point it at |
|
|
313
302
|
|---|---|
|
|
314
|
-
| Vector search | Ollama (local, free), any OpenAI-compatible embeddings endpoint, or `GEMINI_API_KEY` |
|
|
315
303
|
| AI summaries | Ollama, a CLI you are already logged in to (`SUMMARY_CLI_CMD`), an OpenAI-compatible endpoint, or `ANTHROPIC_API_KEY` |
|
|
316
304
|
|
|
317
|
-
Without
|
|
318
|
-
generated summary. Everything else works the same.
|
|
305
|
+
Without it, sessions carry no generated summary. Everything else works the same.
|
|
319
306
|
|
|
320
307
|
## License
|
|
321
308
|
|