解決的問題

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、七牛雲、又拍雲等更多儲存支援。