一天一个开源项目(第47篇):Cursor Chat Browser - 浏览和管理 Cursor AI 聊天历史的 Web 应用

一天一个开源项目(第47篇):Cursor Chat Browser - 浏览和管理 Cursor AI 聊天历史的 Web 应用

引言

“View, search, and export your AI conversations in various formats.”

这是「一天一个开源项目」系列的第 47 篇文章。今天介绍的项目是 Cursor Chat BrowserGitHub)。

使用 Cursor 编辑器进行 AI 编程时,是否遇到过这些问题:想回顾之前的对话却找不到?想搜索某个技术问题的解决方案却无从下手?想导出聊天记录分享给团队却不知道如何操作?Cursor Chat Browser 是一个用于浏览和管理 Cursor 编辑器 AI 聊天历史的 Web 应用,支持查看、搜索和导出你的 AI 对话为 Markdown、HTML、PDF 等多种格式,让你轻松管理和回顾与 AI 的对话历史。

为什么值得看?

  • 🔍 浏览和搜索:浏览所有工作区的 Cursor 聊天历史,全文搜索功能
  • 🌐 多存储支持:支持工作区特定存储和全局存储(新版本 Cursor)
  • 🤖 双重日志:同时支持 AI 聊天日志和 Composer 日志
  • 📁 工作区组织:按工作区组织聊天记录
  • 📱 响应式设计:支持深色/浅色模式,移动端友好
  • ⬇️ 多格式导出:支持 Markdown、HTML(语法高亮)、PDF 导出
  • 🎨 语法高亮:代码块语法高亮显示
  • 📌 可收藏链接:支持书签化的聊天 URL

你将学到什么

  • Cursor Chat Browser 的核心功能和特性
  • Cursor 编辑器聊天历史的存储机制
  • 如何浏览、搜索和导出聊天记录
  • 跨平台路径自动检测机制
  • Next.js + TypeScript + Tailwind CSS 技术栈实践
  • SQLite 数据库读取和解析

前置知识

  • 了解 Cursor 编辑器的基本使用
  • 对 Web 应用开发有基本了解
  • 了解 Next.js 框架(可选)
  • 对 SQLite 数据库有基本了解(可选)

项目背景

项目简介

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

核心特点

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

解决的核心问题

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

面向的用户

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

作者/团队介绍

  • 作者Thomas PedersenGitHub
  • 背景:开源开发者,专注于开发实用工具
  • 理念:让开发者更好地管理和利用 AI 对话历史
  • 社区:500+ stars,87+ forks,活跃的社区支持

项目数据

技术栈

  • 框架: Next.js 14 (App Router)
  • 语言: TypeScript (93.7%)
  • 样式: Tailwind CSS (6.0%)
  • 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

使用场景

  1. 回顾对话历史
    • 查找之前解决的技术问题
    • 回顾 AI 给出的代码建议
    • 查看之前的错误解决方案
  2. 知识整理
    • 导出重要对话为文档
    • 整理技术问题和解决方案
    • 创建知识库
  3. 团队分享
    • 导出聊天记录分享给团队成员
    • 将 AI 对话作为文档保存
    • 创建技术文档
  4. 备份管理
    • 备份重要的 AI 对话
    • 跨设备同步聊天历史
    • 版本控制聊天记录
  5. 搜索和分析
    • 搜索特定技术问题的解决方案
    • 分析 AI 对话模式
    • 查找代码示例

快速开始

安装

# 克隆仓库git clone https://github.com/thomas-pedersen/cursor-chat-browser.git cd cursor-chat-browser # 安装依赖npminstall# 启动开发服务器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 BrowserCursor 编辑器内置手动导出
浏览历史✅ Web 界面,易于浏览⚠️ 仅当前会话❌ 不支持
搜索功能✅ 全文搜索,支持过滤❌ 不支持❌ 需手动查找
导出格式✅ Markdown、HTML、PDF❌ 不支持⚠️ 需手动复制
多工作区✅ 统一管理所有工作区⚠️ 分散在各工作区⚠️ 需逐个处理
类型区分✅ 区分 Chat 和 Composer⚠️ 需手动区分❌ 不支持
跨平台✅ Windows、macOS、Linux✅ 跨平台✅ 跨平台
语法高亮✅ 代码块语法高亮✅ 支持❌ 需手动处理
备份管理✅ 导出备份⚠️ 需手动复制文件⚠️ 需手动操作

为什么选择 Cursor Chat Browser?

  • 便捷浏览:Web 界面,易于浏览和搜索历史对话
  • 多格式导出:支持 Markdown、HTML、PDF,满足不同需求
  • 全文搜索:快速找到需要的对话内容
  • 统一管理:统一管理所有工作区的聊天记录
  • 自动检测:自动检测 Cursor 存储路径,无需手动配置
  • 开源免费:MIT 许可证,完全免费使用

项目详细剖析

