recall-player 1.7.0 โ 2.0.0
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 +214 -30
- package/backend/public/assets/index-BuuuTrVm.js +379 -0
- package/backend/public/assets/index-C1XBHLEq.css +1 -0
- package/backend/public/index.html +7 -5
- package/package.json +14 -4
- package/backend/public/assets/index-BAcbh856.css +0 -1
- package/backend/public/assets/index-BGUC-nYH.js +0 -349
package/README.md
CHANGED
|
@@ -1,25 +1,77 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# ๐ฌ Recall
|
|
4
|
+
|
|
5
|
+
**Replay your AI coding sessions like a video player**
|
|
2
6
|
|
|
3
|
-

|
|
4
7
|
[](https://www.npmjs.com/package/recall-player)
|
|
5
8
|
[](https://www.npmjs.com/package/recall-player)
|
|
9
|
+

|
|
10
|
+
[](LICENSE)
|
|
11
|
+
|
|
12
|
+
**Watch how features were built ยท Review decisions made ยท Debug what went wrong**
|
|
13
|
+
|
|
14
|
+
A local-first web application that visualizes AI coding sessions from Claude Code, Codex CLI, and Gemini CLI. Navigate through your coding history frame-by-frame with video-player controls, search across sessions, and group related work into units.
|
|
15
|
+
|
|
16
|
+
[Quick Start](#quick-start) ยท [Features](#features) ยท [Screenshots](#screenshots) ยท [Documentation](#development)
|
|
17
|
+
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Why Recall?
|
|
6
23
|
|
|
7
|
-
|
|
24
|
+
Ever wondered **"How did the AI build this feature?"** or **"What changed between yesterday and today?"**
|
|
8
25
|
|
|
9
|
-
|
|
26
|
+
When working with AI coding assistants, it's easy to lose track of:
|
|
10
27
|
|
|
11
|
-
-
|
|
12
|
-
- **
|
|
13
|
-
-
|
|
28
|
+
- ๐ค **What decisions were made** and why
|
|
29
|
+
- ๐ง **What approaches were tried** before settling on the final solution
|
|
30
|
+
- ๐ **When bugs were introduced** during rapid iteration
|
|
31
|
+
- ๐ **How file changes evolved** across multiple sessions
|
|
32
|
+
|
|
33
|
+
**Recall solves this** by giving you a "DVR for your coding sessions" โ replay any session frame-by-frame, search across all your work, and visualize the evolution of your codebase.
|
|
34
|
+
|
|
35
|
+
---
|
|
14
36
|
|
|
15
37
|
## Screenshots
|
|
16
38
|
|
|
17
|
-
|
|
39
|
+
### Session List
|
|
40
|
+
|
|
41
|
+

|
|
42
|
+
_Browse all your coding sessions across Claude, Codex, and Gemini with powerful filtering and search_
|
|
43
|
+
|
|
44
|
+
### Session Player
|
|
45
|
+
|
|
46
|
+

|
|
47
|
+
_Replay sessions frame-by-frame with timeline scrubber, playback controls, and syntax-highlighted code diffs_
|
|
48
|
+
|
|
49
|
+
### Chat View
|
|
18
50
|
|
|
19
|
-
|
|
51
|
+

|
|
52
|
+
_Toggle between technical view and conversational chat view for easier reading_
|
|
20
53
|
|
|
21
54
|
---
|
|
22
55
|
|
|
56
|
+
## Supported Agents
|
|
57
|
+
|
|
58
|
+
<table>
|
|
59
|
+
<tr>
|
|
60
|
+
<td align="center">
|
|
61
|
+
<img src="https://img.shields.io/badge/Claude_Code-8B5CF6?style=for-the-badge" alt="Claude Code"/>
|
|
62
|
+
<br/>Anthropic's CLI coding assistant
|
|
63
|
+
</td>
|
|
64
|
+
<td align="center">
|
|
65
|
+
<img src="https://img.shields.io/badge/Codex_CLI-10B981?style=for-the-badge" alt="Codex CLI"/>
|
|
66
|
+
<br/>OpenAI's command-line tool
|
|
67
|
+
</td>
|
|
68
|
+
<td align="center">
|
|
69
|
+
<img src="https://img.shields.io/badge/Gemini_CLI-3B82F6?style=for-the-badge" alt="Gemini CLI"/>
|
|
70
|
+
<br/>Google's terminal assistant
|
|
71
|
+
</td>
|
|
72
|
+
</tr>
|
|
73
|
+
</table>
|
|
74
|
+
|
|
23
75
|
## Quick Start
|
|
24
76
|
|
|
25
77
|
### Prerequisites
|
|
@@ -74,36 +126,98 @@ npm start
|
|
|
74
126
|
|
|
75
127
|
## Features
|
|
76
128
|
|
|
77
|
-
###
|
|
129
|
+
### ๐ฅ Video Player Experience
|
|
78
130
|
|
|
79
|
-
-
|
|
80
|
-
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
131
|
+
- **Frame-by-frame playback** with play/pause and variable speed (0.5x to 10x)
|
|
132
|
+
- **Timeline scrubber** with visual event markers and chapter navigation
|
|
133
|
+
- **Keyboard shortcuts** for efficient navigation (Space, arrows, Home/End)
|
|
134
|
+
- **Search** within sessions to jump to specific content
|
|
135
|
+
- **Frame filtering** to show/hide message types (User, AI, Thinking, Tools)
|
|
83
136
|
|
|
84
|
-
### Session
|
|
137
|
+
### ๐ Multi-Agent Session Browser
|
|
138
|
+
|
|
139
|
+
- **Unified view** of all sessions across Claude Code, Codex CLI, and Gemini CLI
|
|
140
|
+
- **Smart filtering** by agent type, project path, date range, and duration
|
|
141
|
+
- **Full-text search** across all session transcripts (powered by SQLite FTS5)
|
|
142
|
+
- **CWD filtering** - automatically shows only sessions from your current directory
|
|
143
|
+
- **Session metadata** - duration, frame count, AI model, first message preview
|
|
144
|
+
|
|
145
|
+
### ๐ฆ Work Units (NEW!)
|
|
146
|
+
|
|
147
|
+
- **Auto-grouping** of related sessions into logical work units
|
|
148
|
+
- **Manual management** - add/remove sessions from work units
|
|
149
|
+
- **Multi-session playback** - replay entire features or bug fixes
|
|
150
|
+
- **Progress tracking** - see all work related to a specific task
|
|
151
|
+
|
|
152
|
+
### ๐จ Beautiful UI
|
|
153
|
+
|
|
154
|
+
- **Dark theme** optimized for long viewing sessions
|
|
155
|
+
- **Syntax highlighting** with Prism.js for 100+ languages
|
|
156
|
+
- **Inline diffs** with side-by-side and unified views
|
|
157
|
+
- **Framer Motion** animations for smooth transitions
|
|
158
|
+
- **Responsive design** for various screen sizes
|
|
159
|
+
|
|
160
|
+
### ๐ Privacy & Security
|
|
161
|
+
|
|
162
|
+
- **100% local** - no cloud, no analytics, no external requests
|
|
163
|
+
- **Read-only** - session files are never modified
|
|
164
|
+
- **Offline-first** - works without internet connection
|
|
165
|
+
- **SQLite caching** - fast performance with local database
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Use Cases
|
|
170
|
+
|
|
171
|
+
### ๐ Learning & Knowledge Sharing
|
|
172
|
+
|
|
173
|
+
**"Show the team how I implemented OAuth"**
|
|
174
|
+
Record and replay your Claude Code session to demonstrate architectural decisions, debugging steps, and final implementation.
|
|
175
|
+
|
|
176
|
+
### ๐ Debugging What Went Wrong
|
|
177
|
+
|
|
178
|
+
**"When did this bug get introduced?"**
|
|
179
|
+
Scrub through timeline to find the exact moment a file change caused unexpected behavior.
|
|
180
|
+
|
|
181
|
+
### ๐ Session Analytics
|
|
182
|
+
|
|
183
|
+
**"How much time did I spend on this feature?"**
|
|
184
|
+
Review session duration, frame counts, and tool executions to understand productivity patterns.
|
|
185
|
+
|
|
186
|
+
### ๐ Resuming Interrupted Work
|
|
187
|
+
|
|
188
|
+
**"What was I working on yesterday?"**
|
|
189
|
+
Quickly review your last session's work to pick up where you left off.
|
|
190
|
+
|
|
191
|
+
---
|
|
85
192
|
|
|
86
|
-
|
|
87
|
-
- **Frame types:** User messages, AI responses, AI thinking, Tool executions
|
|
88
|
-
- **Filter controls** to show/hide specific frame types
|
|
89
|
-
- **Keyboard shortcuts** for navigation (arrow keys, space, etc.)
|
|
90
|
-
- **Search** within sessions to find specific content
|
|
193
|
+
## Configuration
|
|
91
194
|
|
|
92
|
-
###
|
|
195
|
+
### Environment Variables
|
|
93
196
|
|
|
94
|
-
|
|
95
|
-
- Agent-specific badges and colors in the UI
|
|
96
|
-
- Normalized frame format for consistent playback experience
|
|
197
|
+
#### `RECALL_FILTER_CWD`
|
|
97
198
|
|
|
98
|
-
|
|
199
|
+
Controls automatic directory-based session filtering (default: `true`).
|
|
99
200
|
|
|
100
|
-
|
|
201
|
+
```bash
|
|
202
|
+
# Show only sessions from current directory (default)
|
|
203
|
+
cd /Users/me/projects/myapp
|
|
204
|
+
npx recall-player
|
|
205
|
+
|
|
206
|
+
# Disable filtering to see ALL sessions
|
|
207
|
+
RECALL_FILTER_CWD=false npx recall-player
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
#### `RECALL_EXCLUDE_PATTERNS`
|
|
101
211
|
|
|
102
|
-
-
|
|
103
|
-
- Review all work related to a feature or bug fix in one place
|
|
104
|
-
- Navigate between related sessions easily
|
|
212
|
+
Comma-separated glob patterns to exclude directories from session scanning.
|
|
105
213
|
|
|
106
|
-
|
|
214
|
+
```bash
|
|
215
|
+
# Exclude specific directories
|
|
216
|
+
RECALL_EXCLUDE_PATTERNS="archived,thedotmack" npx recall-player
|
|
217
|
+
|
|
218
|
+
# Exclude with glob patterns
|
|
219
|
+
RECALL_EXCLUDE_PATTERNS="**/test-data/**,**/plugins/**" npx recall-player
|
|
220
|
+
```
|
|
107
221
|
|
|
108
222
|
---
|
|
109
223
|
|
|
@@ -240,6 +354,76 @@ Recall automatically scans these directories for sessions:
|
|
|
240
354
|
|
|
241
355
|
---
|
|
242
356
|
|
|
357
|
+
## FAQ
|
|
358
|
+
|
|
359
|
+
### How do I capture screenshots for GitHub/docs?
|
|
360
|
+
|
|
361
|
+
We provide an automated screenshot script:
|
|
362
|
+
|
|
363
|
+
```bash
|
|
364
|
+
# 1. Install Playwright (if needed)
|
|
365
|
+
npm install -D playwright
|
|
366
|
+
|
|
367
|
+
# 2. Start Recall
|
|
368
|
+
npm start
|
|
369
|
+
|
|
370
|
+
# 3. In another terminal, run the script
|
|
371
|
+
node scripts/capture-screenshots.js
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
Screenshots will be saved to `docs/assets/`.
|
|
375
|
+
|
|
376
|
+
### Can I export or share sessions?
|
|
377
|
+
|
|
378
|
+
Currently, Recall is **view-only** and designed for local use. Sessions contain potentially sensitive code and credentials, so we don't support exporting or cloud sync. You can:
|
|
379
|
+
|
|
380
|
+
- Take screenshots of specific frames
|
|
381
|
+
- Use screen recording software to capture playback
|
|
382
|
+
- Share the session `.jsonl` files manually (with caution)
|
|
383
|
+
|
|
384
|
+
### Why isn't my agent showing up?
|
|
385
|
+
|
|
386
|
+
Recall scans these directories automatically:
|
|
387
|
+
|
|
388
|
+
- Claude Code: `~/.claude/projects/`
|
|
389
|
+
- Codex CLI: `~/.codex/sessions/`
|
|
390
|
+
- Gemini CLI: `~/.gemini/tmp/`
|
|
391
|
+
|
|
392
|
+
If you don't see sessions:
|
|
393
|
+
|
|
394
|
+
1. Verify you have session files in one of these directories
|
|
395
|
+
2. Check the backend logs for parsing errors
|
|
396
|
+
3. Try: `curl http://localhost:3001/api/agents` to see detected agents
|
|
397
|
+
|
|
398
|
+
### Can I filter sessions by project?
|
|
399
|
+
|
|
400
|
+
Yes! Use the **CWD filter** feature:
|
|
401
|
+
|
|
402
|
+
```bash
|
|
403
|
+
# Run Recall from your project directory
|
|
404
|
+
cd /Users/me/projects/myapp
|
|
405
|
+
npx recall-player
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
Only sessions from `/Users/me/projects/myapp` will be shown. Disable with `RECALL_FILTER_CWD=false`.
|
|
409
|
+
|
|
410
|
+
### Does Recall modify my session files?
|
|
411
|
+
|
|
412
|
+
**No.** All session files are opened in **read-only mode**. Recall never writes to or modifies your original `.jsonl` or `.json` files.
|
|
413
|
+
|
|
414
|
+
### Is my data sent to the cloud?
|
|
415
|
+
|
|
416
|
+
**Absolutely not.** Recall is 100% local-first with:
|
|
417
|
+
|
|
418
|
+
- No analytics
|
|
419
|
+
- No external API calls
|
|
420
|
+
- No telemetry
|
|
421
|
+
- No cloud storage
|
|
422
|
+
|
|
423
|
+
All data stays on your machine.
|
|
424
|
+
|
|
425
|
+
---
|
|
426
|
+
|
|
243
427
|
## Troubleshooting
|
|
244
428
|
|
|
245
429
|
### No sessions showing up?
|