一键提取腾讯会议云录屏的完整会议信息,支持 AI 总结、转写、纪要、统计等多维度数据导出
Chrome 浏览器扩展插件,用于从腾讯会议云录屏界面自动提取会议信息并导出为 Markdown 格式。
- 零手动操作 - 自动拦截 API,无需任何手动配置
- 全面数据提取 - 支持新旧版腾讯会议页面(
/cw/、/ct/路径) - 多商店支持 - Edge、360、QQ 浏览器、Chrome
- 现代化 UI - React 19 + TypeScript,流畅的用户体验
- 一键导出 - Markdown 格式,完美兼容各种笔记工具
- 隐私安全 - 本地存储,零上传,代码开源
- 零手动操作: 自动拦截腾讯会议 API 响应,无需额外请求
- 实时缓存: 本地存储,快速访问,支持离线查看
- 智能识别: 自动识别并提取所有可用的会议数据
提取完整会议信息,包括:
- 基础信息: 会议标题、ID、录制 ID、时长、开始/结束时间
- AI 智能总结:
- 完整总结:会议核心内容完整总结
- 多段总结:分段式会议内容总结
- 官方模板纪要:LLM 生成的 Markdown 格式纪要(新版页面)
- 会议纪要: 结构化的会议记录(支持富文本格式)
- 完整转写: 带时间戳和发言人的完整对话记录
- 会议统计:
- 智能话题:自动识别的会议主题及时长占比
- 参会人员发言统计:每位参会者的发言时长和占比(含头像)
- 会议章节:自动划分的章节及时长占比(含封面图)
- 时间轴章节:从叙事性时间轴事件转换的章节(新版页面)
- 参会人员: 完整的与会者列表及加入时间
- 聊天记录: 会议期间的所有聊天消息
- 行动项: 提取的待办事项和任务
- 重点时刻: 标记的关键时间点
- 清晰分类: 按功能模块展示信息(基础信息、总结、纪要、转写、统计、人员等)
- 可折叠 Section: 灵活控制显示内容,默认展开总结和元数据
- 一键复制: 每个 section 独立复制功能
- 统计可视化:
- 时长进度条:直观显示话题、章节、发言占比
- 时长格式化:自动格式化为 "X小时X分X秒" 或 "X分X秒"
- 智能排序:话题按占比排序,人员按发言时长排序
- 响应式设计: 适配不同屏幕尺寸,支持长内容滚动
- Markdown 格式: 结构化、易读、易分享
- 完整内容: 导出所有可用数据(总结、纪要、转写、统计等)
- 自动命名: 智能生成文件名(会议标题-日期.md)
- UTF-8 编码: 完美支持中文内容
- 一键下载: 点击即可导出完整会议记录
# 1. 克隆仓库 git clone https://github.com/xlight/txmeeting-extractor.git cd txmeeting-extractor # 2. 安装依赖 pnpm install # 3. 构建扩展 pnpm run build # 4. 加载到 Chrome # - 打开 chrome://extensions/ # - 开启"开发者模式" # - 点击"加载已解压的扩展程序" # - 选择 dist 文件夹开发模式(自动重新构建):
pnpm run dev| 商店 | 状态 | 说明 |
|---|---|---|
| Edge Add-ons | 准备中 | 优先上架,免费 |
| 360 浏览器扩展中心 | 准备中 | 国内用户 |
| QQ 浏览器应用市场 | 准备中 | 通过腾讯开放平台 |
| Chrome Web Store | 准备中 | 需要 $5 注册费 |
-
访问腾讯会议云录屏页面
- 版本1 URL:
https://meeting.tencent.com/cw/xxxxx - 版本2 URL:
https://meeting.tencent.com/ct/xxxxx - 等待页面完全加载(会议信息自动提取)
- 版本1 URL:
-
查看会议信息
- 点击浏览器工具栏的扩展图标
- 弹出窗口将显示所有提取的会议信息
- 各个 section 可以独立折叠/展开和复制
- 查看会议统计(智能话题、参会人员发言时长、会议章节)
-
导出 Markdown
- 点击 "导出 Markdown" 按钮
- 文件自动下载到默认下载位置
- 使用任意 Markdown 编辑器打开查看
- 一键复制:点击每个 section 右上角的复制按钮,快速复制内容到剪贴板
- 折叠管理:根据需要折叠不关心的 section,聚焦重要内容
- 进度条可视化:在统计视图中直观查看话题、章节、发言占比
- 离线访问:数据本地缓存,关闭页面后仍可查看(直到浏览器缓存清除)
- 快速访问:将扩展图标固定到工具栏,方便随时查看会议信息
- 定期导出:建议定期导出重要会议记录,避免浏览器缓存清理导致数据丢失
- 配合笔记工具:导出的 Markdown 文件可直接导入 Notion、Obsidian 等笔记工具
- 分享会议要点:使用一键复制功能,快速分享会议总结到团队协作工具
| 技术 | 说明 | 版本 |
|---|---|---|
| 核心 | Chrome Extension Manifest V3 | V3 |
| 语言 | TypeScript (严格模式) | 5.9+ |
| UI 框架 | React | 19.0 |
| 构建工具 | Vite | 7.3 |
| 代码规范 | ESLint + Prettier | 9.x |
| API 拦截 | Content Script + Service Worker | - |
| 数据缓存 | Chrome Storage API | - |
| 其他依赖 | react-markdown, react-window | - |
src/ ├── background/ # Service Worker 后台脚本 │ └── index.ts # API 拦截和数据缓存 ├── popup/ # 弹出窗口界面 │ ├── App.tsx # 主应用组件 │ ├── popup.html # HTML 入口 │ ├── contexts/ # React Context (数据和状态管理) │ ├── components/ # React 组件 │ │ ├── layout/ # 布局组件 │ │ ├── views/ # 视图组件 │ │ ├── cards/ # 卡片组件 │ │ └── common/ # 通用组件 │ ├── utils/ # 工具函数 │ │ ├── markdown.ts # Markdown 生成和导出 │ │ ├── format.ts # 数据格式化 │ │ └── minutes.ts # 会议纪要处理 │ └── types/ # TypeScript 类型定义 ├── types/ # 核心类型定义 │ └── meeting.ts # 会议数据类型 ├── utils/ # 核心工具 │ └── extractor.ts # 数据提取逻辑 ├── content/ # Content Scripts │ ├── injected.js # API 拦截注入脚本 │ └── content.js # 消息转发脚本 └── manifest.json # 扩展清单 (Manifest V3) 由于 Chrome Manifest V3 限制,项目采用了 Service Worker + Content Script 方案:
Content Script (src/content/):
- 在页面上下文中注入 fetch/XHR 拦截器
- 捕获 API 响应并通过 CustomEvent 转发
Background Service Worker (src/background/index.ts):
- 接收并处理拦截的 API 响应
- 自动解析和提取会议数据
- 存储到
chrome.storage.local实现本地缓存 - 处理来自 Popup 的数据请求
腾讯会议页面发起 API 请求 ↓ Content Script 拦截响应 ↓ 通过 chrome.runtime.sendMessage 转发 ↓ Background Service Worker 接收并缓存 ↓ 自动提取会议数据 ↓ 存储到 chrome.storage.local ↓ Popup 请求数据时从 storage 读取 ↓ 显示在 UI 并支持导出 核心数据端点(版本1页面):
/wemeet-cloudrecording-webapi/v1/minutes/detail- 会议转写、总结、纪要/wemeet-tapi/v2/meetlog/public/record-detail/get-full-summary- 完整总结/wemeet-tapi/v2/meetlog/public/record-detail/get-mul-summary-and-todo- 多段总结和待办/wemeet-tapi/v2/meetlog/public/record-detail/get-smart-topic- 智能话题/wemeet-tapi/v2/meetlog/public/record-detail/get-time-line- 参会人员发言时长/wemeet-tapi/v2/meetlog/public/record-detail/get-chapter- 会议章节
核心数据端点(版本2页面):
/wemeet-tapi/v2/meetlog/public/record-detail/query-summary-and-note- 官方模板纪要(LLM Markdown)/wemeet-tapi/v2/meetlog/public/record-detail/query-timeline- 叙事性时间轴事件/wemeet-tapi/v2/meetlog/public/record-detail/get-multi-record-timeline- 多录制时间轴/wemeet-tapi/v2/meetlog/public/record-detail/get-multi-record-info- 多录制基本信息
元数据端点:
/wemeet-tapi/v2/meetlog/public/detail/common-record-info- 录制信息/wemeet-tapi/v2/meetlog/public/record-detail/uni-record-id- 统一录制 ID
# 开发模式(自动重新构建) pnpm run dev # 类型检查 pnpm run type-check # 构建生产版本 pnpm run build # 打包为 ZIP(用于发布) pnpm run package # 重新生成图标 pnpm run generate-icons查看日志:
- Background Script:
chrome://extensions/→ 扩展详情 → Service Worker - Popup: 右键弹出窗口 → 检查
- 日志过滤: 在 Console 中过滤
[TXMeeting]查看扩展相关日志
常见问题:
- 数据未提取?
- 检查是否访问了正确的腾讯会议云录屏页面(
/cw/或/ct/路径) - 等待页面完全加载后再打开 Popup
- 查看 Background Service Worker 日志确认 API 拦截是否成功
- 检查是否访问了正确的腾讯会议云录屏页面(
- Popup 空白或显示错误?
- 右键 Popup 窗口 → 检查 → 查看 Console 错误信息
- 确认扩展已正确加载
- 尝试重新加载扩展
- 本地存储: 所有数据仅存储在您的浏览器本地
- 零上传: 不上传任何数据到外部服务器
- 最小权限: 仅请求必要的 storage 和 host 权限
- 开源透明: 代码完全开源,欢迎审查
- XSS 防护: 所有用户内容经过清理和转义
- CSP 策略: 严格的内容安全策略
- 权限范围: 仅限
https://meeting.tencent.com/*域名
支持腾讯会议云录屏页面的旧版(/cw/)和新版(/ct/)路径。
不会。所有数据仅存储在浏览器本地(chrome.storage.local),不会上传到任何外部服务器。
这取决于腾讯会议是否为该会议生成了 AI 总结和纪要。扩展只能提取腾讯会议 API 返回的数据。
- GitHub Issues - 报告 Bug 或功能请求
- GitHub Discussions - 一般讨论和问题咨询
欢迎贡献代码、报告问题或提出建议!
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
新版页面支持
- 新增
query-summary-and-noteAPI 支持(官方模板 LLM 纪要) - 新增
query-timelineAPI 支持(叙事性时间轴 → 章节转换) - 新增
OfficialTemplateSummaryCard组件(ReactMarkdown 渲染) - 支持
/ct/新版腾讯会议页面路径 - 修复 Service Worker 中
window引用问题 - 修复
stripHtml安全问题(循环替换、&解码顺序) - 更新图标设计(xL 个人标识)
会议统计视图重构
- 新增智能话题展示(话题名称、时长、占比)
- 新增参会人员发言时长统计(含头像、姓名、时长、占比)
- 重构会议章节展示(章节标题、封面图、时长、占比)
- 统一的时长格式化和进度条可视化
API 覆盖增强与 UI 重构
- 新增多段总结支持(分段式 AI 总结)
- 纪要视图重构(支持富文本、段落缩进、列表)
- 扩展 API 拦截覆盖(25+ API 端点)
- 优化弹窗布局和样式
首个版本发布
- 实现基础会议信息提取
- 支持 9 种数据类型提取(转写、总结、纪要等)
- React 弹出界面,支持折叠和复制
- Markdown 导出功能
- Chrome Manifest V3 兼容
MIT License - 查看 LICENSE 文件了解详情