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 CHANGED
@@ -1,25 +1,77 @@
1
- # Recall
1
+ <div align="center">
2
+
3
+ # ๐ŸŽฌ Recall
4
+
5
+ **Replay your AI coding sessions like a video player**
2
6
 
3
- ![Project Status: Beta](https://img.shields.io/badge/status-beta-yellow)
4
7
  [![npm version](https://img.shields.io/npm/v/recall-player.svg)](https://www.npmjs.com/package/recall-player)
5
8
  [![npm downloads](https://img.shields.io/npm/dm/recall-player.svg)](https://www.npmjs.com/package/recall-player)
9
+ ![Project Status: Beta](https://img.shields.io/badge/status-beta-yellow)
10
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](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
- A local-first web application that lets you **replay AI coding sessions** like a video player. Watch how features were built, decisions made, and problems solved across multiple AI coding agents.
24
+ Ever wondered **"How did the AI build this feature?"** or **"What changed between yesterday and today?"**
8
25
 
9
- **Supported Agents:**
26
+ When working with AI coding assistants, it's easy to lose track of:
10
27
 
11
- - **Claude Code** - Anthropic's CLI coding assistant
12
- - **Codex CLI** - OpenAI's command-line coding tool
13
- - **Gemini CLI** - Google's terminal-based AI assistant
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
- <!-- TODO: Add screenshots -->
39
+ ### Session List
40
+
41
+ ![Session List](docs/assets/session-list.png)
42
+ _Browse all your coding sessions across Claude, Codex, and Gemini with powerful filtering and search_
43
+
44
+ ### Session Player
45
+
46
+ ![Session Player](docs/assets/session-player.png)
47
+ _Replay sessions frame-by-frame with timeline scrubber, playback controls, and syntax-highlighted code diffs_
48
+
49
+ ### Chat View
18
50
 
19
- _Screenshots coming soon - showing session list, playback controls, and Work Units dashboard_
51
+ ![Chat View](docs/assets/chat-view.png)
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
- ### Session Browser
129
+ ### ๐ŸŽฅ Video Player Experience
78
130
 
79
- - View all sessions across Claude, Codex, and Gemini
80
- - Filter by agent type, date range, and duration
81
- - Search sessions by project name or content
82
- - See session metadata (duration, event count, first message)
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 Player
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
- - **Frame-by-frame playback** of coding sessions
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
- ### Multi-Agent Support
195
+ ### Environment Variables
93
196
 
94
- - Automatically detects and parses sessions from all supported agents
95
- - Agent-specific badges and colors in the UI
96
- - Normalized frame format for consistent playback experience
197
+ #### `RECALL_FILTER_CWD`
97
198
 
98
- ### Work Units
199
+ Controls automatic directory-based session filtering (default: `true`).
99
200
 
100
- Work Units are atomic units of work that span across sessions. They help you:
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
- - Track progress on specific tasks across multiple coding sessions
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
- Access Work Units from the `/work-units` route in the web interface.
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?