【免费下载链接】pickoo-your-favorites
Local-first creator favorites workbench with evidence-preserving Markdown capture and a complete browser UI.
Pickoo 是一个本地优先的 AI 收藏夹与灵感整理工作台,它把收藏内容沉淀为可编辑的Markdown 单一事实源(single source of truth),而这套机制天然适合与 Obsidian 深度联动:同一份 Markdown 既可以在 Pickoo 的浏览器界面里卡片化阅读、编辑,也可以在 Obsidian 中作为笔记库的一部分直接浏览、链接和批注。本文将带你理解 Pickoo 的 Markdown 单一事实源设计,并配置双视图同步,实现不重复存储的收藏管理。
为什么 Pickoo 和 Obsidian 是天生一对
很多人收藏内容的习惯是"存进某个 App,然后再也不看"。Pickoo 的思路相反:内容本体必须是你能随时打开、搜索、二次编辑的纯文本。
它的设计原则只有一句话:
每条收藏以
manifest.document.path指向的系统长文件名 Markdown 作为人类可编辑入口;浏览器界面只是这份文件的"投影",而不是第二个内容数据库。
这句话来自 docs/ARCHITECTURE.md,它解释了整套联动的基础:
- Markdown 是唯一可编辑内容文档。原文、标准内容、内容拆解、素材卡片、证据索引都写在同一个文件的固定二级标题下,Obsidian 打开即是结构清晰的笔记;
manifest.json是机器可读的"旁车文件",记录身份、哈希、质量门状态等,Obsidian 用户不需要管它;- 原始证据放在
evidence/目录(图片、媒体、逐字稿、OCR 等),Markdown 中用相对路径引用,这样 Obsidian、Pickoo 前端、Codex、Claude 等 Agent 解析到的是同一批文件。
也就是说,Pickoo 从第一天起就假设"这份资料可能直接放在一个 Obsidian 库里"。
第一步:把 Pickoo 资料库指到你的 Obsidian 库
Pickoo 的资料库根目录(library root)决定了所有收藏写到哪里,解析顺序是(见 skill-source/save-to-favorites/SKILL.md):
- 命令行显式
--library-root(一般用不到) - 环境变量
PICKOO_LIBRARY_ROOT - 设置文件
~/.config/pickoo/settings.json中的storage.library_root - 默认值
~/Documents/Pickoo Library
对接 Obsidian 最简单的做法:
方法一(推荐,适合新手):在 Pickoo 设置页的"存储与最终 Markdown"区域,把"来源资料包位置"直接选为你 Obsidian 库里的某个子文件夹(或整个库根目录)。设置界面源码见 public/index.html。
方法二:设置环境变量,让 Codex、WorkBuddy、Claude 等 Agent 入口与前端读到同一个路径:
export PICKOO_LIBRARY_ROOT=/path/to/your-obsidian-vault两个实用细节:
- 如果你通过 Claudian 在 Obsidian 内部直接让 Agent 收藏链接,可以设置
PICKOO_OBSIDIAN_VAULT指向 Obsidian 库根目录,Pickoo 会自动在其下寻找.claude/skills目录安装 Skill;此类请求的入口渠道会标记为obsidian; - Pickoo 会自动读取已有的 Obsidian 高质量输入包,不搬家、不重复存储(见 README.md),你库里的旧资料不会因为接入 Pickoo 而被复制一份。
来源包结构:一条收藏 = 一个文件夹
每条来源对应一个S-{平台}-{稳定ID}/文件夹(契约详见 skill-source/creator-content-ingest/references/obsidian-contract.md),大致长这样:
S-xhs-abc123/ ├── 图文-小红书-好的呀-胖虎超爱玩-20260825.md ← 唯一的人类可编辑文档 ├── manifest.json ← 机器状态、质量门、哈希 └── evidence/ ├── images/ # 图片 ├── media/ # 视频/音频 ├── transcript/ # 带时间戳逐字稿 ├── article/ # 文章章节 └── assets/ # 六类资产(金句/观点/钩子/结构/图像/镜头)几个对 Obsidian 用户很关键的约定(完整规则见 skill-source/save-to-favorites/references/library-contract.md):
- 文档命名规则:
内容形态-来源渠道-最多10字标题-最多10字作者-YYYYMMDD.md,分配后保持稳定;重名才追加-2、-3后缀; - 文件名记录在
manifest.document.path,改名收藏包时不会丢失"哪个 Markdown 是正主"的映射; - 媒体链接保持相对路径,Obsidian 里的图片预览、Pickoo 前端、Agent 全都指向同一份文件;
- 旧版的
收藏.md只作为迁移输入,Pickoo 会自动把它改名为规范文件名,不会让它长期成为第二套可编辑源。
这套结构的好处:你完全可以把整个库丢进 Obsidian,用双链、标签、搜索随意组织;Pickoo 前端也能立刻识别这些包,显示完整 / 待复核 / 部分完成 / 失败状态,不需要任何"导入"动作。
双视图模式:跟随来源包 vs 集中阅读
Pickoo 在设置里提供"最终 Markdown 怎么放"两个选项(界面见 public/index.html),这就是标题里说的"双视图":
| 模式 | 文件位置 | 适合场景 |
|---|---|---|
跟随来源包(package) | 每条收藏留在自己的S-xxx/文件夹里 | 想就近查看完整证据(图片、逐字稿、OCR) |
集中阅读(centralized) | 在一个独立目录生成标题可读的扁平 Markdown 视图 | 希望在 Obsidian 里连续浏览、快速跳转 |
集中阅读模式的重点机制:
- 集中视图的文件与来源包文档使用完全相同的文件名,两边通过不可变的
favorite_id绑定身份,而不是靠路径判断"这是同一条"; - 集中视图里的媒体链接会被重写为相对集中目录的路径,把集中侧的编辑导回来源包时再反向还原;
- 可以勾选"集中目录跟随资料库",迁移资料库时集中目录跟着一起走;
- 集中阅读模式不会搬走证据包——来源包仍是唯一的事实源和 Agent 的提交边界,集中目录只是可连续浏览的视图;
- 设置页提供"立即同步"按钮,可手动触发两侧核对,完成后会提示更新篇数与冲突备份数。
双向同步如何避免互相覆盖
这是最容易担心的部分:我在 Obsidian 改了笔记,Pickoo 会不会盖掉它?反过来呢?
Pickoo 的答案是"按身份和修订版本对账,而不是按路径":
- Obsidian 侧修改→ Pickoo 详情页自动刷新,立即看到新内容;
- Pickoo 前端修改→ 原子写回同一个 Markdown 文件,并带版本哈希(乐观并发检查),检测到并发修改时拒绝盲目覆盖;
- 一侧单独修改→ 同步索引记录了来源包侧和集中侧各自的最后修订版本,单侧修改正常获胜;
- 两侧同时改了同一段→ 较新的一方获胜,但输掉的那一版会先备份到
.pickoo-conflicts/目录,不会凭空丢失; - Agent 提交→ Pickoo 运行时后台轮询会自动投影 Agent 写入的来源包;Pickoo 没运行时,等下次启动自动对账。
因此官方契约里对 Agent 有明确禁令(见 skill-source/save-to-favorites/SKILL.md):
不要创建另一份随手复制的文档,不要重命名两侧已分配的文件,不要靠覆盖任何一方来解决冲突——Pickoo 会保持文件名稳定,并把输掉的一版存到
.pickoo-conflicts/再合并。
常见坑与最佳实践
- ⚠️不要手动在集中目录新建"第二份内容文档"。集中视图由 Pickoo 维护,Agent 和人都只编辑来源包文档;
- ⚠️不要改
S-xxx/下规范文档的文件名。身份绑定在favorite_id和manifest.document.path上,手动改名会破坏双向同步; - ✅ 想让 Obsidian 和 Pickoo 看到同一个任务队列,可以在库内约定
处理队列/的pending / running / completed / partial / review / failed子目录结构(见 obsidian-contract.md); - ✅ 修改资料库根目录是有守卫的迁移操作:Pickoo 会先拒绝仍在运行的任务,再整体迁移来源包、重定位历史任务路径,校验失败会回滚(见 docs/ARCHITECTURE.md);
- ✅ 所有路径配置集中在
~/.config/pickoo/settings.json,前端与所有 Agent 入口共用,不会各自维护一套。
快速上手清单
- 安装 Node.js 20+,执行
npm ci后npm start,打开http://127.0.0.1:4324(详见 README.md); - 在设置页把"来源资料包位置"指向你的 Obsidian 库(或设置
PICKOO_LIBRARY_ROOT); - 按需选择"跟随来源包"或"集中阅读",集中模式可点"立即同步"核对两侧;
- 收藏任意链接,Pickoo 自动查重、抓取、拆解,生成带完整证据的来源包;
- 在 Obsidian 里随意编辑 Markdown,回到 Pickoo 详情页即可看到自动刷新后的内容。
相关文档
- Obsidian 存储契约:skill-source/creator-content-ingest/references/obsidian-contract.md
- 共享 Markdown 资料库契约:skill-source/save-to-favorites/references/library-contract.md
- 架构说明:docs/ARCHITECTURE.md
- 开发与环境变量:docs/DEVELOPMENT.md
- 完整功能与数据边界:README.md
【免费下载链接】pickoo-your-favorites
Local-first creator favorites workbench with evidence-preserving Markdown capture and a complete browser UI.
相关推荐
Obsidian与滴答清单深度整合:完整同步实战指南
Obsidian与滴答清单深度整合:完整同步实战指南 在现代知识管理工作中,任务管理与笔记记录往往需要频繁切换不同工具,这种割裂感严重影响了工作效率。Obsid
Folium DualMap 插件实战:用 Python 创建联动同步的双地图视图
Folium DualMap 插件实战:用 Python 创建联动同步的双地图视图 DualMap 是 folium 提供的双地图插件,基于 Leaflet 生
数据可视化Obsidian-Dida-Sync完整使用指南:快速实现滴答清单与Obsidian双向同步
Obsidian Dida Sync完整使用指南:快速实现滴答清单与Obsidian双向同步 Obsidian Dida Sync是一个功能强大的Obsidia
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考