Back to directory

dsh-qqbot

Curated pickMaintenance: Active

tencent-connect/dsh-qqbot

Official QQ Bot IM channel plugin for dsh: QQ WebSocket transport, QR扫码 credential binding, per-peer isolated agents, Markdown chunked replies, slash commands, preset mounting

View on GitHub
$ npx @deepseek-ai/dsh plugin --profile qqbot add @tencent-connect/dsh-qqbot

119

stars

19

forks

TypeScript

Language

MIT

License

2026-08-14

Created

2026-09-08

Last push

MIT-licensed, first-class native dsh plugin (installed via `dsh plugin ... add`) that runs DeepSeek Harness agents inside QQ — per-peer isolated sessions, Markdown chunked replies, slash commands and QR-scan credential binding.

DSH integration

Native runtime

Author-claimed

Safety audit

Unaudited

Last verified

2026-08-28

License

MIT

01What can it help you accomplish?

  • Chat with a DeepSeek Harness agent from QQ private messages and group chats

    An official QQ Bot channel for dsh: messages flow over the QQ WebSocket transport into the dsh agent loop, with per-peer isolated agents, Markdown chunked replies, slash commands, QR-scan credential binding and preset mounting

    Developers and users who want to talk to DeepSeek Harness (dsh) agents from inside QQ, in private chats or groups

  • Manage the agent's session, model and preset from inside the QQ chat

    Built-in slash commands: /new (aliases /reset /clear), /compact, /model, /preset, /stop, /bot-ping, /bot-version, /bot-status and /bot-help

    QQ bot users who need to control session context, switch models or presets, and stop generation without leaving the chat

02How to install into DeepSeek Harness

Prerequisites

  • An environment where the official dsh CLI runs via npx — every README command uses `npx @deepseek-ai/dsh`
  • A QQ Bot on the QQ Open Platform: AppID / AppSecret, or the `QQBOT_APPID` / `QQBOT_SECRET` environment variables

Installation steps

  1. 01

    Install into a profile: `npx @deepseek-ai/dsh plugin --profile qqbot add @tencent-connect/dsh-qqbot`

    $ npx @deepseek-ai/dsh plugin --profile qqbot add @tencent-connect/dsh-qqbot

  2. 02

    Start the bot: `npx @deepseek-ai/dsh --profile qqbot`

    $ npx @deepseek-ai/dsh --profile qqbot

  3. 03

    On first start, the plugin walks through the terminal QR-scan guide to bind credentials; alternatively export `QQBOT_APPID="你的AppID" QQBOT_SECRET="你的AppSecret"` first

  4. 04

    Local-path install option: `cd /path/to/dsh-qqbot && pnpm install && pnpm build`, then `npx @deepseek-ai/dsh plugin --profile qqbot add /path/to/dsh-qqbot`

    $ npx @deepseek-ai/dsh plugin --profile qqbot add /path/to/dsh-qqbot

Verify the integration

  • Send `/bot-ping` in a QQ chat — the README lists it as the connectivity test (连通性测试)

03DSH integration and capability boundaries

DSH integrationNative runtime

First-class dsh plugin: installed into a dsh profile via `npx @deepseek-ai/dsh plugin --profile qqbot add @tencent-connect/dsh-qqbot` and started with `npx @deepseek-ai/dsh --profile qqbot`; a pure Cordis plugin following dsh's "Plugins, not loop changes" principle

  • QQ private / group chat transport

    QQ private messages, or group messages that @bot when `requireMention` is enabled→messages enter the dsh agent loop over the QQ WebSocket transport; assistant replies go back via QQ sendMarkdown

    on first start without configured credentials the plugin enters a terminal QR-scan guide and saves credentials to the profile
  • Markdown chunked replies

    long agent reply text→replies sent in Markdown format with code-block / table-aware chunking; `textChunkLimit` (default 4500) caps each message

    long replies are split across multiple messages according to `textChunkLimit`
  • Slash commands

    /new, /compact, /model, /preset, /stop, /bot-ping, /bot-version, /bot-status, /bot-help→new session, history compression, model / preset switching, stop generation, connectivity test, status and help output

    /compact compresses session history by replacing old records with a summary
  • Per-peer session isolation & recovery

    a QQ peer — one private-message user or one group chat→each peer gets its own independent Agent; sessionKey (`qqbot:${appId}:${scope}:${peerId}`) is deterministically derived via SHA-256 and restores after restart

    idle agents are disposed automatically after a timeout to prevent memory leaks (default 30 minutes)
  • Preset mounting

    an agent preset id, mounted through the `agent-presets` service→the preset's toolset, prompt and other agent settings are applied; presets take effect on new sessions

  • ask_user_question Q&A interaction

    a question the agent asks the user mid-conversation→single choice renders inline buttons (clicking one greys out the rest), multiple choice replies by number; questions advance one by one with per-question timeout

    pending questions time out after `askTimeoutMs` (default 300000 ms / 5 minutes)

