核心用法
weread-import 是一个 CLI 工具链,用于将微信读书(WeRead)中的高亮和笔记导出为结构化的 Markdown 文件,通常与 Obsidian 等知识库工具配合使用。核心入口为 scripts/run.sh,首次运行会自动安装 Node.js 依赖并启动 Chrome CDP(远程调试协议)会话。
关键执行模式:
--mode api:通过官方 API 获取完整元数据(作者、bookId、高亮数量等),数据完整性最高--cookie-from browser:从 Chrome 调试会话自动提取 Cookie,支持自动刷新,避免手动维护过期 Cookie--cookie-from manual+WEREAD_COOKIE:无浏览器环境下的降级方案
典型工作流:
1. 单本导入:--book "书名" --mode api --cookie-from browser --output "/path/to/Reading"
2. 全量同步:--all 批量导出整个书架
3. 强制重渲染:--force 跳过增量检查,用于模板变更后的全量刷新
4. 标签覆盖:--tags "reading/weread,book" 自定义 frontmatter 标签
显著优点
- 数据完整性:API 模式提供官方元数据,比网页抓取更稳定可靠
- Cookie 自动化:CDP 集成实现 Cookie 自动提取与过期刷新,解决微信读书 Cookie 短效痛点
- 非侵入式:使用
disconnect()而非close(),不关闭用户正在使用的 Chrome - 智能合并:支持新增/更新/保留/删除四种状态,已删除条目归档至
## 已删除而非丢弃 - 自包含脚本:
run.sh一站式处理依赖安装、浏览器启动、命令执行
潜在缺点与局限性
- 环境依赖:必须预装 Node.js 和 Playwright,首次运行有初始化成本
- 浏览器强依赖:推荐方案需要 Chrome 146+ 并保持登录态,无头模式或服务器部署受限
- 定时任务约束:自动化场景下禁止
--force和硬编码 Cookie,错误时需人工介入重新登录 - 平台绑定:仅支持微信读书,无多平台适配
- 同步延迟:依赖 API 缓存策略,虽有时间戳防缓存机制,极端情况下仍有延迟
适合人群
- Obsidian/Logseq 等双链笔记用户,希望构建结构化阅读工作流
- 需要自动同步微信读书高亮,避免手动复制粘贴的知识管理爱好者
- 愿意维护本地 Chrome 调试环境的技术用户
常规风险
- 登录态过期:微信读书 Cookie 有效期短,CDP 方案虽能自动刷新,但长期无人值守的定时任务仍可能因登录过期失败
- API 变更风险:依赖非官方逆向的 API 端点,微信读书官方调整可能导致功能中断
- 隐私数据本地处理:Cookie 和阅读数据均在本地处理,但 CDP 模式需要保持浏览器登录态,共用设备需注意隐私隔离
- 误操作风险:
--force会覆盖本地修改,建议先输出到临时目录验证模板效果