Obsidian 图床配置示意图

在 Obsidian 中插入图片时,本地附件容易散落,换电脑或同步笔记时也可能出现路径失效。用 PicList + GitHub + jsDelivr,可以把图片上传、链接生成和 Obsidian 粘贴图片串成一套自动化流程。

熟悉工具的人通常几分钟就能完成配置;第一次接触 GitHub Token 和 Obsidian 社区插件,建议预留十几分钟,避免因为权限或路径问题反复排查。

**版本提示:**文中截图使用的 PicList 2.9.8、Obsidian 和 GitHub 界面可能较旧,仅用于演示操作路径。软件更新后菜单和功能可能变化,请使用官方最新稳定版,并以实际界面和官方文档为准。

为什么需要图床?

  • 跨设备使用:笔记同步到另一台设备后,图片链接仍可访问;
  • 减少附件混乱:图片统一存放在一个仓库中,便于整理;
  • 分享更方便:复制 Markdown 笔记时,图片不依赖本地附件目录;
  • 便于备份:Git 仓库可以保留历史版本,也能克隆到本地。

需要注意:GitHub 公开仓库中的图片可能被其他人访问,不要上传身份证、合同、密码等敏感内容。GitHub 也不是专业 CDN,免费服务不承诺永久稳定。

方案组成

工具作用
PicList上传图片、管理图床、提供本地上传接口
GitHub保存图片文件和历史版本
jsDelivr为 GitHub 中的公开文件提供 CDN 加速
Obsidian 插件粘贴图片后自动调用 PicList 上传

这套方案适合个人笔记、博客配图和低流量内容站。高流量商业网站应使用正式对象存储和 CDN。

第一步:创建 GitHub 图片仓库

登录 GitHub,创建一个新的 Public 仓库,例如:

1
obsidian-images

仓库名可以自定义,记住完整的“用户名/仓库名”,例如:

1
yourname/obsidian-images

建议勾选 Add a README file,方便之后维护。

创建 GitHub 图片仓库

第二步:安装 PicList

从 PicList 官方 Releases 下载并安装最新稳定版。安装完成后先打开 PicList,确认程序可以正常运行。

不要从来历不明的第三方下载站获取安装包,也不要使用修改版或破解版。

第三步:配置 PicList 的 GitHub 图床

进入 PicList 的 图床设置 → GitHub,填写以下信息:

配置项填写规则示例
仓库名用户名/仓库名yourname/obsidian-images
分支名查看仓库默认分支main 或 master
TokenGitHub 访问令牌不要公开
存储路径图片保存目录img/
自定义域名jsDelivr 地址https://cdn.jsdelivr.net/gh/yourname/obsidian-images@main

PicList 的 GitHub 图床配置界面(图中账号和仓库仅为示例)

创建最小权限 Token

不建议使用账号密码,也不建议给 Token 开启全部仓库权限。推荐使用 GitHub 的 Fine-grained token:

Settings → Developer settings → Personal access tokens → Fine-grained tokens → Generate new token

  • Token name:piclist-obsidian
  • Expiration:建议选择 90 天或 1 年;
  • Repository access:Only select repositories
  • 只选择刚才创建的 obsidian-images;
  • Repository permissions → Contents:Read and write

其他权限通常不需要开启。Token 只会显示一次,复制后立即保存到安全位置。

如果 Token 泄露,应立即在 GitHub 中删除并重新生成。不要把 Token 写进笔记、截图或公开仓库。

第四步:配置 Obsidian 自动上传

1. 关闭安全模式

打开 Obsidian 设置,进入 第三方插件,关闭安全模式。Obsidian 会提示第三方插件可能带来数据和隐私风险,安装前应确认插件来源可信,并先备份笔记库。

关闭 Obsidian 安全模式

2. 打开社区插件市场

关闭安全模式后,点击“社区插件市场”的浏览按钮,搜索并安装 Image auto upload。

打开 Obsidian 社区插件市场

搜索 Image auto upload 插件

插件名称、作者和功能可能随版本变化,安装前请核对插件说明和更新日期。

3. 设置 PicList 上传接口

打开 Image auto upload 插件设置:

  • 开启“剪贴板自动上传”;
  • 默认上传器选择 PicGo(app);
  • 上传接口填写 http://127.0.0.1:36677/upload;
  • 删除接口按插件提示填写,通常为 http://127.0.0.1:36677/delete。

配置时确认 PicList 正在运行,并且 PicList 的 PicGo server 功能已经开启。

Image auto upload 插件配置

第五步:粘贴图片自动上传

在 Obsidian 中直接粘贴或拖入图片,插件会调用 PicList 上传到 GitHub,并生成 Markdown 链接。也可以先在 PicList 中手动上传,再复制链接到笔记。

Obsidian 粘贴图片自动上传演示

建议开启时间戳重命名,避免不同图片使用同一个文件名而互相覆盖。

常见问题

图片上传成功但无法访问

依次检查:

  1. GitHub 仓库是否为 Public;
  2. 分支名是否与仓库实际分支一致;
  3. 文件是否已经出现在仓库中;
  4. jsDelivr 地址是否包含用户名、仓库名和正确分支;
  5. jsDelivr 是否存在缓存延迟。

上传提示 403 或 Permission denied

通常是 Token 权限不足或已过期。检查 Contents 是否为 Read and write,并确认 Token 授权给了正确的图片仓库。

图片更新后仍显示旧版本

jsDelivr 可能缓存旧文件。最省事的做法是使用时间戳重命名,让每次上传生成新文件名,而不是反复覆盖同一张图片。

GitHub 图床稳定吗?

没有免费服务能保证永久稳定。账号、仓库、GitHub 访问和 jsDelivr 可用性都可能受网络或平台策略影响。重要图片至少保留一份本地原图,并定期备份仓库。

手机端能自动上传吗?

PicList 和 Obsidian 插件的主要工作流在桌面端。手机端能否使用取决于 Obsidian 插件、PicList 服务和应用权限,需以当前版本的实际支持情况为准。

最终检查清单

  • GitHub 图片仓库已设为公开;
  • Token 只授权图片仓库的 Contents 读写权限;
  • PicList 能成功上传图片;
  • jsDelivr 图片链接可以在无登录状态下打开;
  • Obsidian 已安装并启用 Image auto upload;
  • 粘贴图片后可以自动生成 Markdown 链接;
  • 已开启时间戳重命名;
  • 本地保留了原图备份;
  • 没有上传敏感或私密图片。

总结

PicList + GitHub + jsDelivr 的组合可以显著减少 Obsidian 插图时的手工操作,图片文件也更容易整理和迁移。它不是“零维护”的永久图床,但对个人笔记和低流量博客来说,是一套成本低、流程清晰的实用方案。

把 Token 权限控制到最小、使用最新稳定版软件、保留本地备份,并接受免费 CDN 可能变化,才能让这套方案用得更久。