04Who is it for? When not to use it?

Good for

  • Developers and users who want to talk to DeepSeek Harness (dsh) agents from inside QQ, in private chats or groups
  • QQ bot users who need to control session context, switch models or presets, and stop generation without leaving the chat

Not for

  • A QQ Open Platform bot is required: `appId` and `appSecret` are marked 必填 (or provided via the `QQBOT_APPID` / `QQBOT_SECRET` environment variables). On first start without credentials the plugin enters a terminal QR-scan guide that binds credentials via the mobile QQ app.

05Compatibility, maintenance and safety notes

  • A QQ Open Platform bot is required: `appId` and `appSecret` are marked 必填 (or provided via the `QQBOT_APPID` / `QQBOT_SECRET` environment variables). On first start without credentials the plugin enters a terminal QR-scan guide that binds credentials via the mobile QQ app.
  • Group chats only trigger the bot when @mentioned by default (`requireMention` defaults to `true`), and each reply message is capped at `textChunkLimit` characters (default 4500), so long replies are split.
  • The README recommends upgrading to `0.4.0` or above before QR-scanning, because those versions support opening the link in a browser and avoid QR rendering misalignment in some terminals.
2026-08-142026-08-260.4.0

MIT · actively maintained (latest release 0.4.0, 2026-08-16; last push 2026-08-26)

06Frequently asked questions

How do I install dsh-qqbot into DeepSeek Harness?

Install it into a dsh profile with `npx @deepseek-ai/dsh plugin --profile qqbot add @tencent-connect/dsh-qqbot`, then start with `npx @deepseek-ai/dsh --profile qqbot`. You can also build it locally and add the local path: `npx @deepseek-ai/dsh plugin --profile qqbot add /path/to/dsh-qqbot`.

How do I bind my QQ Bot credentials?

On first start, when credentials are not configured, the plugin automatically enters a QR-scan guide: the terminal prints a QR code, you scan it with the mobile QQ app, and the credentials are saved to the profile — no re-scan on later starts. Alternatively set the `QQBOT_APPID` / `QQBOT_SECRET` environment variables (config keys `appId` / `appSecret`).

Does each QQ chat get its own agent?

Yes — session isolation is a design principle: each QQ private-chat user or group chat gets its own independent Agent. Session keys (`qqbot:${appId}:${scope}:${peerId}`) are deterministically derived via SHA-256, so sessions restore after restarts, and idle agents are disposed automatically to prevent memory leaks.

What slash commands are built in?

`/new` (aliases `/reset` `/clear`), `/compact`, `/model`, `/preset`, `/stop`, `/bot-ping`, `/bot-version`, `/bot-status` and `/bot-help`. For example `/compact` compresses session history by replacing old records with a summary, and `/bot-ping` is the connectivity test.

How are long replies handled in QQ?

Replies are sent in Markdown format with code-block / table-aware chunking; `textChunkLimit` (default 4500) caps each message. Q&A interactions support `ask_user_question` — single choice renders inline buttons (clicking one greys out the rest), multiple choice replies by number, advancing question by question with a per-question timeout.

08Data and sources

  • Author-claimedgithub.com56db053cf27c…

    **基于 [deepseek-harness](https://github.com/deepseek-ai/deepseek-harness) (dsh) 的 QQ Bot 插件,将 DeepSeek AI 助手接入 QQ 私聊与群聊。*…

  • Author-claimedgithub.com56db053cf27c…

    npx @deepseek-ai/dsh plugin --profile qqbot add @tencent-connect/dsh-qqbot

  • Author-claimedgithub.com56db053cf27c…

    - **纯 Cordis 插件** — 遵循 dsh "Plugins, not loop changes" 原则

This page is generated from the project’s public documentation, repository metadata and a structured parse of DSH Plugins; last verified on 2026-08-28. Found an error? Submit a correction.

🏆

Best DeepSeek Harness Plugins

Twelve plugins worth installing first — picked from the whole catalog, across every category.

DSH Plugins is an independent community directory of DeepSeek Harness plugins. Not affiliated with or endorsed by DeepSeek. Third-party plugins are not security-audited — review the source before installing.

New DeepSeek Harness plugins, weekly. No spam.