返回 MCP 目录
public公开dns本地运行

ai-session-bridge

AI会话桥是一个MCP服务器和CLI工具,允许AI编程助手读取多个工具(如VS Code Copilot、Cursor、Rovodev)的对话历史,实现跨工具会话的统一访问、搜索和上下文共享。

article

README

🚀 AI会话桥

AI会话桥是一款跨工具的AI对话历史读取器,它能让任何AI编码代理在同一工作空间中访问其他AI工具的对话历史,极大提升了工作效率和信息连贯性。

Python License: MIT Tests codecov

🚀 快速开始

AI会话桥是一个MCP(模型上下文协议)服务器和命令行工具,它允许AI编码助手从多个工具中读取对话历史。当你在VS Code Copilot、Cursor或Rovodev之间切换时,你的AI代理现在可以访问你正在处理的所有上下文,而无需每次都重新开始。

┌─────────────────────────────────────────────────────────────────────┐
│                         Your Workspace                               │
│  /Users/you/dev/my-project                                          │
└─────────────────────────────────────────────────────────────────────┘
                                    │
            ┌───────────────┬───────┼───────┬───────────────┐
            ▼               ▼       ▼       ▼
    ┌───────────┐   ┌───────────┐  ┌───────────┐
    │ Copilot   │   │ Cursor    │  │ Rovodev   │
    │ Sessions  │   │ Sessions  │  │ Sessions  │
    └─────┬─────┘   └─────┬─────┘  └─────┬─────┘
          └───────────────┴───────┬───────┴───────
                                  ▼
                  ┌───────────────────────────┐
                  │   ai-session-bridge       │
                  │   MCP Server + CLI        │
                  │                           │
                  │  Tools:                   │
                  │  - list_sessions          │
                  │  - get_session            │
                  │  - search_sessions        │
                  │  - get_recent_context     │
                  └───────────────────────────┘

✨ 主要特性

  • 📚 统一会话读取:从VS Code Copilot、Cursor和Rovodev读取对话。
  • 🔍 全文搜索:使用SQLite FTS5在所有对话中进行快速搜索。
  • 🚀 MCP服务器:通过模型上下文协议公开会话历史。
  • 💻 命令行工具:从命令行列出、搜索和导出会话。
  • 🔒 安全保障:自动过滤API密钥、机密和敏感数据。
  • 高性能:智能缓存和索引,实现即时访问。
  • 🎯 工作空间感知:自动将会话与当前工作空间匹配。

📷 截图

列出所有工具的会话

以简洁、有条理的表格格式查看所有AI对话:

List all workspaces

工作空间感知搜索

搜索会考虑当前工作空间,精准找到你需要的内容:

Search current workspace

会话详情

以正确的格式查看完整的对话历史:

Show session details

📦 安装指南

生产环境使用(推荐)

使用pipx(隔离且全局可用):

git clone https://github.com/frknyldz/ai-session-bridge
cd ai-session-bridge
pipx install .

这将全局安装ai-session-bridge,同时使其与系统Python隔离。

从PyPI安装(发布后):

pipx install ai-session-bridge

开发环境设置

快速设置(自动化):

git clone https://github.com/frknyldz/ai-session-bridge
cd ai-session-bridge
./setup.sh

设置脚本将:

  • ✅ 创建虚拟环境
  • ✅ 安装所有依赖项(可编辑模式)
  • ✅ 设置预提交钩子
  • ✅ 创建配置目录
  • ✅ 测试安装
  • ✅ 显示venv和pipx安装选项

手动设置

git clone https://github.com/frknyldz/ai-session-bridge
cd ai-session-bridge
python3 -m venv venv
source venv/bin/activate
pip install -e ".[dev]"

💻 使用示例

命令行工具使用

# 列出最近的会话
ai-session-bridge list

# 列出带有过滤器的会话
ai-session-bridge list --tool copilot --limit 5

# 显示完整对话
ai-session-bridge show <session-id> --tool copilot

# 在所有会话中搜索
ai-session-bridge search "bug fix"

# 清除缓存
ai-session-bridge cache clear

MCP服务器

将其添加到你的AI工具的MCP配置中:

如果你使用pipx安装(推荐)

VS Code Copilot(settings.json):

{
  "servers": {
    "ai-session-bridge": {
      "command": "/Users/YOUR_USERNAME/.local/bin/ai-session-bridge",
      "args": ["serve"]
    }
  }
}

Cursor/Rovodev(~/.config/mcp/mcp.json):

{
  "mcpServers": {
    "ai-session-bridge": {
      "command": "/Users/YOUR_USERNAME/.local/bin/ai-session-bridge",
      "args": ["serve"]
    }
  }
}

如果你使用venv(开发环境)

使用虚拟环境二进制文件的完整路径:

{
  "mcpServers": {
    "ai-session-bridge": {
      "command": "/absolute/path/to/ai-session-bridge/venv/bin/ai-session-bridge",
      "args": ["serve"]
    }
  }
}

