Skip to content

chenflux/CodeRewind

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

CodeRewind

ClaudeCodeOpenCode 会话中提取对话历史和代码变更,用于 AI 编程后的代码恢复和审查。

概述

当 AI 编码助手修改代码导致项目出现问题时,CodeRewind 可以帮助你恢复代码,它能提取:

  • 完整对话历史
  • 所有文件编辑(oldString → newString)
  • 新建文件内容

数据直接从两个工具的原生存储格式中提取。

安装

git clone https://github.com/chenflux/CodeRewind.git
cd CodeRewind

仅需 Python 3.7+,无需外部依赖。

快速开始

# 查看可用会话
python extract_session.py list

# 提取项目在时间范围内的所有会话
python extract_session.py extract -p ClamAI -s 2026-05-09T00:37:31 -e 2026-05-09T22:44:00

# 从指定目录提取(精确匹配)
python extract_session.py extract --dir "D:\Projects\MyProject"

使用方法

命令

list - 查看可用会话

python extract_session.py list [-p PROJECT] [--dir PATH]
选项 说明
-p, --project 按项目名称过滤(匹配 directory 或 title)
--dir 按完整目录路径过滤(精确匹配)

extract - 提取会话

python extract_session.py extract [OPTIONS]
选项 说明
-o, --output 输出目录(默认:./extracted
-s, --start 开始时间(ISO 格式)
-e, --end 结束时间(ISO 格式)
-p, --project 按项目名称过滤(模糊匹配)
--dir 按完整目录路径过滤(精确匹配)
-S, --sources 数据源:claudecode opencode(默认:两者都提取)

示例

# 提取多个数据源
python extract_session.py extract -p ClamAI -s 2026-05-09T00:37:31

# 仅提取 OpenCode 会话
python extract_session.py extract -S opencode -p ClamAI

# 从指定目录提取(处理同名项目)
python extract_session.py extract --dir "D:\Projects\ClamAI"

输出格式

每个会话保存为一个 JSON 文件,包含:

{
  "source": "opencode_db",
  "session_id": "ses_xxx",
  "title": "会话标题",
  "directory": "/path/to/project",
  "time_created": "2026-05-09T10:30:00",
  "conversations": [
    {
      "role": "user",
      "content": "用户消息内容",
      "timestamp": "2026-05-09T10:30:00",
      "part_id": "prt_xxx"
    }
  ],
  "edits": [
    {
      "filePath": "src/main.go",
      "oldString": "func old() {}",
      "newString": "func new() {}",
      "status": "completed",
      "timestamp": "2026-05-09T10:31:00"
    }
  ],
  "writes": [
    {
      "filePath": "src/new.go",
      "content": "package main\n...",
      "status": "completed",
      "timestamp": "2026-05-09T10:32:00"
    }
  ]
}

数据源

数据源 存储位置
ClaudeCode ~/.claude/projects/*.jsonl
OpenCode ~/.local/share/opencode/opencode.db (SQLite)

功能对比

功能 ClaudeCode OpenCode
格式 JSONL SQLite
对话历史
编辑操作
文件写入
推理过程 -

相关项目关键词

代码恢复, AI编程, 会话提取, ClaudeCode, OpenCode,
代码变更追踪, 开发回退, 对话历史导出, 代码审查

License

MIT

About

VibeCoding 时的数据恢复( ClaudeCode 和 OpenCode)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages