@cookielab.io/klovi 0.11.0 → 0.13.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
@@ -7,6 +7,8 @@
7
7
 
8
8
  A local web app for browsing and presenting Claude Code session history. Built for showing AI coding workflows at meetups and conferences.
9
9
 
10
+ ![Klovi screenshot](docs/example.png)
11
+
10
12
  ## Why Klovi?
11
13
 
12
14
  Claude Code stores every conversation as JSONL files in `~/.claude/projects/`, but there's no built-in way to browse, search, or present them. Klovi fills that gap: run a single command and get a local web UI to explore your full session history, review what Claude did across projects, and step through conversations in a presentation mode perfect for demos and talks.
@@ -51,9 +53,11 @@ bun run dev
51
53
 
52
54
  **Session Browsing**
53
55
  - Auto-discovers all projects from `~/.claude/projects/`
56
+ - Dashboard statistics: project/session/tool counts, token usage breakdown, model distribution
54
57
  - Filterable project list with session counts and last activity
55
58
  - Hide/unhide projects to declutter the list
56
59
  - Sessions show first message, model, git branch, and timestamp
60
+ - Plan/implementation session detection with colored badges and cross-session navigation links
57
61
  - Full conversation rendering with user/assistant/system messages
58
62
  - Sub-agent browsing: navigate into Task tool sub-agent sessions
59
63
  - Copy resume command (`claude --resume <id>`) from session header
@@ -71,7 +75,7 @@ bun run dev
71
75
  - Slash commands shown with green `> /command` badge
72
76
 
73
77
  **Presentation Mode**
74
- - Step-through navigation: each conversation turn is a step, assistant turns have sub-steps (thinking, text, each tool call)
78
+ - Step-through navigation: each conversation turn is a step, assistant turns have sub-steps (each text block is a step, consecutive non-text blocks like thinking and tool calls are grouped together)
75
79
  - Keyboard controls: Arrow keys / Space to advance, Escape to exit, F for fullscreen
76
80
  - Progress bar with step counter at the bottom
77
81
  - Sidebar hidden, content full-width with larger font
@@ -84,7 +88,7 @@ bun run dev
84
88
 
85
89
  **CLI**
86
90
  - `--port <number>` — specify server port (default: 3583)
87
- - `--projects-dir <path>` — override the Claude projects directory
91
+ - `--claude-code-dir <path>` — path to Claude Code data directory
88
92
  - `--accept-risks` — skip the startup security warning
89
93
  - `--help` / `-h` — show usage information
90
94
 
@@ -97,6 +101,7 @@ bun run dev
97
101
  | `bun run build` | Build frontend + server for production |
98
102
  | `bun run build:frontend` | Bundle frontend into `dist/public/` |
99
103
  | `bun run build:server` | Bundle server into `dist/server.js` (Node.js target) |
104
+ | `bun run build:compile` | Compile standalone binaries for multiple platforms |
100
105
  | `bun test` | Run all tests |
101
106
  | `bun run typecheck` | TypeScript type checking (`tsc --noEmit`) |
102
107
  | `bun run lint` | Lint with Biome |
@@ -109,6 +114,7 @@ bun run dev
109
114
  | Endpoint | Description |
110
115
  |---|---|
111
116
  | `GET /api/version` | Server version information |
117
+ | `GET /api/stats` | Aggregate dashboard statistics (projects, sessions, tokens, models) |
112
118
  | `GET /api/projects` | List all discovered projects |
113
119
  | `GET /api/projects/:encodedPath/sessions` | List sessions for a project |
114
120
  | `GET /api/sessions/:id?project=:encodedPath` | Full parsed session with turns |