295 lines
7.1 KiB
Plaintext
Executable File
295 lines
7.1 KiB
Plaintext
Executable File
# WhisperCal 完全研究
|
||
|
||
> Obsidian 日历集成 + 会议录音 + 五阶段 AI 流水线
|
||
>
|
||
> 归档:2026-04-25
|
||
|
||
---
|
||
|
||
## 📊 项目概览
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| **仓库** | dloomis/WhisperCal |
|
||
| **作者** | dloomis |
|
||
| **定位** | Obsidian 桌面插件:日历 + 录音 + 转写 + 摘要 + 研究 |
|
||
| **平台** | macOS + Windows(仅桌面) |
|
||
| **安装** | BRAT 或手动安装 |
|
||
|
||
---
|
||
|
||
## 🎯 核心定位
|
||
|
||
```
|
||
Google/Microsoft 日历 → Obsidian 侧边栏
|
||
↓
|
||
一键创建会议笔记
|
||
↓
|
||
录音 + 转写(Whisper)
|
||
↓
|
||
LLM 说话人识别 + 摘要 + 会前研究
|
||
```
|
||
|
||
**一句话**:把日历、录音、转写、摘要、研究整合到一个 Obsidian 插件里。
|
||
|
||
---
|
||
|
||
## 🏗️ 五阶段流水线(核心设计)
|
||
|
||
| 阶段 | 名称 | 功能 |
|
||
|------|------|------|
|
||
| **Stage 1** | Note | 从日历事件一键创建会议笔记(支持模板) |
|
||
| **Stage 2** | Record/Transcript | 录音并转写为文字 |
|
||
| **Stage 3** | Speakers | LLM 识别说话人,逐人分段标注 |
|
||
| **Stage 4** | Summary | LLM 生成会议纪要、关键决策、行动项 |
|
||
| **Stage 5** | Research | 基于知识库的会前研究准备 |
|
||
|
||
### 流水线状态追踪
|
||
|
||
每个会议卡片上有 5 个药丸按钮,显示每个阶段的完成状态。
|
||
|
||
---
|
||
|
||
## 📅 日历侧边栏
|
||
|
||
### 支持平台
|
||
|
||
| 日历 | 连接方式 |
|
||
|------|---------|
|
||
| **Microsoft 365** | Microsoft Graph API (OAuth2 + PKCE) |
|
||
| **Google Calendar** | Google Calendar API (OAuth2 + PKCE) |
|
||
|
||
### 日历功能
|
||
|
||
| 功能 | 说明 |
|
||
|------|------|
|
||
| 日视图 | 按天浏览会议 |
|
||
| 自动刷新 | 默认每 5 分钟刷新 |
|
||
| 离线缓存 | 无网络时显示缓存数据 |
|
||
| 冲突检测 | 时间重叠的会议分组显示 |
|
||
| 状态指示 | 绿点=实时 / 灰点=缓存 / 灰点=离线 |
|
||
|
||
### 会议卡片
|
||
|
||
```
|
||
┌──────────────────────────────────────┐
|
||
│ 09:00 ┃ 项目评审会议 │
|
||
│ 09:30 ┃ 📍 Zoom · 5人 · 3✅ 1? 1❌ │
|
||
│ ┃ [Note] [Record] [Speakers] │
|
||
│ ┃ [Summary] [Research] │
|
||
└──────────────────────────────────────┘
|
||
```
|
||
|
||
- **时间线槽**:开始/结束时间、时长
|
||
- **组织者**:名称 + 人员链接
|
||
- **元信息**:地点、参会人数、RSVP 状态
|
||
- **工作流药丸**:5 个阶段按钮
|
||
|
||
---
|
||
|
||
## 🎙️ 录音源
|
||
|
||
### MacWhisper(macOS 专用)
|
||
|
||
| 特点 | 说明 |
|
||
|------|------|
|
||
| 价格 | 付费应用(~$25) |
|
||
| 质量 | 高质量本地转写 |
|
||
| 集成 | 通过时间戳匹配自动关联 |
|
||
|
||
### Recording API(跨平台)
|
||
|
||
| 特点 | 说明 |
|
||
|------|------|
|
||
| 方式 | REST API 录音 |
|
||
| 平台 | macOS + Windows |
|
||
| 功能 | 实时计时器 |
|
||
|
||
---
|
||
|
||
## 🤖 LLM 集成
|
||
|
||
### 支持能力
|
||
|
||
| 能力 | 说明 |
|
||
|------|------|
|
||
| **说话人识别** | 分析转写文本,识别不同说话人 |
|
||
| **会议纪要** | 生成摘要、关键决策、行动项 |
|
||
| **会前研究** | 基于知识库生成会议背景研究 |
|
||
|
||
### 模型选择
|
||
|
||
支持为每个阶段选择不同的 Claude 模型:
|
||
- 说话人识别 → Haiku(便宜)
|
||
- 会议纪要 → Sonnet(平衡)
|
||
- 会前研究 → Opus(深度)
|
||
|
||
### 默认 CLI 工具
|
||
|
||
```bash
|
||
claude CLI(Claude Code)
|
||
```
|
||
|
||
也支持其他 LLM CLI 工具。
|
||
|
||
---
|
||
|
||
## 👥 人员匹配
|
||
|
||
```
|
||
日历参会人 → 匹配 People/ 文件夹中的笔记
|
||
↓
|
||
显示为 [[wiki links]]
|
||
↓
|
||
未匹配的组织者可自动创建笔记
|
||
```
|
||
|
||
---
|
||
|
||
## 📝 模板系统
|
||
|
||
### 模板变量
|
||
|
||
| 变量 | 说明 |
|
||
|------|------|
|
||
| `{{title}}` | 会议标题 |
|
||
| `{{date}}` | 会议日期 |
|
||
| `{{time}}` | 会议时间 |
|
||
| `{{attendees}}` | 参会人列表 |
|
||
| `{{location}}` | 会议地点 |
|
||
|
||
### 预留 Frontmatter
|
||
|
||
```yaml
|
||
---
|
||
meeting_date: 2026-04-25
|
||
meeting_time: 09:00
|
||
attendees:
|
||
- [[张三]]
|
||
- [[李四]]
|
||
location: Zoom
|
||
---
|
||
```
|
||
|
||
---
|
||
|
||
## 🔧 安装步骤
|
||
|
||
### 方式一:BRAT 安装(推荐)
|
||
|
||
```
|
||
1. Obsidian → 设置 → 社区插件 → 搜索 BRAT → 安装启用
|
||
2. 设置 → BRAT → Add Beta plugin
|
||
3. 输入 dloomis/whisper-cal → Add Plugin
|
||
4. 设置 → 社区插件 → 启用 WhisperCal
|
||
```
|
||
|
||
### 方式二:手动安装
|
||
|
||
```
|
||
1. 从 GitHub Releases 下载 main.js / manifest.json / styles.css
|
||
2. 创建 .obsidian/plugins/whisper-cal/ 目录
|
||
3. 复制三个文件到该目录
|
||
4. Obsidian → 设置 → 社区插件 → 启用
|
||
```
|
||
|
||
---
|
||
|
||
## ⚙️ 日历设置
|
||
|
||
### Google Calendar
|
||
|
||
```
|
||
1. Google Cloud Console → 创建项目
|
||
2. 启用 Google Calendar API + People API
|
||
3. 创建 OAuth 客户端 ID(Desktop app)
|
||
4. WhisperCal 设置 → 粘贴 Client ID + Secret
|
||
5. 点击 Sign in → 浏览器授权
|
||
```
|
||
|
||
### Microsoft 365
|
||
|
||
```
|
||
1. Azure Portal → App registrations → New registration
|
||
2. Redirect URI: http://localhost
|
||
3. 添加权限: Calendars.Read + offline_access
|
||
4. WhisperCal 设置 → 粘贴 Client ID
|
||
5. 点击 Sign in → 浏览器授权
|
||
```
|
||
|
||
---
|
||
|
||
## 🆚 与普通 Whisper 插件对比
|
||
|
||
| 维度 | Whisper 插件 | WhisperCal |
|
||
|------|-------------|-----------|
|
||
| 录音转文字 | ✅ | ✅ |
|
||
| LLM 后处理 | ✅ | ✅ |
|
||
| 日历集成 | ❌ | ✅ |
|
||
| 一键创建笔记 | ❌ | ✅ |
|
||
| 说话人识别 | ❌ | ✅ |
|
||
| 会前研究 | ❌ | ✅ |
|
||
| 会议摘要 | ❌ | ✅ |
|
||
| 人员匹配 | ❌ | ✅ |
|
||
| 移动端 | ✅ | ❌ |
|
||
| 安装难度 | 低(社区市场) | 中(BRAT) |
|
||
|
||
---
|
||
|
||
## 💡 典型工作流
|
||
|
||
```
|
||
早上:
|
||
1. 打开 Obsidian → 侧边栏看今日日历
|
||
2. 点击"Research" → LLM 生成会前研究
|
||
3. 点击"Note" → 创建会议笔记
|
||
|
||
会中:
|
||
4. 点击"Record" → 开始录音
|
||
5. 会议结束 → 自动转写
|
||
|
||
会后:
|
||
6. 点击"Speakers" → LLM 识别说话人 → 审核确认
|
||
7. 点击"Summary" → 生成会议纪要和行动项
|
||
8. 完成!一键完整的会议记录
|
||
```
|
||
|
||
---
|
||
|
||
## 📊 评价
|
||
|
||
### 优点
|
||
- ✅ **全流程覆盖**:从日历到会议记录一站式解决
|
||
- ✅ **五阶段流水线**:结构化的会议管理流程
|
||
- ✅ **LLM 深度集成**:说话人识别、摘要、研究
|
||
- ✅ **日历侧边栏**:在 Obsidian 内直接看日历
|
||
- ✅ **人员匹配**:自动关联参会人笔记
|
||
- ✅ **模板系统**:灵活的笔记格式自定义
|
||
|
||
### 注意点
|
||
- ⚠️ **仅桌面**:不支持移动端
|
||
- ⚠️ **未收录社区市场**:需通过 BRAT 安装
|
||
- ⚠️ **需要 LLM CLI**:说话人识别/摘要需要 Claude CLI
|
||
- ⚠️ **日历配置复杂**:需要 Azure AD 或 Google Cloud 设置
|
||
- ⚠️ **MacWhisper 仅 macOS**:Windows 用户需要 Recording API
|
||
|
||
### 适用场景
|
||
- 日常会议频繁的知识工作者
|
||
- 希望统一管理会议记录和行动项
|
||
- 已有 Obsidian + 日历使用习惯
|
||
- 需要 AI 辅助的会议整理
|
||
|
||
---
|
||
|
||
## 🔗 资源
|
||
|
||
| 资源 | 链接 |
|
||
|------|------|
|
||
| **GitHub** | https://github.com/dloomis/WhisperCal |
|
||
| **BRAT 安装** | github.com/TfTHacker/obsidian42-brat |
|
||
| **MacWhisper** | https://goodsnooze.gumroad.com/l/macwhisper |
|
||
| **Claude Code** | https://docs.anthropic.com/en/docs/claude-code/overview |
|
||
|
||
---
|
||
|
||
*整理:知识库管理员 | 归档:2026-04-25* |