Preface¶
In DSH (DeepSeek Harness), content production often involves more than just “generating a Markdown snippet.” It also requires screenshots, screen recordings, rendering Markdown into Xiaohongshu image-text cards, generating self-contained HTML for CSDN/WeChat Official Account pasting, and finally calling the dev.to/Medium APIs to publish. When these steps are scattered across different scripts, browser paths, and permissions, issues such as missing tools, inconsistent environments, and a lack of manual confirmation before publishing often arise.
dsh-content-studio is a content creation and multi-platform distribution bundle plugin for DeepSeek Harness (DSH). The DSH ecosystem emphasizes modular combination. The community directory is an independent site with no official affiliation to DeepSeek or Huanfang; this article only introduces the plugin itself.
What is it¶
The one-sentence positioning of dsh-content-studio is: A content creation and multi-platform distribution bundle plugin for DeepSeek Harness (DSH).
The repository URL is https://github.com/ZRui-C/dsh-content-studio. The “ZRui-C” in the repository path serves as the GitHub account identifier; verified materials do not separately confirm the “Maintainer” field, so this article does not infer the maintenance status based on this.
It places the following within a single plugin:
- Material Generation: Text-to-image, macOS desktop screenshots, fixed-duration MP4 screen recording.
- Content Rendering: Markdown to Xiaohongshu image-text cards, self-contained layout HTML.
- Content Publishing: Official API publishing to dev.to/Medium.
- Manual Confirmation: Draft persistence to disk, browser floating review panel, approve or reject.
- External Capability Mounting: Playwright MCP, xhs-mcp.
Core Features¶
The following explains the capabilities by type.
Text-to-Image¶
content_text_to_image supports text-to-image using Nano Banana / Gemini 2.5 Flash Image, requires API key. It can be used to generate cover images, background images, and illustrations.
Desktop Screenshots and Screen Recording¶
content_screenshot: macOS desktop screenshots, supports full screen, region, and delay.content_screen_record: Uses ffmpeg AVFoundation for fixed-duration MP4 screen recording, automatically detects screen/microphone devices, supports microphone and cropping regions.
Markdown to Xiaohongshu Cards¶
content_md_to_cards renders Markdown into Xiaohongshu image-text cards using Chrome headless rendering.
Core Specifications:
- Cover card + sections divided by H1/H2 into cards.
- Card size: 1242×1660 (3:4).
- 5 color schemes × 4 layouts.
- Supports
illustrations. - Supports background images with readability masks.
Self-contained Layout HTML¶
content_md_to_html generates self-contained layout HTML, suitable for preview, CSDN pasting, and WeChat Official Account pasting.
dev.to / Medium Publishing¶
content_publish_devto: Official Forem API publishing, supports draft/direct.content_publish_medium: Official Medium API publishing, supports draft/direct.
Manual Review Gate¶
content_review_open / status / refresh / close provides a persistent manual review workflow:
- Drafts are saved to
~/.dsh/content-studio-output/review/draft.json. - Browser floating review panel provides three tabs: “Review”, “Publish”, “Settings”.
- Panel allows real-time preview of cards.
- Users can modify text, colors, layouts, and publish copy.
- Users can choose to approve or reject.
External MCP Capabilities¶
- Playwright MCP (
mcp__playwright__*): Web screenshots, session recording, UI automation, using system Chrome. - xhs-mcp (
mcp__xhs__*): Xiaohongshu login, image-text/video publishing, search.
Installation and Enablement¶
First, confirm that the local machine meets the runtime requirements, then choose an installation method. Choose one of the two; both register the same tool name, and mounting them simultaneously will fail due to name conflicts.
Environment Requirements¶
It is recommended to check the following first:
- macOS.
- ffmpeg:
brew install ffmpeg. - Google Chrome.
- AI image generation requires
GEMINI_API_KEY. - dev.to publishing requires
DEVTO_API_KEY. - Grant “Screen Recording” permission to the terminal running DSH.
- Xiaohongshu requires a one-time scan login:
mcp__xhs__xhs_auth_login.
If AI image generation is needed, go to https://aistudio.google.com/apikey to create a Gemini API key, then set GEMINI_API_KEY or pass api_key during invocation.
If dev.to publishing is needed, go to dev.to/settings/extensions to create an API key, then set DEVTO_API_KEY.
You can also avoid setting environment variables directly and instead configure them in the “③ API Keys” section of the review panel. Configurations are saved to ~/.dsh/content-studio-output/keys.json, and the panel only displays the configured status.
Bundle Installation (Recommended)¶
Bundle installation installs the plugin into DSH’s web profile. The recommended command is:
dsh plugin --profile web add dsh-content-studio
To install from a specific branch on GitHub, you can use:
dsh plugin --profile web add "github:ZRui-C/dsh-content-studio#main"
For local development paths, you can use:
dsh plugin --profile web add ~/Projects/dsh-content-studio
Restart DSH for changes to take effect.
Preset Copy Installation¶
Preset copy installation copies the local repository to the DSH preset directory, then selects that preset in a new session. First, confirm there is already a local repository copy, then execute:
rsync -a ~/Projects/dsh-content-studio/ ~/.dsh/.agent-presets/content-studio/
After completion, select the “Content Studio” preset in a new session.
Typical Usage¶
Below are several reproducible usage paths.
Rendering Cards and Entering Review¶
Prepare a Markdown draft first. The main order for the review workflow is:
content_md_to_cardsrenders cards (PNG).content_review_opensaves the draft to disk and pops up the browser review panel.- Process based on the status of
content_review_status:edited: Re-render with modified fields, then callcontent_review_refresh.approved: Publish using the publish copy in the panel, then callcontent_review_close.rejected: Re-open review after modifying based on panel feedback.
After the above steps, the closed loop of “Render cards — Manual confirmation — Publish / Reject” can be completed.
Card Styles¶
Card styles are composed of two independent dimensions: color scheme and layout.
Color schemes (5 sets total):
xhs-softxhs-darkplainforestsunset
Layouts (4 types total):
classicmagazineposternotebook
Image and background image support:
- Markdown image syntax:
. - Background image:
bg_image, can be URL or local path, with a semi-transparent thematic mask to ensure text readability. - AI image generation:
content_text_to_imagecan generate cover, background, or illustrations; the resulting local path can be used asbg_imageor used in Markdown image syntax.
Publishing Channels¶
The channels and limitations for different platforms are as follows.
| Platform | Channel | Limitations or Notes |
|---|---|---|
| Xiaohongshu | mcp__xhs__* |
Title ≤ 20 chars, Body ≤ 1000, 1–18 images, 3:4 is best |
| dev.to (Forem) | content_publish_devto |
Official API, ≤ 4 tags |
| Medium | content_publish_medium |
Official API, ≤ 5 tags |
| Juejin | Optional mcp-juejin / Playwright UI automation |
Optional channel |
| CSDN / WeChat Official Account | content_md_to_html |
Uses self-contained HTML for pasting |
| V2EX | bash + token API | Promotional posts |
Verifying Review Panel¶
If you plan to state “Review panel is visible” externally, run the verification gate first. The script below checks the review panel related links:
DSH_DEPLOY=/path/to/dsh ./scripts/verify-panel.sh
All five layers must pass before claiming the panel is visible; if there is a FAIL, fix it according to the script prompt and restart DSH to run again.
Cross-Machine Notes¶
When switching machines or environments, pay attention to:
cordis.patch.ymlpins xhs-mcp to the author’s Chrome binary (PUPPETEER_EXECUTABLE_PATH). When switching machines, either change it to the target machine path or delete the environment variable and runnpx xhs-mcp browserto download Chromium yourself.- Desktop screenshots/recording are currently only for macOS, relying on screencapture/AVFoundation; Linux/Windows adaptation is on the roadmap.
- Review drafts are located at
~/.dsh/content-studio-output/. - Card rendering requires local Chrome, or use
CHROME_PATHto point to a Chromium-based browser.
Applicable Scenarios and Notes¶
Suitable for users who:
- Run DSH on macOS and need to convert Markdown into Xiaohongshu image-text cards.
- Need to prepare dev.to/Medium publishing copy simultaneously.
- Need manual confirmation before publishing.
- Want to centrally manage screenshot, screen recording, card rendering, HTML generation, and publishing tools.
Must note before use:
- The plugin runs with the current dsh process permissions; check the source code and MIT license before installing.
- Text-to-image requires
GEMINI_API_KEYor passingapi_keyduring invocation. - dev.to publishing requires
DEVTO_API_KEY. - Desktop screenshots/recording require the terminal running DSH to have “Screen Recording” permission.
- Xiaohongshu requires a one-time scan login:
mcp__xhs__xhs_auth_login. - Review panel availability depends on verification gate results.
- Platform restrictions for Xiaohongshu, dev.to, Medium, etc., must be checked before publishing.
References¶
- GitHub: https://github.com/ZRui-C/dsh-content-studio
- Directory page: Verified materials for this session do not confirm the directory page URL; you can search the DSH plugin directory by the plugin name
dsh-content-studio.