

解决的问题
Markdown 和 Obsidian 写作最舒服的地方,是写作时可以只管内容;但最烦的地方,也经常在发布时出现:文字很好复制,图片不一定跟得上。
本地文章里的图片可能是这样:
![[Pasted image 20260603102000.png]]

<img src="./img/screenshot.png" />
它们在 Obsidian、Typora、VS Code 或本地博客里大多能正常显示,但一复制到公众号、知乎、掘金、个人博客或其他发布系统,问题就开始出现:平台读不到本地附件,相对路径可能失效,迁移后的知识库也可能只剩文字、图片丢失。
NotePic-OSS 解决的就是这个发布前的图片收尾问题。
它做什么
NotePic-OSS 会把文章里的本地图片统一上传到阿里云 OSS,然后把原文里的图片链接原地替换成云端地址。
处理前:
![[architecture.png]]

处理后:


这样文章复制到多个平台时,图片已经是稳定的云端地址,不需要每个平台重新补一遍图。
它重点处理内容系统里最容易出问题的部分:
- 解析 Markdown、MDX、HTML 中的图片引用
- 将本地图片上传到阿里云 OSS
- 对支持的图片资源进行压缩
- 基于哈希做去重,避免重复上传
- 将本地路径替换为 OSS 远程地址
- 识别 Obsidian wikilink、Markdown 图片、HTML 图片等常见写法
两种使用方式
- Obsidian 插件:适合写完文章后处理当前笔记里的图片,再复制到公众号、知乎、掘金或博客系统。
- CLI 工具:适合工程项目、博客仓库、CI、批量迁移或批量处理 Markdown / MDX / HTML 文件。
我希望它把“每次发布都要手动整理图片、上传图片、替换链接”的动作,压缩成发布前的一次点击或一条命令。
当前状态
项目已经免费开源,并作为 lab 工具持续维护。目前优先支持阿里云 OSS,因为这是我自己每天真实使用的场景。
主要入口:
- 项目页:NotePic-OSS
- 代码仓库:Luhui-Dev/notepic-oss
下一步
后续重点会围绕真实发布场景继续打磨:补充安装和配置文档,完善 Obsidian 与 CLI 的使用示例,并根据反馈评估腾讯云 COS、S3、七牛云、又拍云等更多存储支持。