vibe-coding-cn/repo/chat-vault/README.md

144 lines
3.7 KiB
Markdown
Raw 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.

# Chat Vault Monorepo
AI 聊天记录集中存储与管理平台。
## 项目概述
本项目是一个 monorepo包含 AI 聊天记录同步工具及相关基础设施。核心功能是将多个 AI CLI 工具Codex、Kiro、Gemini、Claude的聊天记录统一存储到 SQLite 数据库。
## 功能特性
- 多 CLI 支持Codex、Kiro、Gemini、Claude
- 实时监控:基于 watchdog 的文件变更检测
- Token 统计:使用 tiktoken (cl100k_base) 精确计数
- 搜索导出支持关键词搜索、JSON/CSV 导出
- 零配置:自动检测默认路径,开箱即用
## 快速开始
### 环境要求
- Python 3.8+
- Linux / macOS / Windows (WSL)
### 启动服务
```bash
cd services/chat-vault
# Linux/macOS
./start.sh
# Windows
start.bat
```
首次运行会自动创建虚拟环境并安装依赖。
## 目录结构
```
chat-vault/
├── services/
│ └── chat-vault/ # 核心同步服务
│ ├── src/
│ │ ├── main.py # CLI 入口
│ │ ├── config.py # 配置与路径检测
│ │ ├── storage.py # SQLite 存储
│ │ ├── watcher.py # 文件监控
│ │ └── parsers/ # 各 CLI 解析器
│ ├── docs/ # 服务文档
│ ├── scripts/ # 辅助脚本
│ ├── requirements.txt
│ ├── start.sh
│ └── .env.example
├── libs/
│ ├── common/ # 共享库(预留)
│ ├── database/ # 数据库工具(预留)
│ └── external/ # 外部依赖镜像
├── monitoring/
│ ├── grafana/ # Grafana 配置
│ ├── prometheus/ # Prometheus 配置(预留)
│ └── alertmanager/ # 告警配置(预留)
├── scripts/ # 全局脚本
│ ├── build_all.sh
│ ├── test_all.sh
│ └── deploy.sh
├── docs/ # 全局文档
├── AGENTS.md
├── README.md
└── LICENSE
```
## 常用命令
`services/chat-vault/` 目录下执行:
| 命令 | 说明 |
|------|------|
| `python src/main.py` | 同步一次 |
| `python src/main.py -w` | 持续监控模式 |
| `python src/main.py --stats` | 显示统计信息 |
| `python src/main.py --search "关键词"` | 搜索消息 |
| `python src/main.py --export json` | 导出 JSON |
| `python src/main.py --export csv --source codex` | 导出指定来源 |
| `python src/main.py --prune` | 清理孤立记录 |
## 配置说明
### 环境变量(可选)
参考 `services/chat-vault/.env.example`
```bash
# 自定义路径(逗号分隔多个)
CODEX_PATHS=~/.codex/sessions
KIRO_PATHS=~/.local/share/kiro-cli
GEMINI_PATHS=~/.gemini/tmp
CLAUDE_PATHS=~/.claude
# WSL 路径支持
CODEX_PATHS=\\wsl.localhost\Ubuntu\home\user\.codex\sessions
```
默认自动检测以下路径:
- Codex: `~/.codex/sessions`, `~/.codex`
- Kiro: `~/.local/share/kiro-cli`
- Gemini: `~/.gemini/tmp`, `~/.gemini`
- Claude: `~/.claude`
### 输出位置
- 数据库:`services/chat-vault/output/chat_history.db`
- 日志:`services/chat-vault/output/logs/`
## 数据库结构
详见 `services/chat-vault/docs/schema.md`
主表 `sessions`
- `file_path` (PK): 源文件路径
- `session_id`: 会话 ID
- `source`: 来源 (codex/kiro/gemini/claude)
- `messages`: JSON 消息数组
- `token_count`: Token 数量
## FAQ
**Q: 需要配置吗?**
A: 不需要,自动检测默认路径。
**Q: 支持 WSL 吗?**
A: 支持,`\\wsl.localhost\Ubuntu\...` 格式路径会自动转换。
**Q: 数据安全吗?**
A: 只读取 AI 工具的文件,不修改原始数据。
## 贡献
欢迎提交 Issue 和 Pull Request。
## 许可证
MIT License