dsh-qq: Let DeepSeek Harness Agents Send Messages and Reply Automatically on Local QQ
rewebaiyu/dsh-qq
A DSH plugin that connects DeepSeek Harness agents to local QQ via NapCat (OneBot 11) for messaging, auto-replies in group chats, and a web admin panel.
dsh-qq is a DSH plugin that turns a local QQ client into a messaging channel for Agents inside DeepSeek Harness. It addresses the gap that Agents cannot reach QQ group chats: the channel runs through a local NapCat instance using OneBot 11 HTTP endpoints and event push, so the plugin never adds friends or touches the protocol. Once enabled, Agents can send private and group messages, read recent conversations and unread counts, and reply automatically in groups based on @-mentions, nicknames or question probability, all managed from a web panel for persona, allowlists, rate limits and usage.
How to Install
dsh plugin --profile web add github:rewebaiyu/dsh-qq- Category
- Tools & Capabilities
- Platform
- DSH Plugin
- Author
- rewebaiyu
- Distribution
- Plugin
dsh-qq Key Features
dsh-qq Repo Summary
What Does It Do?
It is a DSH plugin for DeepSeek Harness that lets Agents send and receive messages on a local QQ client, reply automatically in group chats, and manage everything from a web panel. It solves the problem of an Agent having no reach into QQ groups: the channel runs through a local NapCat instance (QQNT plus OneBot 11 HTTP), so the plugin never adds friends or touches the protocol and only bridges OneBot's HTTP endpoints and event push into DSH. It relies solely on Node built-in modules with no third-party runtime dependencies, is maintained by ReWebaiyu, and is released under the MIT license.
Core Features
- Six
qq_*tools:qq_statuschecks backend connectivity, port listening, logged-in account and latency;qq_send_privateandqq_send_groupsend by QQ number or group number (group messages can @ specific members);qq_historyreads recent messages, conversations and unread counts. - Automatic group replies: it always answers when @-mentioned or called by name, otherwise picks up question-like messages by probability, using the current default DSH model with no extra key.
- Human-like pacing and rate limits: replies default to 80 characters, add a 0.7–5 second typing delay with jitter based on length, serialize per group, and cap at 8 per group per hour, 30 globally, with a 25-second cooldown per group (8 seconds when named).
- Web admin panel: overview of today's replies and tokens, persona prompt editing with a real-model preview that never posts to the group, listen-group and listen-account allowlists, a 7-day usage chart, and settings for reply probability and cooldowns that apply immediately.
- Sidebar integration: a QQ icon appears in the DSH sidebar and opens the full panel, and the panel can be hidden from the sidebar in settings.
- Backend hosting: the panel can launch NapCat with elevation and wait for the OneBot port (up to 45 seconds), popping a QR login dialog when not signed in.
How to Use This Plugin?
Enable the plugin in DSH and restart; six qq_* tools appear in the tool list and a QQ icon shows in the sidebar. The prerequisite is a local NapCat: QQNT plus NapCat.Shell, launched as administrator with a first-time QR login, and OneBot configured to expose the HTTP server and event push. Then put your token, NapCat install path and target group numbers into your own profile patch, overriding config under id: qq; keep eventToken empty because NapCat's event push carries no Authorization header. Open the admin panel and read the status dot in the top bar: green means connected, yellow offers QR login, red offers a backend start. Day-to-day tuning of persona, allowlists, reply probability and cooldowns happens in the panel, with config and usage stored in data/admin.json.
How to Troubleshoot This Plugin?
If editing plugin code leads to an already-installed error, the ESM cache is stale: remove the bundle and install it again, since a plain reinstall will not refresh it; HTML-only panel changes need no restart, just a page refresh. After changing the event listener port, update NapCat's event push address and restart NapCat, or group messages will not arrive. If QR login cannot fetch a code, NapCat's WebUI may not be ready right after startup, so retry shortly or read the QR code from the NapCat console window.
This page is an independent rewrite of the plugin's official README — for authoritative documentation and the latest changes, refer to the source: rewebaiyu/dsh-qq. 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
