Releases: luffysolution-svg/obsidian-sync
Releases · luffysolution-svg/obsidian-sync
Release list
v1.6.3
v1.6.3 — 版本号一致性修正
- SKILL.md frontmatter version 对齐 1.6.3(npm 1.6.2 因 2FA token 限制无法覆盖重发,改发 1.6.3)
- 内容与 v1.6.2 相同(文档及时性修复:README 结构图、交叉引用)
Full Changelog: v1.6.2...v1.6.3
v1.6.2
v1.6.2 — 文档及时性修复(生产审查)
- README 仓库结构图补 sync_feishu_to_obsidian.cjs / sync_notion_to_obsidian.cjs
- lark-sync.md §8 交叉引用标题更新;attachments.md 补反向导入附件处理说明
- SKILL.md frontmatter 版本号对齐 v1.6.2
Full Changelog: v1.6.1...v1.6.2
v1.6.1
v1.6.1 — Notion → Obsidian 反向导入
新增
- **\sync_notion_to_obsidian.cjs**:Notion 页面树 → Obsidian vault(只读,不改 Notion)
- blocks → markdown:标题/列表/todo/引用/callout(> [!NOTE]\)/代码块/表格/公式(\$$\)/图片/文件/embed/页面互链
- 图片本地化:Notion 托管图片(prod-files-secure.s3)走代理下载到 \�ssets/\,external 保持外链
- \child_page\ 递归成目录层级 + [[wikilink]]\ 互链;frontmatter(title/url/时间)自动写入
- 带 429/5xx 重试;单子页面失败不中断整批
- SKILL.md / references/notion-sync.md §8 / README 同步更新(v1.6.1)
实测(用户工作区「三木的提示词」页面树)
- 8 个页面(含 2 层子页面)全部导出成功;3 张图片下载到 assets/
- 代码块 11 对闭合、中文内容完整、UTF-8 正确
至此反向导入完整覆盖
- 飞书 → Obsidian(v1.6.0):lark-cli export + 时效内链图片本地化
- Notion → Obsidian(v1.6.1):API 直读 blocks→md + CDN 图片本地化
Full Changelog: v1.6.0...v1.6.1
v1.6.0
v1.6.0 — 飞书 → Obsidian 反向导入(图片本地化)
新增
- **\sync_feishu_to_obsidian.cjs**:飞书在线文档(docx)一键导入 Obsidian vault
- 单篇:--url <docx链接或token> --out <vault目录>\
- 批量:--folder <folder_token> --out <vault目录>\(递归子文件夹,同名自动 -2/-3 后缀,shortcut/原生文件跳过)
- 图片本地化(实测 133/133 成功):飞书导出 markdown 的时效内链图片(internal-api-drive-stream authcode)导出后立即 GET 可直接下载 → 存同目录 \�ssets/\ → 引用改写为 !\,彻底解决时效/登录问题
- 正文为标准 markdown(表格/代码块/链接完整);自动清理 <title>\ 元数据行
- 跨平台:Node 直接调 lark-cli 的 run.js(无 shell 依赖),Windows/macOS/Linux 一致
已知限制
- 公式块飞书导出为文本(飞书侧限制);shortcut 与原生 file 类型跳过
- 图片必须导出后立即下载(脚本串行内置,无过期窗口)
实测
- 单篇 11 图、批量 9 篇 133 图全部本地化成功;同名文档去重、shortcut 跳过验证通过
Full Changelog: v1.5.2...v1.6.0
v1.5.2
v1.5.2 — 跨平台生产级审查修复
修复
- env_check.sh 输出字段对齐 env_check.ps1:统一为 lark_cli{path,version} / lark_auth{identity,bot,user,user_hint} / ima{client_id,api_key} / notion{token,proxy}(原 sh 平铺字段不一致)
- lark-sync.md 补 macOS/Linux bash 批量编排:POSIX 兼容写法(case 映射目录,兼容 macOS 自带 bash 3.2 无关联数组)
- package.json 规范化(npm pkg fix):repository.url 不再触发发布警告
- 新增 .gitattributes:sh/cjs 强制 LF、ps1 强制 CRLF,避免 Windows autocrlf 破坏 bash 脚本
- AGENTS.md 补充功能/跨平台/测试说明;.gitignore 忽略 dist/
验证
- 6 个 .cjs 全部 node --check 通过
- env_check.sh bash -n 通过 + 实际运行 JSON 结构正确
- git check-attr 确认行尾规则生效
Full Changelog: v1.5.1...v1.5.2
v1.5.1
v1.5.1 — 清理/回滚同步产物能力
新增
- Notion 一键清理:\sync_vault_to_notion.cjs --clean\ 递归归档整棵同步树(先叶子后父级、最后根页,全部移入回收站),并自动清除增量缓存;找不到根页时安全退出
- 飞书删除文档化:\drive +delete --file-token --type folder|docx --yes\(high-risk 需 --yes,异步自动轮询,删除=移入回收站)
- SKILL.md 新增「清理 / 回滚同步产物」章节:三平台删除能力表(飞书 / Notion / ima),ima 明确无删除端点(delete_* 404)
- references/notion-sync.md §3.3、lark-sync.md §3.6、README 同步补充
背景
本版源于实测:同步后清理产物时发现 SKILL 只有零散删除说明(Notion 单页 archive-page、飞书 drive +delete 一笔带过),没有整树清理工具,故补充。
Full Changelog: v1.5.0...v1.5.1
v1.5.0
v1.5.0 — Notion 增量哈希缓存 + 实测问题修复
新增/优化
- Notion 增量秒级跳过:\sync_vault_to_notion.cjs\ 增加内容哈希缓存(~/.config/obsidian-sync/notion-cache.json\),页面存在且本地 md 未变化 → 整页跳过(SKIP),仅改动页覆盖更新(UPD);未变化重跑从 10-30 分钟降到数秒
- --force\ 参数:忽略增量缓存强制全量重写;首次运行默认信任远端现状建缓存
- 删除块并发 3(原逐块串行),配合 Notion 3 req/s 限流退避
实测问题文档化
- 飞书 \docs +update\ 多行内容必须用 --content @file\(内联会被拆成位置参数报错)
- 飞书 \drive +upload\ >20MB 报 \quota_exceeded\(1061043),37MB mp4 实测失败
- Notion \uploadFile\ 仅 \single_part\ ≤20MB;嵌套在无 md 的 assets/ 子目录附件被跳过
- Notion 直连偶发 \getaddrinfo ENOTFOUND api.notion.com\,建议统一 --proxy\
- lark-cli 进度信息走 stderr,JSON 解析前用 \2>\
文件
- skills/obsidian-sync/scripts/sync_vault_to_notion.cjs(优化)
- SKILL.md / references/notion-sync.md / lark-sync.md / env-and-auth.md / README.md(同步更新)
Full Changelog: v1.4.1...v1.5.0
v1.4.1 - 文档同步 v1.4.0 能力 + 工作流手动兜底
v1.4.1(2026-08-26)
- README 同步 v1.4.0 增量同步/覆盖更新说明(修正过时的「Notion 无覆盖写」)
- 新增「更新已同步的笔记」三平台对照表
- release 工作流增加 workflow_dispatch 手动兜底(tag 自动触发失效时可手动发起)
- 发布流程文档补充手动兜底步骤
v1.4.0 - 三平台增量同步 + 覆盖更新
v1.4.0(2026-08-26)
新增能力(三平台增量同步 + 覆盖更新)
| 平台 | 增量(不重复) | 覆盖更新 |
|---|---|---|
| ima | \sync_vault_to_ima.cjs --incremental\:check-names 查重跳过已存在条目,文件夹同名自动复用 | ❌ ima 无更新内容端点(已探测确认,仅 \ |
| ename_knowledge\ 存在),内容变更需客户端手动删旧重导 | ||
| 飞书 | 导入前列目录查重,同名跳过 | ✅ \docs +update --command overwrite\ 整文覆盖(保留链接,实测通过;图片/评论会丢) |
| Notion | 同名页面复用(幂等) | ✅ \sync_vault_to_notion.cjs\ 同名页面清空旧子块重填(保留 URL,实测通过);查找子页面优先列父页子块避免搜索索引延迟 |
实测
- ima 增量:12 文件全部跳过、0 新增
- Notion:修改后重跑 = 覆盖更新、无重复页;测试树已归档清理
- 飞书:v1→v2 覆盖更新成功;测试文件夹已删除
安装
- npx:
px skills add luffysolution-svg/obsidian-sync\ - npm:
pm i -g obsidian-sync-skill\(
px skills experimental_sync\) - 手动: 解压本 zip 放入 agent skills 目录