codedash-app 5.0.1 → 5.0.2

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,64 +1,106 @@
1
1
  # CodeDash
2
2
 
3
- Browser dashboard for Claude Code & Codex sessions. View, search, resume, and manage all your AI coding sessions.
3
+ Dashboard + CLI for Claude Code, Codex, and OpenCode sessions. View, search, resume, convert, and hand off between AI coding agents.
4
4
 
5
5
  [Russian / Русский](docs/README_RU.md) | [Chinese / 中文](docs/README_ZH.md)
6
6
 
7
7
  https://github.com/user-attachments/assets/15c45659-365b-49f8-86a3-9005fa155ca6
8
8
 
9
- ![npm](https://img.shields.io/npm/v/codedash-app?style=flat-square) ![Node](https://img.shields.io/badge/node-%3E%3D16-green?style=flat-square) ![License](https://img.shields.io/badge/license-MIT-blue?style=flat-square)
9
+ ![npm](https://img.shields.io/npm/v/codedash-app?style=flat-square) ![Node](https://img.shields.io/badge/node-%3E%3D18-green?style=flat-square) ![License](https://img.shields.io/badge/license-MIT-blue?style=flat-square) ![Zero deps](https://img.shields.io/badge/dependencies-0-blue?style=flat-square)
10
10
 
11
11
  ## Quick Start
12
12
 
13
13
  ```bash
14
- npx codedash-app run
14
+ npm i -g codedash-app
15
+ codedash run
15
16
  ```
16
17
 
17
18
  Opens `http://localhost:3847` in your browser.
18
19
 
19
- ```bash
20
- npx codedash-app run --port=4000 # custom port
21
- npx codedash-app run --no-browser # don't auto-open
22
- npx codedash-app list # list sessions in terminal
23
- npx codedash-app stats # show statistics
24
- ```
20
+ ## Supported Agents
21
+
22
+ | Agent | Sessions | Preview | Search | Convert | Handoff |
23
+ |-------|----------|---------|--------|---------|---------|
24
+ | Claude Code | JSONL | Yes | Yes | Yes | Yes |
25
+ | Codex CLI | JSONL | Yes | Yes | Yes | Yes |
26
+ | OpenCode | SQLite | Yes | Yes | - | Yes |
25
27
 
26
28
  ## Features
27
29
 
28
- **Sessions**
30
+ **Browser Dashboard**
29
31
  - Grid and List view with project grouping
30
- - Trigram fuzzy search across session content and projects
31
- - Filter by tool (Claude/Codex), tags, date range
32
- - Star/pin important sessions (always shown first)
33
- - Tag sessions: bug, feature, research, infra, deploy, review
32
+ - Trigram fuzzy search + full-text deep search across all messages
33
+ - Filter by tool (Claude/Codex/OpenCode), tags, date range
34
+ - Star/pin sessions, tag with labels (bug, feature, research, infra, deploy, review)
34
35
  - Activity heatmap (GitHub-style)
35
- - Cost estimation per session
36
+ - Session Replay with timeline slider and play/pause
37
+ - Hover preview (first 6 messages) + expandable cards (10 messages inline)
38
+ - Themes: Dark, Light, System
39
+
40
+ **Live Monitoring**
41
+ - Running sessions view with CPU, Memory, PID, Uptime
42
+ - LIVE/WAITING badges with animated border on active cards
43
+ - Focus Terminal button to switch to active session
44
+ - Polling every 5 seconds
45
+
46
+ **Cost Analytics**
47
+ - Real cost from actual token usage (input, output, cache read/write)
48
+ - Per-model pricing: Opus, Sonnet, Haiku, Codex, GPT-5
49
+ - Daily cost chart, cost by project, most expensive sessions
50
+
51
+ **Cross-Agent**
52
+ - Convert sessions between Claude Code and Codex (native format)
53
+ - Handoff: generate context document to continue in any agent
54
+ - Verbosity levels: minimal (3 msgs), standard (10), verbose (20), full (50)
55
+
56
+ **CLI**
57
+ ```bash
58
+ codedash run [port] [--no-browser] # start dashboard
59
+ codedash search <query> # full-text search all sessions
60
+ codedash show <session-id> # session details + cost + messages
61
+ codedash handoff <id> [target] # generate handoff document
62
+ codedash handoff claude codex # quick: latest Claude to Codex
63
+ codedash convert <id> claude|codex # convert session format
64
+ codedash list [limit] # list sessions
65
+ codedash stats # statistics
66
+ codedash export [file.tar.gz] # backup all sessions
67
+ codedash import <file.tar.gz> # restore on new machine
68
+ codedash update # update to latest version
69
+ codedash restart # restart server
70
+ codedash stop # stop server
71
+ ```
72
+
73
+ **Keyboard Shortcuts**: `/` search, `j/k` navigate, `Enter` open, `x` star, `d` delete, `s` select mode, `g` toggle groups, `r` refresh, `Esc` close
36
74
 
37
- **Launch**
38
- - Resume sessions in iTerm2, Terminal.app, Warp, Kitty, Alacritty
39
- - Auto `cd` into the correct project directory
40
- - Copy resume command to clipboard
41
- - Terminal preference saved between sessions
75
+ ## How It Works
42
76
 
43
- **Manage**
44
- - Delete sessions (file + history + env cleanup)
45
- - Bulk select and delete
46
- - Export conversations as Markdown
47
- - Related git commits shown per session
48
- - Auto-update notifications
77
+ Reads session data from:
78
+ - `~/.claude/` history, projects, session files, PID tracking
79
+ - `~/.codex/` history, session files
80
+ - `~/.local/share/opencode/opencode.db` SQLite (via sqlite3 CLI)
49
81
 
50
- **Themes**: Dark (default), Light, System
82
+ Zero dependencies. Everything runs on `localhost`.
51
83
 
52
- **Keyboard Shortcuts**: `/` search, `j/k` navigate, `Enter` open, `x` star, `d` delete, `s` select, `g` group, `r` refresh, `Esc` close
84
+ ## Install Agents
53
85
 
54
- ## How It Works
86
+ ```bash
87
+ # Claude Code
88
+ curl -fsSL https://claude.ai/install.sh | bash
55
89
 
56
- Reads session data from `~/.claude/` and `~/.codex/`. Zero dependencies. Everything runs on `localhost`.
90
+ # Codex CLI
91
+ npm i -g @openai/codex
92
+
93
+ # OpenCode
94
+ curl -fsSL https://opencode.ai/install | bash
95
+
96
+ # Kiro CLI
97
+ curl -fsSL https://cli.kiro.dev/install | bash
98
+ ```
57
99
 
58
100
  ## Requirements
59
101
 
60
- - Node.js >= 16
61
- - Claude Code or Codex CLI
102
+ - Node.js >= 18
103
+ - At least one AI coding agent installed
62
104
  - macOS / Linux / Windows
63
105
 
64
106
  ## License
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codedash-app",
3
- "version": "5.0.1",
3
+ "version": "5.0.2",
4
4
  "description": "Dashboard + CLI for Claude Code, Codex & OpenCode sessions. View, search, resume, convert, handoff between agents.",
5
5
  "bin": {
6
6
  "codedash": "./bin/cli.js"
package/src/terminals.js CHANGED
@@ -169,7 +169,7 @@ function focusTerminalByPid(pid) {
169
169
  const ttyOut = execSync(`ps -p ${pid} -o tty= 2>/dev/null`, { encoding: 'utf8' }).trim();
170
170
  if (!ttyOut) throw new Error('no tty');
171
171
 
172
- // Try iTerm2 first — activate and select session by tty
172
+ // Try iTerm2 first — activate and select the right tab/window by tty
173
173
  try {
174
174
  const script = `
175
175
  tell application "iTerm"
@@ -177,14 +177,17 @@ function focusTerminalByPid(pid) {
177
177
  repeat with w in windows
178
178
  repeat with t in tabs of w
179
179
  repeat with s in sessions of t
180
- if tty of s contains "${ttyOut}" then
181
- select t
182
- return
180
+ set sessionTTY to tty of s
181
+ if sessionTTY contains "${ttyOut}" or "${ttyOut}" contains sessionTTY then
182
+ select w
183
+ tell w to select t
184
+ return "found"
183
185
  end if
184
186
  end repeat
185
187
  end repeat
186
188
  end repeat
187
189
  end tell
190
+ return "not found"
188
191
  `;
189
192
  execSync(`osascript -e '${script.replace(/'/g, "'\\''")}'`, { stdio: 'pipe', timeout: 3000 });
190
193
  return true;