In DeepSeek Harness (DSH) Web client development, we often need to handle audio content within conversation flows. This plugin provides DSH with an integrated podcast player, seamlessly embedding it into the conversation interface and offering playback control, subscription management, and AI tool integration.
Plugin Introduction¶
This is a plugin developed by jerryqx, integrating the Xiaoyuzhou podcast player into the DeepSeek Harness Web client. It addresses the need to listen to podcasts directly in AI conversations, manage subscriptions, and control playback through AI. The plugin is licensed under the MIT License.
Core Features¶
1. Playback and Control¶
- Login-free Listening: Supports opening episodes by pasting a Xiaoyuzhou share link (
https://www.xiaoyuzhoufm.com/...or a short link). The audio proxy supports Range requests and progress-bar seeking. - Playback Speed: Supports cycling through 0.75x / 1x / 1.25x / 1.5x / 2x speeds.
- Volume Control: The playback bar supports a slider to adjust volume (0-100%), one-click mute/restore, and local persistence of volume settings.
2. Subscriptions and State¶
- Subscription Management: Supports subscribing to frequently listened programs locally. The state file is located at
~/.dsh/xiaoyuzhou/state.jsonand persists across restarts. - Resume Playback: Playback progress for each episode is automatically remembered, and replaying resumes from the last position (progress is recorded only after playing for more than 30 seconds).
3. Content Display¶
- Shownotes Reading and Whitelist Rendering: Episode details support safe rendering using whitelist tags and an image proxy.
4. Login and Extensions¶
- QR Code/SMS Login: Unlocks keyword search, subscription sync, loading all episodes of a program, and playing purchased paid episodes.
- AI Tool Integration: Registers the
podcast_playmodel tool, supporting direct playback control via AI instructions (pause/resume/stop/previous episode/next episode). After logging in, keyword search playback is supported.
Installation and Enablement¶
Run the following command in the terminal to install the plugin:
dsh plugin --profile web add dsh-xiaoyuzhou
After installation, restart DSH Web and refresh the page to use it.
Verify that the installation is active:
dsh web --dump-config | grep -i "xiaoyuzhou\|xyzfm"
Typical Usage¶
- Play an Episode: In the DSH panel, click the button on the right side of the playback bar and paste a Xiaoyuzhou share link on the “Open” page to play it.
- Keyword Search: After logging in (via QR code or SMS), enter a keyword in the search box at the bottom of the panel to find programs or episodes.
- AI Instruction Control:
- Directly play a link:
播放 https://www.xiaoyuzhoufm.com/episode/xxx - Play the latest episode:
播放最新一期科技早知道
- Directly play a link:
- View Details: Click the playback bar to view Shownotes.
Use Cases and Notes¶
- Permissions and Source Code: The plugin runs with DSH process permissions. Please ensure you have reviewed the source code before installation.
- Login Risks: Third-party login (QR code/SMS) carries the possibility of being subject to Xiaoyuzhou risk-control measures or account BANning. The Token is stored only locally.
- Feature Limitations:
- In login-free mode, only the most recent ~15 episodes of a program can be fetched.
- Paid episodes must be purchased in the app and can be played after logging in.
- The audio proxy relies on a mobile UA to bypass the Xiaoyuzhou WAF; if the site policy changes, it may stop working.