Introduction¶
When adding a plugin to DSH, a common requirement is to publish your Markdown notes to your blog following your original habits: preserving original categories and drafts, and sending local images and audio/video directly to the blog’s object storage. The philosophy of DeepSeek Harness (DSH) is “Everything is a plugin,” and the community plugin directory is an independent site with no official affiliation with DeepSeek or Fangfang. The plugin introduced in this article is hosted in this directory.
The joeseesun/qiaomu-blog-publisher-dsh introduced below is the DeepSeek Harness version of the original Qiaomu Blog Publisher. The maintainer is joeseesun. It is categorized under “Workflows” in the community directory and currently has 1 star. It retains the original publishing popup, categories, and settings page, making it suitable for people already using Qiaomu Blog who want to continue publishing within Harness.
What is This¶
One-sentence definition: A DSH plugin to publish Markdown notes to your own Qiaomu Blog, directly using the original Obsidian plugin’s publishing popup, categories, and settings page. Repository version 0.1.3, compatibility updates for DeepSeek Harness 0.2.2-rc.1, license MIT.
It solves the problem: no need to copy notes to other directories, no need to manually transfer media, no loss of the original plugin’s category and draft workflow, and completing the publish within the Harness sidebar.
Core Features¶
- Title is automatically extracted from frontmatter, H1, and filename in order, and can be modified in the original publishing window.
- Retrieves blog categories, choose draft or direct publish; displays upload progress, success count, failure reasons, and retry entry points.
- Standard Markdown images and Wiki embeds, automatically uploading local images, audio, and video to the blog R2, forwarding third-party images and rewriting links.
- Markdown work directory, file import, draft recovery, save conflict protection, and synchronization with external modifications.
- Original connection settings, API Token testing; Token is stored in the system secure credential database.
Installation and Enabling¶
First, let’s look at the environment requirements. The README states requirements for DeepSeek Harness 0.2.2-rc.1, Node.js 24.9 or newer; the package.json engines list supports Node >=22, dsh for 0.2.1-rc.3 ~ 0.2.1-rc.5 || 0.2.2-rc.1.
The installation does not use a shortcut command with name concatenation, but instead downloads the tgz and SHA256SUMS from Releases, verifies, and installs:
dsh plugin --profile desktop add /absolute/path/qiaomu-blog-publisher-dsh-0.1.3.tgz
The path needs to be replaced with the actual downloaded location. Releases address: https://github.com/joeseesun/qiaomu-blog-publisher-dsh/releases.
After enabling, open the sidebar “Qiaomu Blog Publisher”, import Markdown, fill in your blog address and API Token in settings, and click “Publish to Blog”. By default, a draft is created; selecting “Direct Publish” will make the article public.
Typical Usage¶
-
Import. Supports Markdown, media, and the original plugin’s
data.json. Place media inattachments, preserving the corresponding paths in Markdown; the full directory can be directly configured asnotesDir. -
Configure Directory. The default notes directory is:
$DSH_HOME/qiaomu/qiaomu-blog-publisher-dsh/notes
When DSH_HOME is not set, it is ~/.dsh. The plugin configuration item notesDir points to the explicitly selected notes directory, and dataDir specifies the plugin status directory; both use absolute paths. Single Markdown file limit 2 MB, attachments limit 32 MB, and does not follow symlinks inside the work directory.
-
Migrate Old Config. Importing old config will migrate the Token to macOS Keychain, Windows DPAPI, or Linux Secret Service; the new status JSON does not save the Token, and the old config will not be deleted. Linux requires
secret-tooland Secret Service. -
Publish. Default draft; select “Direct Publish” in the publishing window when public publication is needed. When media upload fails, the original behavior is retained: the article can be created, the plugin will report the failure count, and you will need to check the media links in the article later.
Applicable Scenarios and Notes¶
Suitable for users already using Qiaomu Blog and whose blog supports the original Qiaomu Blog API. If you are only occasionally publishing articles, manual drag-and-drop might be more direct than setting up a plugin.
A few points to note:
- The repository README tests only send to local fixtures and have not been submitted to a real blog or R2; Windows/Linux credentials have not undergone corresponding system hardware verification; specific boundaries can be seen in the repository’s migration records and compatibility verification records.
- The plugin runs with the permissions of the current DSH process. You should check the source code and license (MIT) before installing. The original frozen source is from
5d41358f707320c2f56016bf62327eb60d8668b8; packaging dependencies can be found in the repository’s THIRD_PARTY_NOTICES. - The repository publishes verified tgz files and does not directly provide
dsh plugin add github:owner/repostyle installation commands; do not concatenate names manually.
Conclusion¶
The value of this plugin lies in porting the original publishing workflow directly into Harness, retaining the original behaviors for categories, drafts, media forwarding, and credential security. It is suitable for scenarios where you use Markdown as your working draft long-term and Qiaomu Blog as your publishing site.
Directory page: https://www.skillhub.cn/plugins/joeseesun/qiaomu-blog-publisher-dsh
Repository: https://github.com/joeseesun/qiaomu-blog-publisher-dsh
Do you need me to verify a specific functional detail, or adjust the length of a section?