| 🔄 多 CLI 支持 | Codex、Kiro、Gemini、Claude 全都行 |
| ⚡ 实时同步 | 系统级文件监控,聊完自动保存 |
| 🔢 Token 统计 | tiktoken 精确计算,知道你用了多少 |
| 🔍 搜索 | 秒找任何对话 |
| 📤 导出 | JSON 或 CSV,随你选 |
| 🚀 零配置 | 自动检测路径,开箱即用 |
graph LR
subgraph 数据来源
A[~/.codex]
B[~/.kiro]
C[~/.gemini]
D[~/.claude]
end
subgraph Chat Vault
E[监控器]
F[解析器]
G[存储层]
end
subgraph 输出
H[(SQLite 数据库)]
end
A --> E
B --> E
C --> E
D --> E
E --> F
F --> G
G --> H
sequenceDiagram
participant 用户
participant CLI as AI CLI (Codex/Kiro/...)
participant 监控器
participant 解析器
participant DB as SQLite
用户->>CLI: 和 AI 聊天
CLI->>CLI: 保存到本地文件
监控器->>监控器: 检测文件变化
监控器->>解析器: 解析新内容
解析器->>DB: 写入数据库
DB-->>用户: 随时查询
# 下载
git clone https://github.com/tukuaiai/vibe-coding-cn.git
cd vibe-coding-cn/libs/external/chat-vault
# 运行(自动安装依赖)
./start.sh # Linux/macOS
start.bat # Windows(双击)
搞定! 🎉
==================================================
AI 聊天记录 → 集中存储
==================================================
数据库: ./output/chat_history.db
[Codex] 新增:1241 更新:0 跳过:0 错误:0
[Kiro] 新增:21 更新:0 跳过:0 错误:0
[Gemini] 新增:332 更新:0 跳过:0 错误:0
[Claude] 新增:168 更新:0 跳过:0 错误:0
==================================================
总计: 1762 会话, 40000+ 消息
✓ 同步完成!
=== Token 统计 (tiktoken) ===
codex: 11,659,952 tokens
kiro: 26,337 tokens
gemini: 3,195,821 tokens
claude: 29,725 tokens
总计: 14,911,835 tokens
| 命令 | 说明 |
|---|---|
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 |
清理孤立记录 |
chat-vault/
├── 🚀 start.sh / start.bat # 一键启动
├── 📦 build.py # 打包脚本
├── 📂 src/
│ ├── main.py # 主程序
│ ├── config.py # 配置检测
│ ├── storage.py # SQLite + tiktoken
│ ├── watcher.py # 文件监控
│ └── parsers/ # 各 CLI 解析器
├── 📂 docs/
│ ├── AI_PROMPT.md # AI 助手指南
│ └── schema.md # 数据库结构
└── 📂 output/
├── chat_history.db # 你的数据库
└── logs/ # 日志
erDiagram
sessions {
TEXT file_path PK "文件路径"
TEXT session_id "会话ID"
TEXT source "来源"
TEXT cwd "工作目录"
TEXT messages "消息JSON"
INTEGER file_mtime "修改时间"
TEXT start_time "开始时间"
INTEGER token_count "Token数"
}
meta {
TEXT key PK
TEXT value
}
把 docs/AI_PROMPT.md 发给 AI 助手,它就知道:
如果这个项目帮到你了,考虑支持一下:
572155580TQtBXCSTwLFHjBqTS4rNUp7ufiGx51BReyHjYhozVf9AQmfv7yv79xSNs6uaEU5oUk2USasYQfUYau0xa396923a71ee7D9480b346a17dDeEb2c0C287BBC0xa396923a71ee7D9480b346a17dDeEb2c0C287BBCbc1plslluj3zq3snpnnczplu7ywf37h89dyudqua04pz4txwh8z5z5vsre7nlm0xb720c98a48c77f2d49d375932b2867e793029e6337f1562522640e4f84203d2e欢迎各种形式的贡献!随时开启一个 Issue 或提交 Pull Request。
MIT - 随便用,不用管我