Introduction¶
Integrating Bilibili into characters in DSH usually involves writing scripts to scrape APIs and manually stitching prompts. Video metadata, subtitles, comment quotas, and Cookie maintenance are all piled into the same logic, making it easy for the model to mistakenly trigger the “actually post a comment” path. dsh-foxy-bili condenses “picking a few videos from the popular feed → reading info → deciding based on persona → optionally writing memory/posting comments” into a sub-plugin under the Foxy ecosystem: decisions only output JSON, network writes are handled by the plugin, and the model cannot access Bilibili tools, the Shell, or the file system. Below, I introduce what it is, how to install it, and how to enable features in the recommended order.
What is it¶
- Name:
dsh-foxy-bili(same as npm package name) - Maintainer: Kun-Fox
- Category: Network Tools (classified in the community directory)
- License: MIT (
package.jsonshows version0.8.5, requires Node>=20) - Positioning: A Foxy Bilibili sub-plugin running on DeepSeek Harness — periodically fetching a small number of videos from Bilibili’s popular feed (no full-site scraping), reading titles, descriptions, UP owners, duration, views/likes/comments, and reading subtitles when available; then using Foxy’s DSH agent to choose between
skip/remember/comment, with comments and memory processed by preset personas.
Dependencies: Requires dsh-foxy; Memory is optional dsh-foxy-memory, can connect to koishi-plugin-chatluna-foxy-memory for cross-platform storage.
Core Features¶
Browsing and Judging¶
- Pull videos from the popular feed at a configured interval; filters include quantity per run, daily time slots, daily video limit, and interest keywords/categories.
- The agent outputs three types of decisions:
skip: Boring/ads/sensationalist titles, skip;remember: Interesting but not necessarily worth commenting publicly, make a note;comment: Something worth saying in the comments section.
skipdoes not write to memory;remember, comments, manual comments, and comment replies are written to the Foxy memory provider (defaultfoxyMemory,scene: bilibili). RequiresenableMemory: trueand the memory plugin installed.
Comments and Replies¶
- Comments are only posted automatically when
commentMode: autoand the daily quota is not exhausted; defaultcommentMode: off,maxCommentsPerDaydefaults to1. - Active comments can include
@Nicknameas configured; when replying to others, the reply relationship is already displayed by Bilibili, so the body no longer repeats@. - Auto-reply only once per video within 24 hours to avoid multiple @ notifications for a single video.
- Can check for “Replies to me” and “Mentions me” to reply after viewing the original video; intervals and per-round limits are configurable.
- The settings page provides “Comment once immediately” for verification, which does not consume the auto-comment quota but will actually post.
Security Boundaries¶
The model always outputs JSON only; Cookie posting, commenting, and writing memory are all executed locally by the plugin, reducing the risk of prompt injection privilege escalation via video titles/subtitles.
Installation and Activation¶
The official README provides the installation example (local path, please replace according to your local plugin directory):
dsh plugin --profile desktop add file:D:\Documents\deepseek-harness\default-workspace\dsh-foxy-bili
After installation, restart DSH completely. Click Foxy-bili in the left sidebar, or Settings → Foxy-bili. You can use it daily without manually editing cordis.patch.yml; foxy-bili.config in cordis.patch.yml is only for initial defaults, and will be written to the local JSON after saving in the settings page.
Persistent configuration path:
~/.dsh/foxy-bili/settings.json
Copy this file when migrating or backing up.
What the Settings Page Manages¶
The settings page and the left sidebar Foxy-bili entry are the same interface, mainly including:
- Account & Login: Scan to login / Logout, display current account;
- AI Model: Follows DSH’s current model, or connects directly to OpenAI-compatible API (Base URL, Model Name, API Key);
- Browsing Mode: Auto-browsing, interval, quantity per run, daily time slots, daily video limit, interest keywords/categories, comment mode, daily comment limit;
- Comment Features: Default @ owner, mention whitelist, reply to others’ comments, nested replies, comment once immediately;
- Comment Replies: Check notifications, interval, max replies per round;
- Run & Logs: Run immediately, check comment notifications immediately, previous run statistics and per-item records;
- Memory & Startup: Write to Foxy memory, auto-run after DSH starts (
runOnStart); - Debug: Log model decisions, memory writes, and notification handling, to troubleshoot “why skipped” / “why no memory written”.
Scan-to-Login Flow¶
After clicking “Scan to Login”: Calls Bilibili’s passport to generate a QR code and renders it locally; polls every 2 seconds, for up to about 3 minutes; upon success, extracts SESSDATA, bili_jct, DedeUserID, and buvid3 from Set-Cookie, and writes them only to settings.json, without returning them to the frontend. Click again when expired.
Direct Model Connection¶
The default llmMode: dsh uses DSH’s current model. If the provider transmission is unstable, you can switch to Direct API, filling in the base address (default https://api.deepseek.com), model name (default deepseek-chat), and API Key; the plugin requests <BaseUrl>/chat/completions. The Key is stored locally only, and the settings page only shows whether it is configured or not.
Typical Usage: Recommended Safe Order¶
The README recommends enabling features in the following order to reduce the risk of mistaken activity and account issues:
- Scan to login,
enabled: true,commentMode: off. - Click “Run immediately” to see which videos it selected and what memory it wrote in the logs.
- After confirming the filtering is reasonable, change to
commentMode: auto,maxCommentsPerDay: 1. - Use “Comment once immediately” when you need to verify comments.
- Public comments carry risk control risks; do not set a high frequency right away. Do not fill in
ownerUid/ownerNamefor strangers.
Common configuration fields (full table in the repo README) include: intervalMinutes (default 90), maxVideosPerRun (default 5), dailyVideoLimit (default 20), presetId / presetPath, mentionOwner, replyOthers, nestedReplies, debug, etc. cookie and llmApiKey do not appear in plain text in the settings page, only showing login/configuration status.
Applicable Scenarios and Notes¶
Who is it for: Developers or advanced users already using Foxy personas and memory in DSH who want the agent to passively “browse popular feed, selectively remember or occasionally comment”; not suitable for solutions requiring full-site search, following feeds, or official open APIs.
Runtime Permissions: The plugin accesses local configuration and Bilibili web interfaces with the current DSH process permissions; it is advisable to browse the GitHub repository source code and MIT license before installing to assess account and Cookie risks yourself.
Limitations (from source text):
- Bilibili has no official open comment API, relying on web Cookies; changes in WBI/risk control may cause failures.
- Subtitles often require login; when unread, judgment relies only on titles/descriptions.
- Whether comments are displayed is decided by moderation; the plugin can only submit.
- Only the popular feed, no full-site search/following feeds.
- Daily browsing limits are counted based on the local date; “Run immediately” is not intercepted by time slots/limits, facilitating debugging.
The community plugin directory Kun-Fox/dsh-foxy-bili on SkillHub and GitHub are independent sources of information and have no official affiliation with DeepSeek / Huaxuan; the DSH ecosystem advocates “everything is a plugin”, and the facts in this article are based on the repo README and package.json.
Conclusion¶
dsh-foxy-bili weaves Bilibili popular feed browsing, subtitle-assisted judgment, persona-based skip/remember/comment decisions, and Foxy memory into a configurable automated chain, keeping the model outside the JSON decision layer. To enable from scratch: install plugin and restart DSH → Scan → Run a couple of rounds with comments off to check logs → Then enable auto-comments and reply notifications as needed.
- Directory page: https://www.skillhub.cn/plugins/Kun-Fox/dsh-foxy-bili
- Source code and docs: https://github.com/Kun-Fox/dsh-foxy-bili