Skip to content

Commit 90d2654

Browse files
committed
updated readme
1 parent 52af814 commit 90d2654

1 file changed

Lines changed: 46 additions & 8 deletions

File tree

README.md

Lines changed: 46 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# ccview
22

3-
A terminal-based explorer and renderer for [Claude Code](https://docs.anthropic.com/en/docs/claude-code) conversation histories. Browse projects, view conversations with markdown rendering, inspect sub-agents, and export to HTML/Markdown/JSONL.
3+
A terminal-based explorer and renderer for [Claude Code](https://docs.anthropic.com/en/docs/claude-code) and [OpenCode](https://github.com/opencode-ai/opencode) conversation histories. Browse projects, view conversations with markdown rendering, inspect sub-agents, search across sessions, and export to HTML/Markdown/JSONL.
44

55
Built with [Bubble Tea](https://github.com/charmbracelet/bubbletea), [Lip Gloss](https://github.com/charmbracelet/lipgloss), and [Glamour](https://github.com/charmbracelet/glamour).
66

@@ -85,10 +85,14 @@ ccview
8585

8686
Split-pane interactive explorer. Left pane shows the project tree with conversations, plans, and memory files. Right pane renders conversation content with syntax-highlighted markdown.
8787

88+
- **Multi-provider support** - Claude Code (`~/.claude/`) and OpenCode (`~/.local/share/opencode/opencode.db`) side by side. Tabbed UI when both are available; tabs hidden with only one provider.
8889
- Conversations sorted newest-first with smart timestamps
8990
- Sub-agents collapsed by default, expand on selection
9091
- Global plans shown in sidebar
9192
- Tool calls wrap cleanly with aligned continuation lines
93+
- **Mouse selection** - Click to focus panes, drag-select text within the content pane, auto-copies to clipboard. Scroll wheel works per-pane.
94+
- **Content search** - Press `/` in the viewer for live debounced search with match highlighting and `n`/`N` navigation between matches.
95+
- **Session search** - Press `/` from the project list or sidebar to open a search overlay. Toggle between global and project-scoped results with `tab`, navigate with `j`/`k`, open with `enter`.
9296
- Press `o` to open any file in your `$EDITOR`
9397
- Press `e` for a guided export wizard (format, path, filename)
9498

@@ -127,11 +131,19 @@ For full conversations with sub-agents, HTML export creates a directory with `in
127131
| `l` / `Right` | Switch to viewer |
128132
| `h` / `Left` / `Esc` | Back to project list |
129133
| `Tab` | Switch to viewer pane |
134+
| `/` | Open session search (project-scoped) |
130135
| `e` | Export wizard |
131136
| `o` | Open in `$EDITOR` |
132137
| `g` / `G` | Jump to top/bottom |
133138
| `q` | Quit |
134139

140+
### Project List
141+
142+
| Key | Action |
143+
|-----|--------|
144+
| `1` / `2` | Switch provider tab |
145+
| `/` | Open session search (global) |
146+
135147
### Viewer
136148

137149
| Key | Action |
@@ -140,14 +152,28 @@ For full conversations with sub-agents, HTML export creates a directory with `in
140152
| `Space` / `f` | Page down |
141153
| `b` | Page up |
142154
| `g` / `G` | Jump to top/bottom |
155+
| `/` | Search content |
156+
| `n` / `N` | Next / previous match |
157+
| `Esc` | Clear search |
143158
| `Tab` / `h` | Switch to sidebar |
144159
| `e` | Export wizard |
145160
| `o` | Open in `$EDITOR` |
146161
| `q` | Quit |
147162

163+
### Session Search Overlay
164+
165+
| Key | Action |
166+
|-----|--------|
167+
| `tab` | Toggle global / project scope |
168+
| `j` / `k` | Navigate results |
169+
| `Enter` | Open selected session |
170+
| `Esc` | Close overlay |
171+
148172
## What it reads
149173

150-
ccview reads from `~/.claude/` and organizes data as:
174+
ccview reads from multiple sources:
175+
176+
#### Claude Code (`~/.claude/`)
151177

152178
| Source | Description |
153179
|--------|-------------|
@@ -159,6 +185,14 @@ ccview reads from `~/.claude/` and organizes data as:
159185
| `*/CLAUDE.md` | Project-level instructions |
160186
| `~/.claude/plans/*.md` | Plan documents |
161187

188+
#### OpenCode (`~/.local/share/opencode/`)
189+
190+
| Source | Description |
191+
|--------|-------------|
192+
| `opencode.db` | SQLite database with sessions, messages, and parts |
193+
| Sessions | Grouped by project (worktree path) |
194+
| Message parts | Text, tool calls, reasoning, patches, and file references |
195+
162196
### Message types rendered
163197

164198
- **User messages** - with markdown rendering
@@ -170,12 +204,15 @@ ccview reads from `~/.claude/` and organizes data as:
170204
## Architecture
171205

172206
```
173-
main.go CLI entry point, flag parsing
174-
data.go Tree types, project scanning, filesystem loading
175-
parse.go JSONL parsing, glamour rendering, formatting helpers
176-
ui.go Bubble Tea TUI with split-pane layout
177-
server.go HTTP server with embedded SPA
178-
export.go HTML/Markdown/JSONL export
207+
main.go CLI entry point, flag parsing
208+
provider.go Provider interface (abstracts data sources)
209+
provider_claude.go Claude Code provider (filesystem/JSONL)
210+
provider_opencode.go OpenCode provider (SQLite)
211+
data.go Tree types, project scanning, filesystem loading
212+
parse.go JSONL parsing, glamour rendering, formatting helpers
213+
ui.go Bubble Tea TUI with split-pane layout, search
214+
server.go HTTP server with embedded SPA
215+
export.go HTML/Markdown/JSONL export
179216
```
180217

181218
## Dependencies
@@ -185,6 +222,7 @@ export.go HTML/Markdown/JSONL export
185222
- [github.com/charmbracelet/glamour](https://github.com/charmbracelet/glamour) - Terminal markdown rendering
186223
- [github.com/charmbracelet/x/ansi](https://github.com/charmbracelet/x) - ANSI-aware string handling
187224
- [github.com/yuin/goldmark](https://github.com/yuin/goldmark) - HTML markdown rendering
225+
- [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) - Pure Go SQLite (no CGO)
188226

189227
## License
190228

0 commit comments

Comments
 (0)