refactor: Remove libs directory

This commit is contained in:
tukuaiai
2025-12-18 13:22:45 +08:00
parent 6e8b446416
commit 222cefbd58
639 changed files with 1 additions and 110809 deletions
-231
View File
@@ -1,231 +0,0 @@
# AI Chat Converter - AI 助手完全指南
> **把这个文档发给 AI 助手,它就知道怎么帮你用这个工具了**
---
## 🎯 这是什么?
一个把 Codex、Kiro、Gemini、Claude 的聊天记录全部存到一个 SQLite 数据库的工具。
**数据库位置**: `项目目录/output/chat_history.db`
---
## 🚀 怎么启动?
### 方式一:双击启动(推荐)
```bash
./start.sh # Linux/macOS
start.bat # Windows(双击)
```
### 方式二:命令行
```bash
cd ai-chat-converter
python src/main.py --watch # 持续监控(推荐)
python src/main.py # 同步一次就退出
```
### 方式三:后台运行
```bash
nohup ./start.sh > /dev/null 2>&1 &
```
---
## 📊 数据库长啥样?
### 主表:sessions
| 字段 | 说明 | 例子 |
|------|------|------|
| file_path | 主键,文件路径 | `/home/user/.codex/sessions/xxx.jsonl` |
| session_id | 会话ID | `019b2164-168c-7133-9b1f-5d24fea1d3e1` |
| source | 来源 | `codex` / `kiro` / `gemini` / `claude` |
| cwd | 工作目录 | `/home/user/projects/myapp` |
| messages | 消息内容(JSON | `[{"time":"...", "role":"user", "content":"..."}]` |
| start_time | 开始时间 | `2025-12-18T10:30:00` |
| token_count | Token 数量 | `1234` |
---
## 🔍 常用查询(直接复制用)
### 1. 看看有多少数据
```sql
SELECT source, COUNT(*) as , SUM(token_count) as Token总数
FROM sessions
GROUP BY source;
```
### 2. 最近的 10 个会话
```sql
SELECT session_id, source, cwd, start_time, token_count
FROM sessions
ORDER BY start_time DESC
LIMIT 10;
```
### 3. 搜索包含某个词的对话
```sql
SELECT session_id, source, cwd, start_time
FROM sessions
WHERE messages LIKE '%要搜索的词%'
ORDER BY start_time DESC
LIMIT 20;
```
### 4. 查某个项目的所有对话
```sql
SELECT session_id, source, start_time, token_count
FROM sessions
WHERE cwd LIKE '%项目名%'
ORDER BY start_time;
```
### 5. 看某个会话的完整内容
```sql
SELECT messages FROM sessions WHERE session_id = '会话ID';
```
### 6. 统计每天用了多少 Token
```sql
SELECT
date(start_time) as ,
SUM(token_count) as Token数
FROM sessions
GROUP BY
ORDER BY DESC
LIMIT 7;
```
### 7. 统计每个来源的 Token
```sql
SELECT source, SUM(token_count) as tokens
FROM sessions
GROUP BY source
ORDER BY tokens DESC;
```
---
## 💻 命令行用法
| 命令 | 干啥的 |
|------|--------|
| `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` | 导出 CSV |
| `python src/main.py --prune` | 清理已删除文件的记录 |
---
## 🐍 用 Python 查询
```python
import sqlite3
import json
# 连接数据库
db = sqlite3.connect('output/chat_history.db')
# 查所有 Codex 会话
for row in db.execute("SELECT session_id, cwd, token_count FROM sessions WHERE source='codex'"):
print(f"{row[0]}: {row[2]} tokens - {row[1]}")
# 搜索包含 "python" 的对话
for row in db.execute("SELECT session_id, source FROM sessions WHERE messages LIKE '%python%'"):
print(f"[{row[1]}] {row[0]}")
# 获取某个会话的消息
row = db.execute("SELECT messages FROM sessions WHERE session_id=?", ('会话ID',)).fetchone()
if row:
messages = json.loads(row[0])
for msg in messages:
print(f"{msg['role']}: {msg['content'][:100]}...")
```
---
## 📁 文件在哪?
```
ai-chat-converter/
├── start.sh ← 双击这个启动
├── output/
│ ├── chat_history.db ← 数据库在这
│ └── logs/ ← 日志在这
└── src/
└── main.py ← 主程序
```
---
## ❓ AI 助手任务示例
当用户说这些话时,你应该这样做:
| 用户说 | 你做 |
|--------|------|
| "帮我查最近的对话" | 执行最近会话 SQL |
| "搜索关于 Python 的讨论" | 用 `--search` 或 SQL 搜索 |
| "这个月用了多少 Token" | 执行 Token 统计 SQL |
| "导出所有 Codex 记录" | `python src/main.py --export json --source codex` |
| "启动监控" | `./start.sh``python src/main.py -w` |
| "数据库在哪" | `output/chat_history.db` |
---
## 🔧 出问题了?
### 问题:找不到数据库
```bash
# 先运行一次同步
python src/main.py
```
### 问题:依赖没装
```bash
pip install -r requirements.txt
```
### 问题:权限不够
```bash
chmod +x start.sh
```
---
## 📊 消息格式
数据库里的 `messages` 字段是 JSON 数组:
```json
[
{
"time": "2025-12-18T10:30:00",
"role": "user",
"content": "帮我写个 Python 脚本"
},
{
"time": "2025-12-18T10:30:05",
"role": "ai",
"content": "好的,这是一个简单的脚本..."
}
]
```
- `role`: `user`(用户)或 `ai`AI 回复)
- `time`: ISO 格式时间
- `content`: 消息内容
-15
View File
@@ -1,15 +0,0 @@
# Roadmap
## v1.0 ✅ Core
- [x] Multi-CLI support (Codex/Kiro/Gemini/Claude)
- [x] Auto path detection
- [x] SQLite storage
- [x] Incremental sync
- [x] Cross-platform watch mode (watchdog)
- [x] Token counting (tiktoken)
## Future
- [ ] Web UI
- [ ] API server mode
- [ ] Vector storage (RAG)
- [ ] Cross-AI context sharing
-49
View File
@@ -1,49 +0,0 @@
# 数据库结构 (v5)
**位置**: `项目目录/output/chat_history.db`
## sessions 表(主表)
| 字段 | 类型 | 说明 |
|------|------|------|
| file_path | TEXT | 主键,源文件路径 |
| session_id | TEXT | 会话 ID |
| source | TEXT | 来源: codex/kiro/gemini/claude |
| cwd | TEXT | 工作目录 |
| messages | TEXT | JSON 数组 |
| file_mtime | INTEGER | 文件修改时间戳 |
| start_time | TEXT | 会话开始时间 |
| token_count | INTEGER | Token 数量 |
**索引**: `idx_source`, `idx_session_id`, `idx_start_time`
## meta 表(全局统计)
| key | 说明 |
|-----|------|
| schema_version | 数据库版本 (5) |
| total_sessions | 总会话数 |
| total_messages | 总消息数 |
| total_tokens | 总 Token 数 |
| last_sync | 最后同步时间 |
## meta_{cli} 表(各 CLI 统计)
每个 CLI 独立的元信息表:`meta_codex`, `meta_kiro`, `meta_gemini`, `meta_claude`
| key | 说明 |
|-----|------|
| path | 监控路径 |
| sessions | 会话数 |
| messages | 消息数 |
| total_tokens | Token 总数 |
| last_sync | 最后同步时间 |
## 消息格式
```json
[
{"time": "2025-12-18T10:30:00", "role": "user", "content": "..."},
{"time": "2025-12-18T10:30:05", "role": "ai", "content": "..."}
]
```