解决的问题

Markdown 和 Obsidian 写作最舒服的地方,是写作时可以只管内容;但最烦的地方,也经常在发布时出现:文字很好复制,图片不一定跟得上。

本地文章里的图片可能是这样:

![[Pasted image 20260603102000.png]]
![](./images/cover.png)
<img src="./img/screenshot.png" />

它们在 Obsidian、Typora、VS Code 或本地博客里大多能正常显示,但一复制到公众号、知乎、掘金、个人博客或其他发布系统,问题就开始出现:平台读不到本地附件,相对路径可能失效,迁移后的知识库也可能只剩文字、图片丢失。

NotePic-OSS 解决的就是这个发布前的图片收尾问题。

它做什么

NotePic-OSS 会把文章里的本地图片统一上传到阿里云 OSS,然后把原文里的图片链接原地替换成云端地址。

处理前:

![[architecture.png]]
![](./assets/demo.png)

处理后:

![](https://your-cdn.example.com/markdown/architecture.png)
![](https://your-cdn.example.com/markdown/demo.png)

这样文章复制到多个平台时,图片已经是稳定的云端地址,不需要每个平台重新补一遍图。

它重点处理内容系统里最容易出问题的部分:

  • 解析 Markdown、MDX、HTML 中的图片引用
  • 将本地图片上传到阿里云 OSS
  • 对支持的图片资源进行压缩
  • 基于哈希做去重,避免重复上传
  • 将本地路径替换为 OSS 远程地址
  • 识别 Obsidian wikilink、Markdown 图片、HTML 图片等常见写法

两种使用方式

  • Obsidian 插件:适合写完文章后处理当前笔记里的图片,再复制到公众号、知乎、掘金或博客系统。
  • CLI 工具:适合工程项目、博客仓库、CI、批量迁移或批量处理 Markdown / MDX / HTML 文件。

我希望它把“每次发布都要手动整理图片、上传图片、替换链接”的动作,压缩成发布前的一次点击或一条命令。

当前状态

项目已经免费开源,并作为 lab 工具持续维护。目前优先支持阿里云 OSS,因为这是我自己每天真实使用的场景。

主要入口:

下一步

后续重点会围绕真实发布场景继续打磨:补充安装和配置文档,完善 Obsidian 与 CLI 的使用示例,并根据反馈评估腾讯云 COS、S3、七牛云、又拍云等更多存储支持。