跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
TypeScriptNode.jsAI大前端

Cursor Chat Browser:浏览和管理 Cursor AI 聊天历史

综述由AI生成Cursor Chat Browser 是一个用于浏览和管理 Cursor 编辑器 AI 聊天历史的 Web 应用。它解决了原生编辑器无法方便搜索和导出聊天记录的问题。支持查看、搜索和导出对话为 Markdown、HTML、PDF 格式。兼容新旧版本 Cursor 存储机制,自动检测跨平台路径。基于 Next.js 14、TypeScript 和 Tailwind CSS 构建,使用 SQLite 读取数据库。适用于需要回顾、整理及备份 AI 编程对话的开发者。

赛博行者发布于 2026/4/6更新于 2026/5/2329 浏览
Cursor Chat Browser:浏览和管理 Cursor AI 聊天历史

简介

Cursor Chat Browser 是一个用于浏览和管理 Cursor 编辑器 AI 聊天历史的 Web 应用。它解决了 Cursor 编辑器本身无法方便地浏览、搜索和导出聊天历史的问题,让开发者能够更好地管理和回顾与 AI 的对话。

核心特点:

  • 浏览功能:浏览所有工作区的聊天历史
  • 搜索功能:全文搜索,支持按聊天类型过滤
  • 导出功能:支持 Markdown、HTML、PDF 多种格式
  • 多存储支持:兼容新旧版本的 Cursor 存储格式
  • 双重日志:同时支持 AI 聊天和 Composer 日志
  • 自动检测:自动检测 Cursor 工作区存储路径
  • 响应式设计:支持深色/浅色模式,移动端友好

解决的核心问题:

  • Cursor 编辑器无法方便地浏览历史聊天记录
  • 无法搜索之前的对话内容
  • 无法导出聊天记录分享或备份
  • 多个工作区的聊天记录分散,难以统一管理
  • 新版本 Cursor 改变了存储格式,需要兼容

面向的用户:

  • 使用 Cursor 编辑器进行 AI 编程的开发者
  • 需要回顾和整理 AI 对话历史的用户
  • 需要导出聊天记录分享给团队的开发者
  • 需要备份重要对话的用户

技术栈

  • 框架: Next.js 14 (App Router)
  • 语言: TypeScript (93.7%)
  • 样式: Tailwind CSS
  • UI 组件: shadcn/ui
  • 数据库: SQLite(读取 Cursor 聊天数据库)
  • Node.js: 18+

重要特性:

  • 支持 Windows、macOS、Linux、WSL2
  • 自动检测 Cursor 工作区存储路径
  • 支持新旧版本的 Cursor 存储格式
  • 响应式设计,支持深色/浅色模式

主要功能

核心作用

Cursor Chat Browser 的核心作用是提供一个 Web 界面来浏览、搜索和管理 Cursor 编辑器的 AI 聊天历史,让开发者能够:

  1. 浏览历史:查看所有工作区的聊天记录
  2. 搜索对话:全文搜索所有聊天内容
  3. 导出记录:导出为 Markdown、HTML、PDF 格式
  4. 组织管理:按工作区组织聊天记录
  5. 类型区分:区分 AI 聊天和 Composer 日志
  6. 跨平台:支持 Windows、macOS、Linux、WSL2

快速开始

安装:

# 克隆仓库
git clone https://github.com/thomas-pedersen/cursor-chat-browser.git
cd cursor-chat-browser
# 安装依赖
npm install
# 启动开发服务器
npm run dev

访问:

  • 打开浏览器访问:http://localhost:3000

配置:

应用会自动检测 Cursor 工作区存储路径:

  • Windows: %APPDATA%\Cursor\User\workspaceStorage
  • WSL2: /mnt/c/Users/<USERNAME>/AppData/Roaming/Cursor/User/workspaceStorage
  • macOS: ~/Library/Application Support/Cursor/User/workspaceStorage
  • Linux: ~/.config/Cursor/User/workspaceStorage
  • Linux (remote/SSH): ~/.cursor-server/data/User/workspaceStorage

如果自动检测失败,可以在配置页面(⚙️)手动设置路径。

注意:新版本的 Cursor 已将聊天数据存储从工作区特定位置移动到全局存储。此应用现在支持两种存储方法,以确保与所有 Cursor 版本兼容。

