Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ codedash run
| Cursor | JSONL | Yes | Yes | Yes | - | Yes | Open in Cursor |
| OpenCode | SQLite | Yes | Yes | Yes | - | Yes | Terminal |
| Kiro CLI | SQLite | Yes | Yes | Yes | - | Yes | Terminal |
| Kimi CLI | JSONL | Yes | Yes | Yes | - | Yes | Terminal |

Also detects Claude Code running inside Cursor (via `claude-vscode` entrypoint).

Expand Down Expand Up @@ -82,6 +83,7 @@ codedash stop
~/.cursor/projects/*/agent-transcripts/ Cursor agent sessions
~/.local/share/opencode/opencode.db OpenCode (SQLite)
~/Library/Application Support/kiro-cli/ Kiro CLI (SQLite)
~/.kimi/sessions/ Kimi CLI sessions
```

Zero dependencies. Everything runs on `localhost`.
Expand All @@ -93,6 +95,7 @@ curl -fsSL https://claude.ai/install.sh | bash # Claude Code
npm i -g @openai/codex # Codex CLI
curl -fsSL https://cli.kiro.dev/install | bash # Kiro CLI
curl -fsSL https://opencode.ai/install | bash # OpenCode
pip install kimi-cli # Kimi CLI
```

## Requirements
Expand Down
38 changes: 32 additions & 6 deletions docs/ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Overview

CodeDash is a zero-dependency Node.js dashboard for AI coding agent sessions. Supports 6 agents: Claude Code, Claude Extension, Codex, Cursor, OpenCode, Kiro. Single process serves a web UI at `localhost:3847`.
CodeDash is a zero-dependency Node.js dashboard for AI coding agent sessions. Supports 7 agents: Claude Code, Claude Extension, Codex, Cursor, OpenCode, Kiro, Kimi. Single process serves a web UI at `localhost:3847`.

```
Browser (localhost:3847) Node.js Server
Expand All @@ -21,10 +21,11 @@ Browser (localhost:3847) Node.js Server
| convert/export/ | | +-- changelog.js |
| import/update | +-------------------------------+
+-------------------+ |
reads from 5 locations:
reads from 6 locations:
~/.claude/ ~/.codex/ ~/.cursor/
~/.local/share/opencode/opencode.db
~/Library/Application Support/kiro-cli/data.sqlite3
~/.kimi/sessions/
```

## Project Structure
Expand Down Expand Up @@ -197,6 +198,30 @@ FROM conversations_v2 ORDER BY updated_at DESC
}
```

### 7. Kimi CLI

| Item | Location |
|------|----------|
| Session data | `~/.kimi/sessions/<PROJECT_HASH>/<SESSION_ID>/context.jsonl` |
| Metadata | `~/.kimi/sessions/<PROJECT_HASH>/<SESSION_ID>/state.json` |

**PROJECT_HASH**: MD5 hash of the project directory path.

**context.jsonl** — one JSON object per line:
```json
{"role": "user", "content": "fix the bug"}
{"role": "assistant", "content": [{"type": "think", "think": "..."}, {"type": "text", "text": "I'll fix..."}]}
```

**state.json** — session metadata:
```json
{
"custom_title": "Session title",
"archived": false,
"plan_mode": false
}
```

---

## Data Flow
Expand All @@ -209,11 +234,12 @@ FROM conversations_v2 ORDER BY updated_at DESC
3. scanOpenCodeSessions() → merge (tool: "opencode")
4. scanCursorSessions() → merge (tool: "cursor")
5. scanKiroSessions() → merge (tool: "kiro")
6. Enrich Claude sessions with detail files:
6. scanKimiSessions() → merge (tool: "kimi")
7. Enrich Claude sessions with detail files:
- Count messages, get file size
- Check entrypoint → change tool to "claude-ext" if not "cli"
7. Scan orphan sessions from ~/.claude/projects/ (Claude Extension)
8. Sort by last_ts DESC, format dates
8. Scan orphan sessions from ~/.claude/projects/ (Claude Extension)
9. Sort by last_ts DESC, format dates
```

### Search Index
Expand All @@ -240,7 +266,7 @@ Codex fallback: estimate from file size (~4 bytes per token).

```
1. Read ~/.claude/sessions/*.json → PID-to-session map
2. ps aux | grep "claude|codex|opencode|kiro-cli|cursor-agent"
2. ps aux | grep "claude|codex|opencode|kiro-cli|kimi|cursor-agent"
3. For each process: parse PID, CPU%, memory, state
4. Status: "active" (CPU >= 1%) or "waiting" (sleeping/stopped)
5. Map PID → sessionId via PID files
Expand Down
5 changes: 3 additions & 2 deletions docs/README_RU.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# CodeDash

Дашборд + CLI для сессий AI-агентов. 5 агентов: Claude Code, Codex, Cursor, OpenCode, Kiro.
Дашборд + CLI для сессий AI-агентов. 6 агентов: Claude Code, Codex, Cursor, OpenCode, Kiro, Kimi.

[English](../README.md) | [Chinese / 中文](README_ZH.md)

Expand All @@ -19,12 +19,13 @@ npm i -g codedash-app && codedash run
| Cursor | JSONL | LIVE/WAITING | - | Open in Cursor |
| OpenCode | SQLite | LIVE/WAITING | - | Терминал |
| Kiro CLI | SQLite | LIVE/WAITING | - | Терминал |
| Kimi CLI | JSONL | LIVE/WAITING | - | Терминал |

## Возможности

- Grid/List, группировка по проектам, trigram поиск + deep search
- GitHub-стиль SVG heatmap активности со стриками
- LIVE/WAITING бейджи для всех 5 агентов, анимированная рамка
- LIVE/WAITING бейджи для всех 6 агентов, анимированная рамка
- Session Replay с ползунком, hover превью, раскрытие карточек
- Аналитика стоимости из реальных usage данных
- Конвертация сессий Claude <-> Codex, Handoff между агентами
Expand Down
5 changes: 3 additions & 2 deletions docs/README_ZH.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# CodeDash

AI 编程代理会话仪表板 + CLI。支持 5 个代理:Claude Code、Codex、Cursor、OpenCode、Kiro。
AI 编程代理会话仪表板 + CLI。支持 6 个代理:Claude Code、Codex、Cursor、OpenCode、Kiro、Kimi

[English](../README.md) | [Russian / Русский](README_RU.md)

Expand All @@ -19,12 +19,13 @@ npm i -g codedash-app && codedash run
| Cursor | JSONL | LIVE/WAITING | - | 在 Cursor 中打开 |
| OpenCode | SQLite | LIVE/WAITING | - | 终端 |
| Kiro CLI | SQLite | LIVE/WAITING | - | 终端 |
| Kimi CLI | JSONL | LIVE/WAITING | - | 终端 |

## 功能

- 网格/列表视图、项目分组、Trigram 搜索 + 深度搜索
- GitHub 风格 SVG 活动热力图
- 所有 5 个代理的 LIVE/WAITING 徽章
- 所有 6 个代理的 LIVE/WAITING 徽章
- 会话回放、成本分析、跨代理转换和交接
- 导出/导入迁移、Dark/Light/System 主题

Expand Down
Loading