feat: add OpenCode session management

This commit is contained in:
liujing
2026-07-16 21:13:11 +08:00
parent 535b03712e
commit 0015774cd4
11 changed files with 1101 additions and 18 deletions
+10 -5
View File
@@ -1,6 +1,6 @@
# 智能体观测中心
本地多引擎 AI 会话管理工具 — 浏览、搜索、复制恢复命令,支持 **Codex · Claude · Agy** 引擎。
本地多引擎 AI 会话管理工具 — 浏览、搜索、复制恢复命令,支持 **Codex · Claude · Agy · OpenCode** 引擎。
## 快速开始
@@ -24,12 +24,13 @@ npm start
## 功能
- **引擎会话列表** — 按引擎筛选(全部/Codex/Claude/Agy),搜索 ID、短 ID、路径、摘要
- **引擎会话列表** — 按引擎筛选(全部/Codex/Claude/Agy/OpenCode),搜索 ID、短 ID、路径、摘要
- **会话详情** — 引擎专属元数据、消息时间线、工具调用统计
- **短 ID 解析** — 输入部分 ID(如 `019f448b`)自动匹配
- **一键恢复** — 复制引擎对应的恢复命令(`codex resume` / `claude --resume` / `agy --conversation`
- **一键恢复** — 复制引擎对应的恢复命令(`codex resume` / `claude --resume` / `agy --conversation` / `opencode --session`
- **工具排行** — 全引擎工具调用聚合排行,附技能/插件/缓存清单
- **效能分析** — 会话趋势图、状态分布、异常率
- **会话删除** — 支持 OpenCode 引擎的原始会话删除(通过 `opencode session delete` 执行)
- **移动端适配** — 390px ~ 2560px 响应式布局
## 数据来源
@@ -39,15 +40,19 @@ npm start
| Codex | `~/.codex/state_5.sqlite` + `sessions/` | ~560 | `codex resume <id>` |
| Claude | `~/.claude/projects/**/*.jsonl` | ~170 | `claude --resume <id>` |
| Agy | `~/.gemini/antigravity-cli/conversation_summaries.db` | ~80 | `agy --conversation <id>` |
| OpenCode | `~/.local/share/opencode/opencode.db` | ~520 | `opencode --session <id>` |
OpenCode 数据目录通过 `opencode debug paths` 自动检测,若 CLI 不可用则回退到 `~/.local/share/opencode`
## API
| 路径 | 说明 |
|---|---|
| `GET /api/health` | 服务状态 + 引擎健康 |
| `GET /api/sessions?engine=all\|codex\|claude\|agy` | 会话列表 |
| `GET /api/health` | 服务状态 + 引擎健康 |
| `GET /api/sessions?engine=all\|codex\|claude\|agy\|opencode` | 会话列表 |
| `GET /api/sessions/:engine/:id` | 会话详情 |
| `GET /api/sessions/:engine/:id/tools` | 会话内工具统计 |
| `DELETE /api/sessions/:engine/:id` | 删除会话(仅 OpenCode 引擎支持原始删除) |
| `GET /api/tools?engine=...` | 全局工具排行 |
| `GET /api/resolve/:prefix?engine=...` | 短 ID 解析 |
| `POST /api/refresh` | 刷新缓存 |