核心特性

  1. 浏览功能

    • 查看所有工作区的聊天历史
    • 按工作区组织聊天记录
    • 浏览 AI 聊天日志和 Composer 日志
    • 在工作区内的不同聊天标签之间导航
    • 查看带类型指示器的合并日志
    • 显示每个工作区的聊天和 Composer 数量
  2. 搜索功能

    • 在导航栏中使用搜索栏搜索所有日志
    • 按聊天日志、Composer 日志或两者过滤结果
    • 搜索结果显示:
      • 类型徽章(Chat/Composer)
      • 匹配的文本片段
      • 工作区位置
      • 标题
      • 时间戳
  3. 导出功能

    • Markdown:纯文本格式,带代码块
    • HTML:带语法高亮的样式文档
    • PDF:适合分享的格式化文档
  4. 多存储支持

    • 支持工作区特定存储(旧版本)
    • 支持全局存储(新版本 Cursor)
    • 自动检测存储位置
    • 兼容所有 Cursor 版本
  5. 双重日志支持

    • AI 聊天日志
    • Composer 日志
    • 类型区分和过滤
    • 合并视图
  6. 用户体验

    • 响应式设计
    • 深色/浅色模式支持
    • 语法高亮的代码块
    • 可收藏的聊天 URL
    • 自动工作区路径检测

项目详细剖析

架构设计

Cursor Chat Browser 采用 Next.js 14 App Router 架构,使用 TypeScript 开发,通过 SQLite 读取 Cursor 的聊天数据库。

核心组件:

Cursor Chat Browser
├── Next.js 14 (App Router)
│   ├── 页面路由
│   ├── 服务端组件
│   └── 客户端组件
├── SQLite 数据库读取
│   ├── 读取 state.vscdb 文件
│   ├── 解析聊天记录
│   └── 解析 Composer 日志
├── UI 组件 (shadcn/ui)
│   ├── 导航栏
│   ├── 搜索栏
│   ├── 聊天列表
│   └── 导出功能
└── 样式系统 (Tailwind CSS)
    ├── 响应式设计
    └── 深色/浅色模式

设计理念:

  1. 简单易用:Web 界面,无需复杂配置
  2. 自动检测:自动检测 Cursor 存储路径
  3. 兼容性:支持新旧版本的 Cursor 存储格式
  4. 响应式:支持桌面和移动端
  5. 可扩展:基于 Next.js,易于扩展功能

Cursor 存储机制

Cursor 编辑器将聊天历史存储在 SQLite 数据库中(state.vscdb 文件)。

存储位置:

  • Windows: %APPDATA%\Cursor\User\workspaceStorage\<workspace-id>\state.vscdb
  • macOS: ~/Library/Application Support/Cursor/User/workspaceStorage/<workspace-id>/state.vscdb
  • Linux: ~/.config/Cursor/User/workspaceStorage/<workspace-id>/state.vscdb

新版本变化:

  • 旧版本:每个工作区有独立的 state.vscdb 文件
  • 新版本(v44.9+):使用全局存储,聊天数据集中管理

数据库结构:

-- 简化的数据库结构
CREATE TABLE ItemTable (
    key TEXT PRIMARY KEY,
    value TEXT -- JSON 格式的聊天数据
);

路径自动检测

应用会自动检测不同平台的 Cursor 存储路径:

检测逻辑:

// 伪代码示例
function detectCursorPath(): string {
    const platform = process.platform;
    switch (platform) {
        case 'win32':
            return path.join(process.env.APPDATA, 'Cursor/User/workspaceStorage');
        case 'darwin':
            return path.join(os.homedir(), 'Library/Application Support/Cursor/User/workspaceStorage');
        case 'linux':
            // 检查是否是 WSL2
            if (isWSL2()) {
                return `/mnt/c/Users/${username}/AppData/Roaming/Cursor/User/workspaceStorage`;
            }
            return path.join(os.homedir(), '.config/Cursor/User/workspaceStorage');
        default:
            throw new Error('Unsupported platform');
    }
}

手动配置:

如果自动检测失败,用户可以在配置页面手动设置路径:

  1. 点击配置图标(⚙️)
  2. 输入 Cursor 工作区存储路径
  3. 保存配置

搜索功能实现

搜索功能支持全文搜索和类型过滤:

搜索流程:

  1. 用户输入搜索关键词
  2. 扫描所有工作区的 state.vscdb 文件
  3. 解析聊天记录和 Composer 日志
  4. 全文搜索匹配内容
  5. 按类型过滤(Chat/Composer/All)
  6. 显示搜索结果

搜索结果展示:

  • 类型徽章(Chat/Composer)
  • 匹配的文本片段(高亮显示)
  • 工作区位置
  • 标题
  • 时间戳

