Problem

Markdown and Obsidian are comfortable for writing because you can focus on the article first. The annoying part often arrives later: text is easy to copy, but images do not always follow.

Local image references often look like this:

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

They work inside Obsidian, Typora, VS Code, or a local blog repository. Once the same article is copied to WeChat, Zhihu, Juejin, a personal blog, or another publishing system, paths become unreliable. The platform cannot read local attachments, relative paths may break, and migrated knowledge bases can end up with text intact but images missing.

NotePic-OSS solves this pre-publishing image cleanup step.

What It Does

NotePic-OSS uploads local images from an article to Aliyun OSS, then replaces the original image links in place with remote URLs.

Before:

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

After:

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

After that, the Markdown can be copied across platforms while the images remain hosted URLs instead of local files.

It focuses on the pieces that usually break in content systems:

  • Parse image references from Markdown, MDX, and HTML
  • Upload local images to Aliyun OSS
  • Compress supported assets before upload
  • Use hash-based deduplication to avoid repeated uploads
  • Replace local paths with remote OSS URLs
  • Recognize common image forms including Obsidian wikilinks, Markdown images, and HTML images

Two Ways to Use It

  • Obsidian plugin: process images in the current note before copying the article to publishing platforms.
  • CLI tool: process Markdown, MDX, or HTML in engineering projects, blog repositories, CI jobs, migrations, or batch workflows.

The goal is simple: turn repeated image cleanup before every publication into one click or one command.

Current Status

The project is free, open source, and maintained as a lab tool. It currently prioritizes Aliyun OSS because that is the real workflow I use every day.

The primary entry points are:

Next

The next useful direction is to keep improving the real publishing workflow: clearer installation and configuration docs, better Obsidian and CLI examples, and storage-provider expansion based on user feedback, including Tencent Cloud COS, S3, Qiniu Cloud, or UpYun.