dsh-qqbot-guard: Keyword Passthrough and History Attachments for qqbot on DeepSeek Harness
anwesc/dsh-qqbot-guard
An in-process enhancement layer for the DSH QQ bot plugin, making keyword triggers, chat history context, and media attachments work properly in group chats.
dsh-qqbot-guard is a companion plugin for qqbot within the DeepSeek Harness ecosystem, enhancing the installed qqbot plugin through in-process prototype patches without touching any files on disk. It addresses real pain points: group chats that only reply when mentioned, keywords blocked by the mention gate, images, voice and files collapsing into blank history lines, and emoji reduced to placeholders, handling them with faked mention flags, pre-downloaded attachments and decoded emoji text. It also discovers the qqbot installation automatically, survives qqbot upgrades, and does not depend on plugin startup order.
How to Install
dsh plugin --profile web add dsh-qqbot-guard- Category
- Integrations & Connections
- Platform
- DSH Plugin
- Author
- anwesc
- Distribution
- Plugin
dsh-qqbot-guard Key Features
dsh-qqbot-guard Repo Summary
What Does It Do?
qqbot-guard is a DSH plugin for DeepSeek Harness that acts as a companion enhancement layer for the qqbot plugin, patching it in-process without modifying any qqbot or SDK files on disk. It solves the problems of group chats only replying when mentioned, keyword triggers being blocked by mentionGate, history entries for images, voice and files showing up as blank lines, and emoji appearing as placeholders. Its core capabilities include faking mention flags to let keywords through, pre-downloading attachments to enrich history entries, decoding emoji text, and automatically locating the qqbot installation. It is maintained by anwesc under the MIT license and written in JavaScript.
Core Features
- Keyword passthrough: when a message body hits a configured keyword, it adds an is_you mention flag so mentionGate and slashCommand both treat the message as a mention, which also triggers chat history assembly.
- History attachment enrichment: it pre-downloads image, voice and file attachments at the head of the message chain, then wraps the history store's list to add attachment descriptions with file paths to history entries.
- Emoji decoding: it reads the emoji extension text and uses the name when present, falling back to a generic emoji placeholder instead of guessing from faceId.
- In-process prototype patching: everything is inserted at the head of the middleware chain, so upgrading qqbot does not invalidate the patch and plugin startup order does not matter.
- Automatic qqbot discovery: it locates qqbot by trying explicit config, the sibling node_modules directory, each profile, flat layouts, and walking up from cwd, and logs every attempted path when nothing is found.
How to Use This Plugin?
Install the qqbot plugin in DSH first, since this plugin needs it to obtain the bot instance, then enable this plugin and it takes effect. To adjust parameters you have two options: on mobile, edit qqbot-guard.json in the DSH home directory to set the triggers keyword list, qqbotPackage path and verbose switch; if you can write YAML, override the same entry in the profile patch instead. Restart the app after changing bundles, because bundle changes are not hot-reloaded. If you want it inactive, set enabled to false rather than uninstalling it, since the bundled copy is restored on the next start.
This page is an independent rewrite of the plugin's official README — for authoritative documentation and the latest changes, refer to the source: anwesc/dsh-qqbot-guard. The plugin is third-party code that runs on your machine once installed; inclusion does not imply endorsement — please review the source before installing.
DSH Plugin FAQ