导出功能

支持三种导出格式:

Markdown 导出:

# Chat Title
## User
用户消息内容
## Assistant
AI 回复内容
```code
代码块内容

**HTML 导出**:

- 带样式的 HTML 文档
- 代码块语法高亮(使用 highlight.js 或类似库)
- 响应式设计
- 可打印格式

**PDF 导出**:

- 使用浏览器打印功能或 PDF 库
- 格式化文档
- 适合分享和存档

**导出实现**:

```typescript
// 伪代码示例
async function exportChat(chatId: string, format: 'md' | 'html' | 'pdf') {
    const chat = await loadChat(chatId);
    switch (format) {
        case 'md':
            return exportAsMarkdown(chat);
        case 'html':
            return exportAsHTML(chat);
        case 'pdf':
            return exportAsPDF(chat);
    }
}

技术栈详解

Next.js 14 App Router:

  • 使用最新的 App Router 架构
  • 服务端组件和客户端组件混合使用
  • 文件系统路由
  • 服务端数据获取

TypeScript:

  • 类型安全
  • 更好的开发体验
  • 代码提示和错误检查

Tailwind CSS:

  • 实用优先的 CSS 框架
  • 快速开发
  • 响应式设计
  • 深色模式支持

shadcn/ui:

  • 基于 Radix UI 的组件库
  • 可访问性支持
  • 可定制样式
  • 组件丰富

SQLite:

  • 使用 better-sqlite3 或类似库读取数据库
  • 轻量级,无需额外服务
  • 直接读取 Cursor 的数据库文件

兼容性处理

项目需要处理新旧版本的 Cursor 存储格式差异:

旧版本(工作区特定存储):

workspaceStorage/
├── workspace-id-1/
│   └── state.vscdb
├── workspace-id-2/
│   └── state.vscdb
└── ...

新版本(全局存储):

User/
├── workspaceStorage/
│   └── (旧格式)
└── globalStorage/
    └── (新格式)

兼容策略:

  1. 同时检查两种存储位置
  2. 优先使用新格式
  3. 如果新格式不存在,回退到旧格式
  4. 统一数据模型处理两种格式

项目地址与资源

官方资源
  • 🌟 GitHub: github.com/thomas-pedersen/cursor-chat-browser
  • 🐛 Issue Tracker: GitHub Issues
  • 💬 Pull Requests: GitHub PRs

目录

  1. 简介
  2. 技术栈
  3. 主要功能
  4. 核心作用
  5. 快速开始
  6. 克隆仓库
  7. 安装依赖
  8. 启动开发服务器
  9. 核心特性
  10. 项目详细剖析
  11. 架构设计
  12. Cursor 存储机制
  13. 路径自动检测
  14. 搜索功能实现
  15. 导出功能
  16. Chat Title
  17. User
  18. Assistant
  19. 技术栈详解
  20. 兼容性处理
  21. 项目地址与资源
  22. 官方资源
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • AI 自主化演进双重突破:MiniMax M2.7 自我进化模型与小鹏 VLA 自动驾驶
  • VS Code Copilot 接入第三方 OpenAI 兼容模型实战指南
  • 国内常用 Python 镜像源及 pip 配置指南
  • 国产大模型实测:文心一言、通义千问、Kimi 与豆包横向对比
  • LLaMA Factory 数据集配置格式说明
  • Python 实现股票 Tick 级实时行情抓取
  • 使用 LaTeX 与 TikZ 绘制深度学习网络模型图
  • JavaScript 快速入门:环境搭建与基础知识
  • 滑动窗口算法实战:从长度最小子数组到最小覆盖子串
  • 前端实现视频画中画功能:主窗口与小窗同步控制
  • Vivado 与 Modelsim 联合仿真环境配置指南
  • AI 创作者 xAMA 活动:在技术浪潮中做会发光的造浪者
  • 合并两个升序链表与合并 K 个升序链表
  • Phi-3-mini-128k-instruct Chainlit 插件开发:思维链可视化与 Token 统计
  • DeepSeek 与通义万相结合实现 AI 视频生成实战
  • VS Code 前端 AI 插件体验:Copilot、通义灵码、iFlyCode 与 Trae 对比
  • SpringBoot+Vue 家政服务平台设计与实现
  • Python 实战:Boss 直聘职位信息爬虫开发
  • AI Agent 推理架构对比:ReAct 与 Plan-and-Execute 的选择
  • 算法实战:寻找数组中心下标与除自身外数组乘积(前缀和技巧)

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online