pull-feishu-minuteslisted
Install: claude install-skill YijiaDuan/pull-feishu-minutes
# 拉取飞书妙记到本地
把用户飞书账号下「我的妙记」里的全部录音转写拉到本地,每条存成一篇 Markdown:
**顶部是为「一个月后已经忘光的自己」写的总结,底部是完整的原始逐字稿。**
## 为什么不用飞书开放 API
先说清楚,避免走弯路:
- **开放 API 没有「列出我全部妙记」的接口。** 只有一个关键词搜索接口(`minutes/v1/minutes/search`),按相关度返回少量命中,**枚举不全**。
- **开放 API 的逐字稿导出权限 `minutes:minutes.transcript:export` 是敏感权限**,需要自建应用 + 企业管理员在管理后台单独审批。普通用户往往不是管理员,这一步就卡死了。
所以本 skill 走**网页登录态 + 妙记内部接口**:零建应用、零权限申请、零管理员审批。代价是依赖未公开接口,飞书改版有失效可能(失效时报错会明确提示)。
## 流程
### 第 1 步:准备环境(幂等,可重复跑)
```bash
bash ~/.claude/skills/pull-feishu-minutes/scripts/setup.sh
```
建 venv、装 playwright、下 chromium 内核。已就绪时会很快跳过。
> **路径说明**:本文以全局安装(`~/.claude/skills/pull-feishu-minutes/`)为准。
> 若装在项目级(`.claude/skills/pull-feishu-minutes/`),把下文所有
> `~/.claude/skills/pull-feishu-minutes` 换成该项目里的实际路径即可。
> venv 始终建在 skill 目录内,跟着 skill 走。
### 第 2 步:拉取
先问用户**存到哪个目录**(若用户已说明则直接用;Obsidian 用户通常是 vault 下的某个文件夹)。然后:
```bash
~/.claude/skills/pull-feishu-minutes/.venv/bin/python \
~/.claude/skills/pull-feishu-minutes/scripts/sync_minutes.py \
--out "<输出目录>"
```
- **首次运行绝对不要加 `--headless`**:会弹出一个浏览器窗口(标题是 *Google Chrome for Testing*,不是用户平时的 Chrome),用户要在里面登录飞书。加了 headless 就没界面,用户根本无从登录,只会干等到超时。
- 提醒用户点页面右上角的 **「注册/登录」**(英文环境是 *Sign Up/Log In*),扫码最快。脚本会轮询等待,登录成功自动继续,**用户不需要复制 cookie 或做任何技术操作**。
- 登录态保存在 `~/.config/feishu-minutes/browser-profile`(用户级共享,换输出目录也不必重登)。**之后再跑就该加 `--headless` 静默运行**,不要再打扰用户。
- 已拉过的会自动跳过(依据 `.feishu_minutes_state.json` 与已有 md 的 `minute_token`)。
- 首次若妙记很多,可加 `--limit 5` 先试跑几条。
**这一步耗时可能超过 1 分钟,放后台跑并定期查看进度,不要干等。** 等待登录时更要如此——用户可能正在忙,别