架构设计

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+):使用全局存储,聊天数据集中管理

数据库结构

-- 简化的数据库结构CREATETABLE ItemTable (keyTEXTPRIMARYKEY,valueTEXT-- JSON 格式的聊天数据);

路径自动检测

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

检测逻辑

// 伪代码示例functiondetectCursorPath():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':// 检查是否是 WSL2if(isWSL2()){return`/mnt/c/Users/${username}/AppData/Roaming/Cursor/User/workspaceStorage`;}return path.join(os.homedir(),'.config/Cursor/User/workspaceStorage');default:thrownewError('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. 统一数据模型处理两种格式

项目地址与资源

官方资源

适用人群

  • Cursor 用户:使用 Cursor 编辑器进行 AI 编程的开发者
  • 知识管理:需要整理和回顾 AI 对话历史的用户
  • 团队协作:需要导出和分享聊天记录的团队
  • 备份需求:需要备份重要对话的用户
  • Web 开发者:学习 Next.js + TypeScript + Tailwind CSS 的开发者

欢迎来我中的个人主页找到更多有用的知识和有趣的产品

Read more

腾讯云端Openclaw+飞书 多机器人配置全攻略(新手友好版)

前言:随着AI自动化工具的普及,Openclaw凭借强大的自主执行能力,成为很多人提升效率的首选;而飞书作为高效协同工具,其机器人功能可无缝融入日常工作流。当两者结合,配置多机器人实现分工协作(如办公提效、信息管理、场景化响应),能进一步释放AI价值。 本文将从前期准备、分步配置、实战调试到常见问题,手把手教你完成Openclaw+飞书多机器人配置,全程无复杂操作,新手也能快速上手,建议收藏备用! 一、配置前必看:核心说明与前置准备 1.1 核心价值 Openclaw+飞书多机器人配置,核心是让多个飞书机器人分别绑定Openclaw的不同Agent,实现「分工协作、各司其职」——无需切换工具,在飞书内即可完成所有操作,大幅提升工作效率。 ✅ 典型分工场景: * 1个机器人负责日常指令响应 * 1个机器人负责定时推送资讯 * 1个机器人负责办公流程自动化(会议整理、报表生成等) 1.2 前置环境准备(必做) 提前准备好以下环境和工具,避免配置过程中卡顿,所有工具均为免费可用: * 基础环境:云端安装Openclaw;

HarmonyOS 5.0物联网开发实战:基于星闪(NearLink)技术的智能家居边缘计算网关

HarmonyOS 5.0物联网开发实战:基于星闪(NearLink)技术的智能家居边缘计算网关

文章目录 * 每日一句正能量 * 前言 * 一、物联网通信技术演进与星闪机遇 * 1.1 传统智能家居痛点 * 1.2 星闪(NearLink)技术架构 * 二、系统架构设计 * 2.1 核心模块划分 * 三、核心代码实现 * 3.1 星闪(NearLink)接入管理 * 3.2 边缘AI推理引擎 * 3.3 智能场景引擎 * 四、网关主界面实现 * 五、总结与物联网价值 每日一句正能量 自律是反人性的,所以,刚开始的几秒,势必会挣扎,打退堂鼓,但只要克服了,之后的神清气爽,会让你感谢自己最初那几秒的坚持。 前言 摘要: 本文基于HarmonyOS 5.0.0版本,

Mujoco足式机器人强化学习训练02(URDF转XML)

Mujoco足式机器人强化学习训练02(URDF转XML)

URDF文件转XML文件 在安装完成mujoco playground以后,设计到三维模型的导入,在sw转出的文件大多为URDF格式,但是mujoco仿真的时候大多支持xml文件 xml文件官方地提供了转换脚本,需要下载mujoco工程文件,注意和上节下载的mujoco playground不是一个工程文件 1. mujoco工程文件下载 https://mujoco.org/download/mujoco210-linux-x86_64.tar.gz exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/.mujoco/mujoco210/bin 2. 在URDF文件中添加代码 <mujoco><compilermeshdir="../meshes/"balanceinertia="true"discardvisual="false"/><

Web 毕设篇-适合小白、初级入门练手的 Spring Boot Web 毕业设计项目:药品进销存信息管理系统(前后端源码 + 数据库 sql 脚本)

Web 毕设篇-适合小白、初级入门练手的 Spring Boot Web 毕业设计项目:药品进销存信息管理系统(前后端源码 + 数据库 sql 脚本)

🔥博客主页: 【小扳_-ZEEKLOG博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录         1.0 项目介绍         1.1 项目功能         2.0 用户登录功能         3.0 首页界面         4.0 供应商管理功能         5.0 药品管理功能         6.0 采购记录管理功能         7.0 销售记录管理功能         8.0 退货记录管理功能         9.0 库存变动管理功能         10.0 SQL 数据库设计         1.0 项目介绍         开发工具:IDEA、VScode         服务器:Tomcat, JDK