提示:运行./setup.sh,它将显示你需要使用的确切路径!

PyPI发布后

使用uvx自动下载并运行:

{
  "mcpServers": {
    "ai-session-bridge": {
      "command": "uvx",
      "args": ["ai-session-bridge", "serve"]
    }
  }
}

📚 详细文档

MCP工具

配置完成后,你的AI助手将可以使用以下工具:

list_sessions

列出当前工作空间的所有AI会话。

{
  "workspace_path": "/path/to/workspace",
  "tool_filter": ["copilot", "rovodev"],
  "limit": 10
}

get_session

获取特定会话的完整对话。

{
  "session_id": "abc123",
  "tool": "copilot",
  "workspace_path": "/path/to/workspace"
}

search_sessions

在所有会话中搜索关键字。

{
  "query": "authentication bug",
  "workspace_path": "/path/to/workspace",
  "limit": 20
}

get_recent_context

从最近的会话中获取摘要上下文(有助于“继续上次未完成的工作”)。

{
  "workspace_path": "/path/to/workspace",
  "max_sessions": 3,
  "max_messages": 20
}

配置

创建~/.config/ai-session-bridge/config.yaml

# 范围:包含哪些会话
scope:
  mode: current_workspace  # current_workspace, all_workspaces, specified
  workspaces: []  # 仅在mode为"specified"时使用

# 从哪些工具读取
tools:
  copilot: true
  cursor: true
  rovodev: true

# 缓存设置
cache:
  enabled: true
  max_age_days: 30

# 搜索索引
search:
  enabled: true
  use_fts: true  # 使用SQLite FTS5进行快速搜索

# 安全:过滤敏感内容
filtering:
  enabled: true
  patterns:
    - "(?i)(api[_-]?key|apikey)[\"']?\\s*[:=]\\s*[\"']?[a-zA-Z0-9_-]{20,}"
    - "(?i)(secret|password|token)[\"']?\\s*[:=]\\s*[\"']?[^\\s\"']{8,}"
  replacement: "[REDACTED]"

# MCP服务器设置
mcp:
  max_context_messages: 50
  max_context_sessions: 5

支持的工具

| 工具 | 位置 | 格式 | 状态 | |------|----------|--------|--------| | VS Code Copilot | ~/Library/Application Support/Code/User/workspaceStorage/{hash}/chatSessions/*.json | copilot_v3 | ✅ 支持 | | Cursor | ~/Library/Application Support/Cursor/User/globalStorage/state.vscdb (新)
~/Library/Application Support/Cursor/User/workspaceStorage/{hash}/state.vscdb (旧) | SQLite | ✅ 支持 | | Rovodev | ~/.rovodev/sessions/{uuid}/ | rovodev_v1 | ✅ 支持 |

工作原理

会话发现

  1. VS Code Copilot:扫描工作空间目录并读取workspace.json文件以匹配工作空间路径。
  2. Cursor:从包含Composer对话的全局SQLite数据库(state.vscdb)中读取。
  3. Rovodev:从每个会话文件的metadata.json中读取工作空间路径。

缓存与性能

  • 会话缓存:存储元数据以避免重新解析未更改的文件。
  • 搜索索引:使用SQLite FTS5进行即时全文搜索。
  • 懒加载:仅在需要时加载完整的会话内容。

安全

自动过滤:

  • API密钥和令牌
  • 密码和机密
  • 私钥
  • AWS凭证
  • GitHub/Slack令牌

示例

示例1:继续之前的工作

用户:“继续我们上次未完成的工作” AI使用get_recent_context获取最后几个会话及其消息,了解正在处理的内容。

示例2:查找相关讨论

用户:“我们在之前的对话中讨论过身份验证问题吗?” AI使用search_sessions并以“authentication”为查询词,在所有工具中查找相关消息。

示例3:回顾过去的解决方案

用户:“给我展示我们修复数据库连接问题的会话” AI使用search_sessions查找会话,然后使用get_session检索完整的对话。

🔧 技术细节

开发

# 克隆仓库
git clone https://github.com/frknyldz/ai-session-bridge
cd ai-session-bridge

# 安装开发依赖项
pip install -e ".[dev]"

# 安装预提交钩子
pre-commit install

# 运行测试
pytest

# 运行代码检查
ruff check .

# 自动修复代码检查问题
ruff check --fix .

# 格式化代码
ruff format .

详细的开发指南请参阅CONTRIBUTING.md

🗺️ 路线图

  • [ ] 会话标签和分类
  • [ ] 使用大语言模型进行自动摘要
  • [ ] 用于浏览会话的Web UI
  • [ ] 跨机器会话同步
  • [ ] 支持更多AI工具(Continue、Windsurf等)
  • [ ] 导出为各种格式(PDF、HTML)

🤝 贡献

欢迎贡献代码!请随时提交拉取请求。

📄 许可证

本项目采用MIT许可证,详情请参阅LICENSE

👨‍💻 作者

Furkan Yıldız

🙏 致谢

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端