这是「Claude Code 工作流」系列第一篇,原文是内部分享 deck,星露谷物语像素风。下方嵌入了可交互的完整 deck,按方向键翻页,按
O出缩略图多任务视图。本篇文字版对应 deck 的 Part 1(第 02-08 页)。
移动端 iframe 体验有限,可点此全屏查看 deck。
P02 · Part 1 目录:知识库工具
知识库这块我用两套工具:Obsidian(本地 markdown + 双链)和 Notion(block + database + relation)。这套对比不是为了 PK 谁强谁弱,而是搞清楚两套范式各自擅长什么、我各自在用它们做什么。
Part 1 共 6 节:1.1 范式对比 / 1.2 OB 在用 / 1.3 Notion 在用 / 1.4 daily-todo-bot / 1.5 优劣对比表 / 1.6 分工。
P03 · 1.1 两种知识库范式对比
Obsidian:本地 markdown + 双链
OB 的核心是纯文本 .md 文件 + 本地存储。文件系统就是数据库,[[双链]] 把文档织成网,graph view 看全局互连。跨 vault 用 Python 读写毫无障碍——它就是个文件夹。
适合:个人知识沉淀、离线写作、隐私敏感。
痛点:无原生 DB、无自动化触达、协作要迁整个 vault。
“OB 织网 — 文档间互相关联”
Notion:block + database + relation
Notion 的核心是 block-based,无限嵌套。block 是最小单位,paragraph / heading / toggle / callout 都是 block,可以拖拽组合。database + view + property 提供原生结构化能力,relation 把多个 DB 互相关联。云端,团队实时协作。
适合:结构化字段、多人协作、定时自动化。
痛点:离线不可用、导出受限、锁在云上。
“Notion 垒层 — 内容分层可折叠”
一句话总结:OB 织网,Notion 垒层——前者文档间互相关联,后者内容内部分层。
P04 · 1.2 Claude + OB:知识库使用方法
三个 vault
- 项目变更记录 — 按天分区,
操作变更记录-YYYY-MM-DD.md,原始数据层 - 项目文档 — 按主题汇总,结构化层
- llm-wiki — skill prompt 定义的三层结构(raw → wiki → index)
这套分层借鉴了数据开发思路:原始 → 结构化 → 索引。每日追加操作变更记录是原始层,项目文档按主题归档是结构化层,llm-wiki 是索引层。
Claude 怎么读写
obsidianskill — vault 读写。macOS 沙盒(TCC)限制~/Documents/直接访问,用 Python heredoc 绕开karpathy-llm-wiki— 三层结构维护markitdown— 网页/PDF/Word 转 md 再扔进 vault
vault 结构示例
1 | 项目变更记录/ |
Claude 工作流
每日追加 → obsidian skill → 结构化归档。每日一个 md,跨 vault heredoc 批量检索。
P05 · 1.3 Notion 当前在用
三个 database
- 每日待办 DB — agent 模板 5 字段:项目名 / 模块名 / 截止时间 / 四象限 / 任务内容。新增流程:关键词 → 给模板 → 填充提交 → 更新 Notion
- 项目模块 DB — 工作 + 个人两套库。PowerLink(工作)/ NightFall-Blog(个人),技术栈 / 上线日期 / 状态字段。relation:项目 → 子模块 → 每日待办(多对多)
- daily-todo-bot — 9:00 / 18:00 推钉钉(详见下页)
配合的 MCP
notion MCP(mcp.notion.com/mcp,user scope)— 直连 Notion API,daily-todo-bot 自动化也走这条链路。
当前限制
- button 只读——MCP 暂不支持触发 Notion button
- select 受限——只能查不能改选项
P06 · 1.4 daily-todo-bot:Notion 待办推到钉钉
做什么
每天 9:00 和 18:00 自动把今日待办从 Notion 拉出来,推送到企业钉钉的工作通知。上午推清单,下午推完成复盘。
链路
1 | Notion 待办 DB |
三端协作
| 端 | 角色 | 关键 |
|---|---|---|
| ① Notion 端 | 数据源 | 每日待办 DB + Internal Integration token + filter |
| ② 中间发起 | Python main.py | cron 0 9,18 * * * + 读 Notion + 调 asyncsend_v2 |
| ③ 钉钉端 | 触达 | 企业内应用 + agent_id + appkey/secret 换 token + action_card |
部署
云服务器 root@47.103.65.110:~/daily-todo-bot/,cron 触发。
5 个开发坑
- TCC 限制 — 服务器调试,本地 macOS 沙盒绕开
- action_card — 必带
btn_json,否则钉钉拒绝(400) - 钉钉日上限 — 频控限流,合并推送
- database_id ≠ data_source_id — 查询要用
collection://前缀 - create-pages — 必须给 parent
data_source_id,不能只给database_id
“Notion 是数据源,钉钉是触达层 — 中间一段 Python 把两者缝起来”
P07 · 1.5 优劣对比表
| 维度 | Obsidian | Notion |
|---|---|---|
| 本地存储 | ✅ markdown 文件,可 grep | ❌ 云端,离线不可用 |
| 双链互关 | ✅ [[ 一键织网 + graph view |
⚠️ relation 需手动建 |
| 层级嵌套 | ❌ 文档内部平铺 | ✅ 无限嵌套 + toggle 折叠 |
| 渲染层次 | ❌ 信息密度均匀 | ✅ 信息密度梯度分明 |
| 数据库能力 | ⚠️ 靠 frontmatter / dataview 插件 | ✅ 原生 database + view + filter |
| 团队协作 | ❌ 单人本地 | ✅ 多人实时 |
| 迁移成本 | ✅ 纯文本,可批量处理 | ❌ 锁在云上,导出有限 |
| 自动化触达 | ❌ 本地无定时能力 | ✅ 云端 API + cron 推钉钉 |
| 插件生态 | ✅ 海量社区插件,可自写 | ⚠️ 官方 API + 精选 integrations |
| 开源社区 | ✅ 完全开源,MIT 协议 | ❌ 闭源 SaaS,无法自托管 |
P08 · 1.6 OB / Notion 分工:AI 读什么,人看什么
经过这轮对比,我的结论是不二选一,分工合作:
OB — 喂 AI,本地知识源
纯文本 .md + 双链织网,Claude 跨 vault 用 Python heredoc 直接读写。
- 渐进式披露 — AI 按需读,不必一次拉全量
- 结构灵活 — 文件路径就是 schema
- 隐私本地 — 敏感记录不离机
“OB 是 AI 的工作记忆 — 每日追加,跨 vault 检索”
Notion — 喂人,项目追踪层
block + database + relation,感官直接,一路折叠到底看全貌。
- 感官直接 — 层次分明,按需展开
- 团队协作 — 多人实时,加人无需迁库
- 项目追踪 — 状态/日期/owner 字段一等公民
“Notion 是人的仪表盘 — 一屏看全,一键深入”
联动:Notion 记录时参考 OB
更新 Notion 待办时,agent 可直接从 OB vault 读取历史记录/项目文档,结构化字段填入 DB — 一次写入,两端可用。
下一篇:Claude Code 工作流(二):Claude Code × Databricks — 远程 MCP Server vs 本地 CLI + Skills 选型,9 步测试工作流闭环,10 行 × 68 列自主抓取实战。
回到本专栏首页:Claude Code 使用分享。