Configuring dsh-bili-whale
DeepSeek Harness loads settings from ~/.dsh/bili-whale.config.json; credentials are kept separately in ~/.bili-ai/credentials.json and are not echoed in the settings page. The settings page can configure the owner, activity windows, sharing, message polling, notifications and risk controls. New installations use conservative values:
| Setting |
Documented default |
| Comment polling |
Off |
| Direct-message polling |
On, every 60 seconds |
| All-day listening |
Off |
| Request interval |
1500 ms |
| Read budget |
600 per hour, 3000 per day |
| Write budget |
12 per hour, 30 per day |
| Write cooldown |
120 seconds |
| Direct-message cooldown |
60 seconds |
| Daily sharing limit |
3 items |
| Minimum share score |
13 out of 20 |
The persona editor writes ~/.bili-ai/persona.md; DeepSeek Harness also hot-loads ~/.dsh/AGENTS.md for all sessions. Persona text is limited to the first 3000 characters when prompts are built.
Commands in dsh-bili-whale
The bundled CLI is run with node bili.mjs. selftest checks configuration, credentials, login state, data directories and dependencies. traffic status reports the effective request-protection values. dm --status shows the direct-message status, dm --msg "..." --dry previews a message, and dm --msg "..." --go sends it. debrief <BV> --substrip prepares a hard-subtitle strip for frame-based reading.
How dsh-bili-whale behaves
DeepSeek Harness wakes the dedicated session at a random time in the configured window. Sharing uses either a public comment mentioning the owner or a direct message, and shares the same quota and validation checks. Owner replies can be sent directly; other replies are queued for approval. Rate-limit, captcha and related platform signals stop writing.
Requirements and limits
DeepSeek Harness requires Node 18+ for this plugin. ffmpeg must be on PATH for frame extraction. Direct-message mode requires two distinct, logged-in Bilibili accounts that manually follow each other; one account cannot provide that separate identity. HTTP routes accept loopback traffic behind DeepSeek Harness’s trust fence.
Written from the project's own documentation and kept in sync with it. Where the two disagree, the source is authoritative — read the README on GitHub