Files

71 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 智能体观测中心
本地多引擎 AI 会话管理工具 — 浏览、搜索、复制恢复命令,支持 **Codex · Claude · Agy · OpenCode · Reasonix** 五引擎。
## 快速开始
```bash
# 安装依赖
npm run install:all
# 启动开发环境(后端 :3721 + 前端 :3722
npm run dev
```
> **端口冲突**:后端 3721 被占用时会启动失败(需先释放端口);
> 前端端口被占用时会自动切换到下一个可用端口(3723、3724 ...),
> 终端日志会显示实际端口。
```bash
# 生产构建
npm run build
npm start
```
## 功能
- **五引擎会话列表** — 按引擎筛选(全部/Codex/Claude/Agy/OpenCode/Reasonix),搜索 ID、短 ID、路径、摘要
- **会话收藏** — 星标收藏会话,收藏项全局置顶,支持只看收藏模式
- **会话详情** — 引擎专属元数据、消息时间线、工具调用统计
- **短 ID 解析** — 输入部分 ID(如 `019f448b`)自动匹配
- **一键恢复** — 复制引擎对应的恢复命令(`codex resume` / `claude --resume` / `agy --conversation` / `opencode --session` / `reasonix --resume`
- **工具排行** — 全引擎工具调用聚合排行,附技能/插件/缓存清单
- **效能分析** — 会话趋势图、状态分布、异常率
- **会话删除** — 支持 OpenCode 引擎的原始会话删除(通过 `opencode session delete` 执行)
- **移动端适配** — 390px ~ 2560px 响应式布局
## 数据来源
| 引擎 | 数据位置 | 会话数 | 恢复命令 |
|---|---|---|---|
| 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>` |
| Reasonix | `~/.reasonix/projects/<project-slug>/sessions/` | - | `reasonix --dir <cwd> --resume` |
OpenCode 数据目录通过 `opencode debug paths` 自动检测,若 CLI 不可用则回退到 `~/.local/share/opencode`
Reasonix 数据目录默认是 `~/.reasonix`,可通过环境变量 `REASONIX_HOME` 自定义,其下包含 `projects/` 子目录。
## API
| 路径 | 说明 |
|---|---|
| `GET /api/health` | 服务状态 + 五引擎健康 |
| `GET /api/sessions?engine=all\|codex\|claude\|agy\|opencode\|reasonix` | 会话列表(支持 &favorite=1 只看收藏) |
| `GET /api/sessions/:engine/:id` | 会话详情(返回 is_favorite / favorited_at |
| `GET /api/sessions/:engine/:id/tools` | 会话内工具统计 |
| `PUT /api/sessions/:engine/:id/favorite` | 收藏会话(幂等) |
| `DELETE /api/sessions/:engine/:id/favorite` | 取消收藏(幂等) |
| `DELETE /api/sessions/:engine/:id` | 删除会话(仅 OpenCode 引擎支持原始删除) |
| `GET /api/tools?engine=...` | 全局工具排行 |
| `GET /api/resolve/:prefix?engine=...` | 短 ID 解析 |
| `POST /api/refresh` | 刷新缓存 |
## 环境变量
- `CODEX_HOME` — Codex 根目录(默认 `~/.codex`
- `AGY_DATA_DIR` — Agy 数据目录(默认 `~/.gemini/antigravity-cli`
- `REASONIX_HOME` — Reasonix 根目录(默认 `~/.reasonix`
- `PORT` — 后端端口(默认 `3721`