Preface¶
DeepSeek Harness (DSH) Agent sessions primarily take place within the Web interface. When a user is away from the computer, tasks cannot be sent; after completing a round of conversation in the Web, there are no immediate notifications on the mobile side. A common approach is to set up a separate message bot or develop a custom forwarding layer, which also involves handling issues like public network exposure and permission whitelisting.
dsh-qq-bridge is a client plugin under the DSH Web profile, maintained by TomoyoNatsume. It converts QQ messages into DSH Agent session requests and sends replies back to QQ. The connection uses the local NapCat / OneBot or Tencent’s official QQ Bot, eliminating the need to open external ports specifically for the bridge.
What Is This¶
The purpose of dsh-qq-bridge is straightforward: Send message from QQ → bridge → DSH Agent → reply to QQ.
QQ sends message -> NapCat / OneBot -> dsh-qq-bridge -> DSH Agent -> QQ reply
The plugin is mounted as a DSH bundle, with the npm package name @yachangchang/dsh-qq-bridge (current version 1.0.5) and an MIT license. The community directory page is on SkillHub, and the source code is on GitHub (11 stars). SkillHub is an independent DSH plugin community site with no official affiliation to DeepSeek / High-Flyer.
The default recommendation is NapCat / OneBot: Log in with a single QQ account via NapCat and send messages to yourself from the mobile QQ app, eliminating the need for an additional bot account. It also supports dual-account mode (one account logged into NapCat to receive messages, another to send commands) and Tencent’s official QQ open platform bot path.
Core Features¶
The following capabilities are listed in the README; you can check them before installation based on your needs.
QQ Remote Control Agent
Whitelisted users send tasks directly in QQ; the plugin converts them into DSH live sessions, and the final reply is sent back to QQ.
Workspace, Model, and Session Control
Supports bridge-side commands like /dir, /new-session, /models, /model, /reasoningEff, /permission, etc. Also supports switching common settings using natural language.
Scheduled Reminders and Memos
Supports one-time scheduled tasks starting from v0.4.0; configuration via the Web UI is available starting from v1.0.0. For example, you can say in QQ, “Please remind me to submit the report at 12:00 noon on September 1, 2026.” At the scheduled time, it will trigger the Agent in the same session and proactively remind you. Data is persisted through DSH’s storageDomain.
Web Session Completion Alerts
After a non-QQ-initiated Web session ends, it can proactively send a reminder to the admin’s QQ. Sessions initiated via QQ only return the actual Agent reply. This feature is not supported in the official QQ Bot path.
Dual Access Paths
- NapCat / OneBot: For personal use on the local machine, fully functional, community-driven solution; the secondary account risks being forcibly logged off.
- Tencent’s official QQ Bot: Requires AppID, AppSecret, more stable integration, but fewer features; proactive reminders have quota limits, and the plugin disables
notifications.agentReply.enabledby default in official mode.
Installation and Enabling¶
System Requirements¶
- DSH is installed, and
dsh webstarts normally. - Linux / WSL2 environment; Node.js 20+. The automatic installation wizard currently only supports Linux / WSL2; native Windows users are advised to use WSL2 first.
- NapCat path: NapCat CLI must be installed locally, and a QQ account that can log in via QR code is required.
- Official QQ Bot path: You need to create a bot on the QQ Open Platform and provide AppID and AppSecret.
Installing the Plugin¶
It is recommended to install the stable version from npm:
pnpm dsh plugin --profile web add @yachangchang/dsh-qq-bridge
You can also install directly from the GitHub repository:
pnpm dsh plugin --profile web add github:TomoyoNatsume/dsh-qq-bridge
The plugin will be written to dsh.profile.bundles. Upon installation, it defaults to enabled: false, so it won’t connect to QQ or start the bridge.
NapCat Installation (When Choosing the NapCat Path)¶
Recommended for Linux / WSL2:
cd ~
curl -o napcat.sh https://raw.githubusercontent.com/NapNeko/NapCat-Installer/main/script/install.sh
bash napcat.sh --docker n --cli y
Confirm the command is available:
napcat help
Only NapCat CLI needs to be installed; there’s no need to manually start the QQ background process first. When saving configuration on the settings page, it will execute napcat start <QQ> based on the provided QQ account.
Enabling in the Web UI¶
- Start
dsh web, open the “Settings” in the lower-left corner, and go toQQ bridge. - Select the access method (NapCat / OneBot or Tencent’s official QQ Bot), fill in the admin, Agent model, etc., and click “Save Configuration”. The NapCat branch will detect the local NapCat and automatically write the OneBot forward WebSocket configuration and token (default
127.0.0.1:3001). - After saving successfully, send
pingin QQ to verify. If there is no response, runnapcat log <your QQ account>or check~/Napcat/log/napcat_<your QQ account>.logto confirm if you have scanned the QR code to log in.
For the official QQ Bot, the first-time setup will generate a one-time pair <code>. Send it to the bot from the admin’s QQ account to complete the adminOpenId pairing.
Typical Usage¶
After verifying connectivity, the README suggests trying the following messages in order:
ping
What is the current working directory?
List the directories and files in the current working directory
/dir /home/xxx/project
/models
/model deepseek-v4-pro
/reasoningEff high
/permission workspace-write
/new-session
Help me change the working directory to /home/xxx/project
Please remind me to submit the report at 12:00 noon on September 1, 2026
When a valid QQ command is received, the plugin first replies with agent.ackMessage (default “Received, processing…”), which can be disabled by setting it to an empty string.
Example of a common Agent configuration:
agent:
provider: deepseek-official
model: deepseek-v4-pro
cwd: "~"
preset: dsh-qq-bridge
ackMessage: Received, processing...
cwd: Default working directory for the QQ Agent;/dir <directory>overrides the subsequent session directory for the current QQ session.preset: Dedicated preset for QQ sessions; if not selected for regular Web sessions, the QQ reply style skill will not be applied.
Example of NapCat mode configuration:
platform: napcat
napcat:
wsUrl: ws://127.0.0.1:3001
token: "<NapCat OneBot access token>"
It is recommended to modify configuration in the QQ bridge page of the Web UI; for manual troubleshooting, you can view ~/.dsh/profiles/web/cordis.patch.yml and restart dsh web after making changes.
Use Cases and Considerations¶
Who Is It For
- Developers who need to remotely assign tasks to and receive replies from DSH Agent via mobile QQ.
- People who want to receive QQ reminders after Web sessions end without monitoring the browser progress long-term (NapCat path).
- Users who already have a NapCat environment or are willing to register an official bot on the QQ Open Platform.
Before Using, Please Note
- Permission Boundaries: The plugin runs with the user permissions of the current
dsh webprocess; the Agent’s access to workspaces, files, and networks is consistent with DSH. Before installation, review the source code and MIT license to ensure that the whitelist and admin configurations meet your security requirements. - Access Method Differences: NapCat offers more features but is unofficial; the official bot is more stable but does not support automatic alerts for Web session completion, and proactive messages have quota limits.
- Single/Dual Account Mode: Dual account mode is recommended for new users; single account mode can receive Agent completion alerts but may miss message notifications. It is not advisable to use a rarely used secondary account for the NapCat account logged into DSH.
- Known Limitations: Currently, full interaction via QQ’s “My Computer” session is not supported; such messages can be captured in logs, but the reply chain is incomplete.
- Legacy Migration: When migrating from an older setup to the bundle, startup will automatically clean up old
id: dsh-qq-bridgeentries incordis.patch.ymland leave a.bakbackup in the same directory.
For a more complete architecture description, see the repository’s docs/project-overview.md, and for usage diagrams, see docs/usage-guide.html.
Conclusion¶
dsh-qq-bridge integrates QQ into DSH’s Agent pipeline, enabling message forwarding on the local machine while supporting remote control, model switching, scheduled reminders, and Web session notifications. The DSH ecosystem’s philosophy is “everything is a plugin”; if you need to drive the Whale Girl on mobile, you can start by verifying connectivity with ping, then choose between the NapCat or official bot path based on your use case.
- Community Directory: https://www.skillhub.cn/plugins/TomoyoNatsume/dsh-qq-bridge
- GitHub: https://github.com/TomoyoNatsume/dsh-qq-bridge