这两天我折腾了一套新的写作工作流,简单来说,就是把 Obsidian 和 Claude Code 连接在一起。
原本以为只是在工具箱里多加了一件家伙,没想到整个内容生产的效率,直接起飞了。
Obsidian 是什么?它凭什么和 Claude 配对?
Obsidian 是一款基于本地 Markdown 的笔记工具,用过的人都知道:它是知识管理界的"重度用户御用神器"。
但只用 Obsidian 做笔记,有点可惜。它真正的潜力,是作为知识与内容的结构化容器——笔记写进去,但如果只是沉在那里,价值就少了一大半。
Claude Code 的出现,让这个容器活了起来。
三个核心组件,缺一不可
这套系统的底层只有三件事:Obsidian + Claude Code + Skills。
Obsidian 是结构,你的笔记、素材、草稿都在这里。
Claude Code + Claudian 插件 是引擎。Claudian 是一个社区插件,安装后可以让 Claude Code 直接在 Obsidian 编辑器内运行,读写你的文件、调用工具,不用再在终端和编辑器之间反复切换。
安装方式:通过 Obsidian 的 BRAT 插件,添加 GitHub 仓库
https://github.com/YishenTu/claudian,模型选 Opus,权限模式建议设为yolo(自动批准操作,少一步确认,效率翻倍)。
Claudian 配置有些麻烦,如果不想折腾,使用 Terminal 插件也可将 Claude Code 命令行集成到 Obsidian。
方法如下:
Obsidian 安装 Terminal 插件
最简单的方式就是装一个 Terminal 插件,在 Obsidian 里内嵌终端,直接跑 claude 命令,完全复用你的 Claude Code 登录态,不需要 API Key。
安装步骤:
- Obsidian → 设置 → 第三方插件 → 浏览社区插件
- 搜索 Terminal,找到作者是
polyipseity的那个安装 - 启用后,左侧边栏会出现一个终端图标,点击打开
- 在终端里
cd到你的 vault 目录,然后运行:
claude
就可以直接用了,跟在系统终端里用 Claude Code 完全一样。
大概不久后 Obsidian 官方也会有自己的 CLI(Command‑Line Interface,命令行界面),期待吧。
我是怎么打通内容生产流水线的
举个实际案例——播客转文章全流程:
- 处理信息源:用 Podwise 把播客音频转成带时间戳的 Markdown 素材,丢进 Obsidian。
- 生成初稿:Claude Code 结合素材和 CLAUDE.md 中定义的写作风格,自动生成符合我个人风格(mufeng-writing skill)的初稿。
-
自动配图:调用
baoyu-article-illustrator技能,它会分析文章结构,自动生成 4 张风格匹配的插图。 -
一键发布推特X:调用
baoyu-post-to-x技能,把文章以 X Article 形式直接发出去。 -
一键发布微信公众号:调用
baoyu-post-to-wechat技能,把文章以草稿的形式直接发到微信公众号平台。
从一段播客音频,到带图文章发布,整个流程里我需要手动干预的部分,已经压缩到非常少了。
如果要发到其他平台,同一份素材,换个技能就好——小红书用 baoyu-xhs-images,封面图用 baoyu-cover-image 生成。多平台分发,一套素材,多套输出。
再举个实际的例子 - 语音日记转文章全流程:
目前我每天还使用 SpeechNote App 收集素材、灵感,记录每日日记。这样一周、两周之后就可以积累很多素材。每周让 Claude Code 处理这些素材,只要几分钟,四五篇高质量文章就出来了。
SpeechNote App 是我开发的,目前还没上线 App Store,不过你也可以使用其它的任意你喜欢的软件进行录音转文本收集素材。
baoyu-skills:一个"开箱即用"的技能包
Skills 是行动能力
Skills 是行动能力。每一个 Skill 就是一个 Markdown 文件,放在 .claude/skills/ 目录下,告诉 Claude "碰到这种情况,就这么干"。
我这套系统里的大部分技能,来自一个开源项目:baoyu-skills,由宝玉老师整理分享。
一行命令就能安装:
npx skills add jimliu/baoyu-skills
或者在 Claude Code 里运行:
/plugin marketplace add jimliu/baoyu-skills
安装后会得到三大类共 15 个技能:
- 内容生成类:封面图、信息图、小红书图片、幻灯片、知识漫画、文章配图、发布到 X、发布到公众号
- AI 生成后端:图像生成、Gemini 多模态生成
- 效率工具类:网页转 Markdown、X/推文转 Markdown、图片压缩、Markdown 格式化
每一个都是即装即用。 不需要自己写代码,不需要搭建环境,告诉 Claude 你要用哪个技能,它就帮你执行。
1. baoyu-image-gen 使用指南
它是什么
一个 AI 图片生成 skill,支持三个后端:Google Gemini、OpenAI DALL-E、阿里通义万象 (DashScope)。其他 skill(如 baoyu-xhs-images、baoyu-cover-image)底层都是调这个来生图的。
需要的 API Key(三选一即可)
| 后端 | 环境变量 | 获取方式 |
|---|---|---|
| Google(默认优先) | GOOGLE_API_KEY |
Google AI Studio |
| OpenAI | OPENAI_API_KEY |
OpenAI Platform |
| DashScope | DASHSCOPE_API_KEY |
阿里云百炼 |
三个 key,至少配一个才能用。
配置方式(两种选一)
方式 1:加到 ~/.baoyu-skills/.env
在已有的 .env 里追加:
GOOGLE_API_KEY=你的Google_API_Key
# 或
OPENAI_API_KEY=你的OpenAI_API_Key
# 或
DASHSCOPE_API_KEY=你的DashScope_API_Key
方式 2:设环境变量(在 ~/.zshrc 里)
export GOOGLE_API_KEY=xxx
加载优先级
CLI 参数 > EXTEND.md > 环境变量 > <项目>/.baoyu-skills/.env > ~/.baoyu-skills/.env
基本用法
# 最简单:文字描述 → 生成图片
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "一只可爱的猫" --image cat.png
# 指定宽高比
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "风景" --image out.png --ar 16:9
# 高清 2K(默认就是 2K)
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "插画" --image out.png --quality 2k
# 参考图(以某张图为基础修改)
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "改成蓝色" --image out.png --ref source.png
# 指定后端
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "猫" --image out.png --provider openai
# 从 prompt 文件读取(适合长 prompt)
npx -y bun ${SKILL_DIR}/scripts/main.ts --promptfiles system.md content.md --image out.png
实际使用中你不需要手动跑这些命令——直接跟 Claude 说"帮我生成一张图",它会自动调这个 skill。
后端选择逻辑
- 只有一个 key → 用那个
- 多个 key → 默认 Google
- 有
--ref参考图 → 优先 Google,其次 OpenAI - 手动
--provider→ 强制用指定的
支持的宽高比
1:1、16:9、9:16、4:3、3:4、2.35:1
推荐
如果只配一个,推荐 Google(GOOGLE_API_KEY)——它是默认后端,支持参考图多模态,2K 画质免费额度也够用。
- 获取方式:打开 Google AI Studio → 创建 API Key
- 打开 ~/.baoyu-skills/.env,把
你的Google_API_Key替换为真实的 key。
这里多说一句,谷歌生图功能是真的强大,它基于非常火爆的 Nano Banana Pro 模型,生成的图片非常酷,而 OpenAI、阿里百炼生图则很容易中英文乱码。
2. 使用 baoyu-article-illustrator 为文章配图
前提条件
这个 skill 依赖图像生成能力(底层调用 baoyu-image-gen skill),需要配置好 OpenAI、Google 或 DashScope 的 API key。
操作方式
最简单的用法——在对话中直接说:
为文章配图 基于 Obsidian 和 Claude 打造 AI 时代超级大脑/基于 Obsidian 和 Claude 打造 AI 时代超级大脑.md
或者用命令格式,还可以指定类型和风格:
# 自动分析,自动选择类型和风格
/baoyu-article-illustrator "基于 Obsidian 和 Claude 打造 AI 时代超级大脑/基于 Obsidian 和 Claude 打造 AI 时代超级大脑.md"
# 指定类型为信息图 + 风格为 notion 简约手绘
/baoyu-article-illustrator "基于 Obsidian 和 Claude 打造 AI 时代超级大脑/基于 Obsidian 和 Claude 打造 AI 时代超级大脑.md" --type infographic --style notion
# 指定密度(图片数量多一些)
/baoyu-article-illustrator "基于 Obsidian 和 Claude 打造 AI 时代超级大脑/基于 Obsidian 和 Claude 打造 AI 时代超级大脑.md" --density rich
完整流程会经历 6 步
| 步骤 | 做什么 | 你需要做什么 |
|---|---|---|
| Step 1: 预检 | 检查是否有 EXTEND.md 偏好配置 |
首次使用会弹出设置问题(水印、风格偏好、保存位置),选一下即可 |
| Step 2: 分析 | AI 分析文章结构,识别需要配图的位置 | 无需操作 |
| Step 3: 确认 | 弹出问题确认插图类型、密度、风格 | 选择或接受推荐 |
| Step 4: 大纲 | 生成 outline.md,列出每张图的位置和内容 |
可以审核 |
| Step 5: 生成 | 调用图像生成 API,逐张生成插图 | 等待 |
| Step 6: 插入 | 把图片引用插入到文章对应位置 | 完成 |
对于技术文章的建议
如果文章是技术工具 + 工作流教程类型,比较适合的组合:
-
Type:
flowchart(流程图,适合展示播客转文章的四步流水线)或framework(框架图,适合展示 Obsidian + Claude Code + Skills 的三组件架构)或mixed(混合,让 AI 根据每个段落自动选) -
Style:
notion(简约手绘线条)或blueprint(蓝图风格,技术感强) -
Density:
balanced(3-5 张)或per-section(每个章节一张)
首次使用注意
第一次运行会触发 first-time setup,会问你三个问题:
- 水印 — 是否在生成图片上加水印文字
- 默认风格 — 选一个默认风格或让 AI 自动选
- 保存位置 — 配置存在项目级还是用户级
设置完会生成 EXTEND.md 文件,之后就不会再问了。
输出目录
生成的图片和 prompt 文件会保存在:
illustrations/{topic-slug}/
├── outline.md # 插图大纲
├── prompts/ # 每张图的 prompt
└── NN-{type}-{slug}.png # 生成的图片
配置微信公众号 API 凭证
第一步:获取 AppID 和 AppSecret
- 打开 微信公众平台 并登录
- 进入 开发 → 基本配置
- 复制 AppID 和 AppSecret(如果 AppSecret 忘了需要重置)
第二步:选择存放位置
有两个位置可选:
| 位置 | 路径 | 作用域 |
|---|---|---|
| 项目级 | <项目根>/.baoyu-skills/.env |
仅当前项目生效 |
| 用户级 | ~/.baoyu-skills/.env |
所有项目生效 |
建议用用户级(~/.baoyu-skills/.env),这样所有项目都能用。
第三步:创建文件
mkdir -p ~/.baoyu-skills
cat > ~/.baoyu-skills/.env << 'EOF'
WECHAT_APP_ID=你的AppID
WECHAT_APP_SECRET=你的AppSecret
EOF
把 你的AppID 和 你的AppSecret 替换成真实值。
优先级
凭证读取顺序(高→低):
-
环境变量(
export WECHAT_APP_ID=xxx) -
项目级
.baoyu-skills/.env -
用户级
~/.baoyu-skills/.env
补充:EXTEND.md 偏好配置(可选)
除了 .env 存凭证,还可以配一个 EXTEND.md 来设置默认偏好:
mkdir -p ~/.baoyu-skills/baoyu-post-to-wechat
然后创建 ~/.baoyu-skills/baoyu-post-to-wechat/EXTEND.md,内容例如:
default_theme: default
default_publish_method: api
default_author: 沐风
need_open_comment: 1
only_fans_can_comment: 0
这样每次发文就不用重复选主题、作者这些了。
CLAUDE.md:给 AI 写一份操作手册
很多人用 Claude Code,每次都要重新解释自己是谁、风格是什么、工作流怎么走。
这是在做无效的重复劳动。
CLAUDE.md 是 Claude Code 的"项目记忆文件"。每次启动 Claude Code 时,它会自动读取这个文件——相当于每次对话开始前,Claude 已经看完了你写的简历和说明书。
一个好的 CLAUDE.md 应该包含:
- 身份定义:你是谁?有哪些短板需要 AI 补足?
- 技能手册:你装了哪些 Skills,各适用于什么场景?
- 工作流模板:多平台发布的标准流程是什么?
- 迭代记录:AI 犯过哪些错误?下次如何避免?
如果你还没写过,最快的方式是在项目目录里运行:
/init
Claude 会扫描你的文件结构,自动生成一个初版,你在此基础上改就好了。
一个反直觉但重要的结论是:CLAUDE.md 里的指令要少而精。内容越多,Claude 对每条指令的"注意力"越分散。把最核心的规则放进去,其他交给 linter 和工具自动处理。
如果你想快速上手,三步就够了
第一步:安装 Obsidian,通过 BRAT 插件安装 Claudian,完成 Claude Code 的基础连接。
第二步:写你的第一个 CLAUDE.md —— 哪怕只有 10 行,只要告诉 Claude 你是谁、你主要干什么就够了。
第三步:从一个最简单的技能开始试,比如 baoyu-url-to-markdown,把你常看的一篇文章 URL 丢给它,一键变成干净的 Markdown 文件存进 Obsidian。
起步不需要完美,用起来才是关键。
AI 生图(文章插图)问题:
尽量使用谷歌 AI 生图。
不过如果是使用 api key 调用的方式,谷歌 AI 需要付费才行。
OpenAI 的生图 api key 也是需要付费才能用的,不想付费的可以不设置以上这个,不差钱的朋友则可以按需开通谷歌、OpenAI 生图功能,它们家的 AI 效果一直很酷。
如果想免费的,退而求其次,可以使用阿里云百炼。
阿里云生图效果没有谷歌 Nano Banana 生图效果好。要注意提示词中避免出现过多的中英文文字标签。
如果 prompt 里的文字标签太多、中英文混排,AI 图像模型对文字渲染能力很弱,尤其是长句。
一个优化策略是,避免中英文长句,只保留极短中文关键词、用图形符号代替文字说明。
文章插图使用 github 图床
在 github 创建图床项目,项目需要是 public 公开类型。否则链接形式是访问不到图片资源。
创建专门的图床仓库 + jsDelivr CDN(更专业)
- 在 GitHub 创建一个公开仓库,比如
ichangyou/image-bed - 把图片推到这个仓库
- 用 jsDelivr CDN 加速访问
https://cdn.jsdelivr.net/gh/ichangyou/image-bed@main/obsidian-claude/01-framework-three-components.png
优点:URL 干净、国内访问快(jsDelivr 有国内 CDN 节点)
缺点:需要额外维护一个仓库
CLAUDE.md 记录文章插图规则
Image Conventions
文章配图统一使用 GitHub 图床:
-
存储位置:图片保存到文章目录下的
imgs/子目录(.gitignore配置允许*/imgs/下的图片被追踪) - 提交与推送:生成图片后,commit 并 push 到 GitHub
-
文章引用:使用 GitHub raw 链接,格式为
https://raw.githubusercontent.com/ichangyou/MF_Writing/main/{文章目录URL编码}/imgs/{filename} -
Prompt 存档:生成图片的 prompt 文件保存在
imgs/prompts/下,方便后续重新生成或调整
Git Conventions
.gitignore 排除大文件,如 audio, video, PDF, zip,不然无法上传 github 仓库。
一键发布文章到微信公众号
baoyu-post-to-wechat 这个 skill,可以直接实现一键发布。
完整的操作流程:
两种发布方式
| 方式 | 速度 | 依赖 |
|---|---|---|
| API(推荐) | 快 | 需要公众号 AppID + AppSecret |
| Browser | 慢 | 需要 Chrome,首次扫码登录 |
操作步骤
1). 首次配置(只需一次)
创建配置文件 ~/.baoyu-skills/baoyu-post-to-wechat/EXTEND.md:
default_theme: default
default_publish_method: api
default_author: 沐风
need_open_comment: 1
only_fans_can_comment: 0
如果用 API 方式,还需要配置凭证 ~/.baoyu-skills/.env:
WECHAT_APP_ID=你的AppID
WECHAT_APP_SECRET=你的AppSecret
获取方式:登录 微信公众平台 → 开发 → 基本配置
2). 发布文章
直接在对话中说:
"把
基于 Obsidian 和 Claude 打造 AI 时代超级大脑/基于 Obsidian 和 Claude 打造 AI 时代超级大脑.md发布到公众号"
Skill 会自动执行这些步骤:
- 检测到
.md文件 → 调用baoyu-markdown-to-html转换为带样式的 HTML - 提取/验证标题、摘要、封面图等 metadata
- 通过 API 或 Browser 方式推送到公众号草稿箱
- 输出完成报告(包含 media_id)
发布后文章进入草稿箱,你登录公众号后台确认发布即可。
3). 前置依赖
这个 skill 依赖 baoyu-markdown-to-html 来做 Markdown → HTML 转换(带微信排版主题)。你可以先检查下是否已安装。如果没有,发布时 skill 会提示安装。
三种主题可选
| 主题 | 风格 |
|---|---|
default |
经典 — 标题居中带底边,二级标题白字彩底 |
grace |
优雅 — 文字阴影,圆角卡片,精致引用块 |
simple |
简洁 — 现代极简,不对称圆角,清爽留白 |
快速总结
实际操作就一句话的事 — 切换到 Agent 模式,然后对 AI 说「把 xxx.md 发布到公众号」,skill 会自动走完 Markdown → HTML → 上传的全流程。首次使用需要配置好 API 凭证或者在浏览器中登录公众号。