[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-74962":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":9,"rankLanguage":9,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":9,"pushedAt":9,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":15,"starSnapshotCount":15,"syncStatus":29,"lastSyncTime":30,"discoverSource":31},74962,"openclaw-qqbot","tencent-connect\u002Fopenclaw-qqbot","tencent-connect","qqbot",null,"TypeScript",1508,188,11,100,0,4,8,15,12,19.83,"MIT License",false,"main",true,[],"2026-06-12 02:03:30","\u003Cdiv align=\"center\">\n\n\n\n\u003Cimg width=\"120\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F🤖-QQ_Bot-blue?style=for-the-badge\" alt=\"QQ Bot\" \u002F>\n\n# QQ Bot Channel Plugin for OpenClaw\n\n\n\n**Connect your AI assistant to QQ — private chat, group chat, and rich media, all in one plugin.**\n\n### 🚀 Current Version: `v1.7.1`\n\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-green)](.\u002FLICENSE)\n[![QQ Bot](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FQQ_Bot-API_v2-red)](https:\u002F\u002Fbot.q.qq.com\u002Fwiki\u002F)\n[![Platform](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fplatform-OpenClaw-orange)](https:\u002F\u002Fgithub.com\u002Ftencent-connect\u002Fopenclaw-qqbot)\n[![Node.js](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNode.js->=18-339933?logo=node.js&logoColor=white)](https:\u002F\u002Fnodejs.org\u002F)\n[![TypeScript](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTypeScript-5.9-3178C6?logo=typescript&logoColor=white)](https:\u002F\u002Fwww.typescriptlang.org\u002F)\n\n\n\u003Cbr\u002F>\n\n**[简体中文](README.zh.md) | English**\n\nScan to join the QQ group chat\n\n\u003Cimg width=\"400\" alt=\"QQ QR Code\" src=\".\u002Fdocs\u002Fimages\u002Fdeveloper-group.png\" \u002F>\n\n\n\u003C\u002Fdiv>\n\n---\n\n## ✨ Features\n\n| Feature | Description |\n|---------|-------------|\n| 🔒 **Multi-Scene** | C2C private chat, group @messages |\n| 🖼️ **Rich Media** | Send & receive images, voice, video, and files |\n| 🎙️ **Voice (STT\u002FTTS)** | Speech-to-text transcription & text-to-speech replies |\n| 🔥 **One-Click Hot Upgrade** | Send `\u002Fbot-upgrade` in private chat to upgrade — no server login needed |\n| ⏰ **Scheduled Push** | Proactive message delivery via scheduled tasks |\n| 🔗 **URL Support** | Direct URL sending in private chat (no restrictions) |\n| ⌨️ **Typing Indicator** | \"Bot is typing...\" status shown in real-time |\n| 📝 **Markdown** | Full Markdown formatting support |\n| 🛠️ **Commands** | Native OpenClaw command integration |\n| 💬 **Quoted Context** | Parses the original message a user is replying to and injects it into AI context, so the model always knows exactly which message is being referenced |\n| 📦 **Large File Support** | Auto chunked upload for large files (parallel upload with retry), up to 100 MB |\n| 🔐 **Command Execution Approval** | AI requests approval via Inline Keyboard buttons before executing commands — tap to allow or deny |\n\n---\n\n## 📸 Feature Showcase\n\n> **Note:** This plugin serves as a **message channel** only — it relays messages between QQ and OpenClaw. Capabilities like image understanding, voice transcription, drawing, etc. depend on the **AI model** you configure and the **skills** installed in OpenClaw, not on this plugin itself.\n\n### 💬 Quoted Message Context\n\nWhen a user quotes a message in QQ, the plugin automatically parses the quoted message content and injects it into the AI context, so the model clearly knows \"which message the user is replying to\" and gives more accurate responses. Supports text and media messages (image\u002Fvoice\u002Fvideo\u002Ffile), and works across devices.\n\n\u003Cimg width=\"360\" src=\"docs\u002Fimages\u002Fref-msg.png\" alt=\"Quoted Message Context Demo\" \u002F>\n\n### 🎙️ Voice Messages (STT)\n\nWith STT configured, the plugin automatically transcribes voice messages to text before passing them to AI. The whole process is transparent to the user — sending voice feels as natural as sending text.\n\n> **You**: *(send a voice message)* \"What's the weather like tomorrow in Shenzhen?\"\n>\n> **QQBot**: Tomorrow (March 7, Saturday) Shenzhen weather forecast 🌤️ ...\n\n\u003Cimg width=\"360\" src=\"docs\u002Fimages\u002Fvoice-stt.jpg\" alt=\"Voice STT Demo\" \u002F>\n\n### 📄 File Understanding\n\nSend any file to the bot — novels, reports, spreadsheets — AI automatically recognizes the content and gives an intelligent reply.\n\n> **You**: *(send a TXT file of \"War and Peace\")*\n>\n> **QQBot**: Got it! You uploaded the Chinese version of \"War and Peace\" by Leo Tolstoy. This appears to be the opening of Chapter 1...\n\n\u003Cimg width=\"360\" src=\"docs\u002Fimages\u002Ffile-understand.jpg\" alt=\"File Understanding Demo\" \u002F>\n\n### 🖼️ Image Understanding\n\nIf your main model supports vision (e.g. Tencent Hunyuan `hunyuan-vision`), AI can understand images too. This is a general multimodal capability, not plugin-specific.\n\n> **You**: *(send an image)*\n>\n> **QQBot**: Haha, so cute! Is that a QQ penguin in a lobster costume? 🦞🐧 ...\n\n\u003Cimg width=\"360\" src=\"docs\u002Fimages\u002Fimage-understand.jpg\" alt=\"Image Understanding Demo\" \u002F>\n\n### 🎨 Image Sending\n\n> **You**: Draw me a cat\n>\n> **QQBot**: Here you go! 🐱\n\nAI can send images directly. Supports local paths and URLs. Formats: jpg\u002Fpng\u002Fgif\u002Fwebp\u002Fbmp.\n\n\u003Cimg width=\"360\" src=\"docs\u002Fimages\u002Fimage-send.jpg\" alt=\"Image Generation Demo\" \u002F>\n\n### 🔊 Voice Sending\n\n> **You**: Tell me a joke in voice\n>\n> **QQBot**: *(sends a voice message)*\n\nAI can send voice messages directly. Formats: mp3\u002Fwav\u002Fsilk\u002Fogg. No ffmpeg required.\n\n\u003Cimg width=\"360\" src=\"docs\u002Fimages\u002Fvoice-send.jpg\" alt=\"TTS Voice Demo\" \u002F>\n\n### ⏰ Scheduled Reminder (Proactive Message)\n\n> **You**: Remind me to eat in 5 minutes\n>\n> **QQBot**: confirms the reminder first, then proactively sends a voice + text reminder when time is up\n\nThis capability depends on OpenClaw cron scheduling and proactive messaging. If no reminder arrives, a common reason is QQ-side interception of bot proactive messages.\n\n\u003Cimg width=\"360\" src=\"docs\u002Fimages\u002Freminder.jpg\" alt=\"Scheduled Reminder Demo\" \u002F>\n\n### 📎 File Sending\n\n> **You**: Extract chapter 1 of War and Peace and send it as a file\n>\n> **QQBot**: *(sends a .txt file)*\n\nAI can send files directly, in any format.\n\n\u003Cimg width=\"360\" src=\"docs\u002Fimages\u002Ffile-send.jpg\" alt=\"File Sending Demo\" \u002F>\n\nSince v1.6.6, large file transfer is supported: images up to 20MB, videos up to 30MB, attachments up to 100MB, with a daily transfer limit of 2GB.\n\n\u003Cimg width=\"360\" src=\"docs\u002Fimages\u002Flarge-file-transfer.jpg\" alt=\"Large File Transfer Demo\" \u002F>\n\n### 🔐 Command Execution Approval\n\nWhen the AI needs to execute a command, the plugin sends an approval request via QQ message with interactive buttons — tap **✅ Allow Once**, **⭐ Always Allow**, or **❌ Deny** to control whether the command runs. \n\nUse the `\u002Fbot-approve` command to manage the approval mode (allowlist \u002F off \u002F strict).\n\n\u003Cimg width=\"360\" src=\"docs\u002Fimages\u002Fapprove.png\" alt=\"Command Execution Approval Demo\" \u002F>\n\n### 🎬 Video Sending\n\n> **You**: Send me a demo video\n>\n> **QQBot**: *(sends a video)*\n\nAI can send videos directly. Supports local files and URLs.\n\n\u003Cimg width=\"360\" src=\"docs\u002Fimages\u002Fvideo-send.jpg\" alt=\"Video Sending Demo\" \u002F>\n\n> **Under the hood:** Upload dedup caching, ordered queue delivery, and multi-layer audio format fallback.\n\n### 🛠️ Slash Commands\n\nThe plugin provides built-in slash commands that are intercepted before reaching the AI queue, giving instant responses for diagnostics and management.\n\n#### `\u002Fbot-ping` — Latency Test\n\n> **You**: `\u002Fbot-ping`\n>\n> **QQBot**: ✅ pong！⏱ Latency: 602ms (network: 602ms, plugin: 0ms)\n\nMeasures end-to-end latency from QQ server push to plugin response, broken down into network transport and plugin processing time.\n\n\u003Cimg width=\"360\" src=\"docs\u002Fimages\u002Fslash-ping.jpg\" alt=\"Ping Demo\" \u002F>\n\n#### `\u002Fbot-version` — Version Info\n\n> **You**: `\u002Fbot-version`\n>\n> **QQBot**: 🦞 Framework: OpenClaw 2026.3.13 (61d171a) \u002F 🤖 Plugin: v1.6.3 \u002F 🌟 GitHub repo\n\nShows framework version, plugin version, and a direct link to the official repository.\n\n\u003Cimg width=\"360\" src=\"docs\u002Fimages\u002Fslash-version.jpg\" alt=\"Version Demo\" \u002F>\n\n#### `\u002Fbot-help` — Command List\n\n> **You**: `\u002Fbot-help`\n>\n> **QQBot**: Lists all available slash commands with clickable shortcuts.\n\n\u003Cimg width=\"360\" src=\"docs\u002Fimages\u002Fslash-help.jpg\" alt=\"Help Demo\" \u002F>\n\n#### `\u002Fbot-upgrade` — One-Click Hot Upgrade\n\n> **You**: `\u002Fbot-upgrade`\n>\n> **QQBot**: 📌 Current: v1.6.3 \u002F ✅ New version v1.6.4 available \u002F Click button below to confirm\n\nCredentials are automatically backed up before upgrade. Version existence is verified against npm before proceeding. Auto-recovery on failure.\n\n> ⚠️ Hot upgrade is currently not supported on Windows. Sending `\u002Fbot-upgrade` on Windows will return a manual upgrade guide instead.\n\n> ⚠️ v1.6.6 and below do not support hot upgrade via `\u002Fbot-upgrade`. Please upgrade using the following command:\n> ```bash\n> curl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Ftencent-connect\u002Fopenclaw-qqbot\u002Fmain\u002Fscripts\u002Fupgrade-via-npm.sh | bash\n> ```\n\n\u003Cimg width=\"360\" src=\"docs\u002Fimages\u002Fhot-update.jpg\" alt=\"Hot Upgrade Demo\" \u002F>\n\n#### `\u002Fbot-logs` — Log Export\n\n> **You**: `\u002Fbot-logs`\n>\n> **QQBot**: 📋 Logs packaged (~2000 lines), sending file... *(sends a .txt file)*\n\nExports the last ~2000 lines of gateway logs as a file for quick troubleshooting.\n\n\u003Cimg width=\"360\" src=\"docs\u002Fimages\u002Fslash-logs.jpg\" alt=\"Logs Demo\" \u002F>\n\n#### Usage Help\n\nAll commands support a `?` suffix to show usage:\n\n> **You**: `\u002Fbot-upgrade ?`\n>\n> **QQBot**: 📖 \u002Fbot-upgrade usage: …\n\n#### `\u002Fbot-approve` — Approval Configuration\n\n> **You**: `\u002Fbot-approve`\n>\n> **QQBot**: 🔐 Command Execution Approval — Enable \u002F Disable \u002F Strict mode \u002F Reset \u002F View current config\n\nManage the AI command execution approval policy. Supported subcommands:\n\n| Subcommand | Description |\n|------------|-------------|\n| `\u002Fbot-approve on` | Enable approval (allowlist mode, recommended) |\n| `\u002Fbot-approve off` | Disable approval — commands execute directly |\n| `\u002Fbot-approve always` | Strict mode — every execution requires approval |\n| `\u002Fbot-approve reset` | Restore framework defaults |\n| `\u002Fbot-approve status` | View current approval config |\n\n#### `\u002Fbot-clear-storage` — Clear files generated through QQBot conversations and downloaded resources (stored on the host running OpenClaw)\n\n`\u002Fbot-clear-storage` lists files generated by the conversation and files in the downloaded resources directory. Use `\u002Fbot-clear-storage --force` to confirm deletion.\n\n---\n\n## 🚀 Getting Started\n\n### Step 1 — Create a QQ Bot on the QQ Open Platform\n\n1. Go to the [QQ Open Platform](https:\u002F\u002Fq.qq.com\u002F) and **scan the QR code with your phone QQ** to register \u002F log in. If you haven't registered before, scanning will automatically complete the registration and bind your QQ account.\n\n\u003Cimg width=\"3246\" height=\"1886\" alt=\"Clipboard_Screenshot_1772980354\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fd8491859-57e8-47e4-9d39-b21138be54d0\" \u002F>\n\n2. After scanning, tap **Agree** on your phone — you'll land on the bot configuration page.\n3. Click **Create Bot** to create a new QQ bot.\n\n\u003Cimg width=\"720\" alt=\"Create Bot\" src=\"docs\u002Fimages\u002Fcreate-robot.png\" \u002F>\n\n> ⚠️ The bot will automatically appear in your QQ message list and send a first message. However, it will reply \"The bot has gone to Mars\" until you complete the configuration steps below.\n\n\u003Cimg width=\"400\" alt=\"Bot Say Hello\" src=\"docs\u002Fimages\u002Fbot-say-hello.jpg\" \u002F>\n\n4. Find **AppID** and **AppSecret** on the bot's page, click **Copy** for each, and save them somewhere safe (e.g., a notepad). **AppSecret is not stored in plaintext — if you leave the page without saving it, you'll have to regenerate a new one.**\n\n\u003Cimg width=\"720\" alt=\"Find AppID and AppSecret\" src=\"docs\u002Fimages\u002Ffind-appid-secret.png\" \u002F>\n\n> For a step-by-step walkthrough with screenshots, see the [official guide](https:\u002F\u002Fcloud.tencent.com\u002Fdeveloper\u002Farticle\u002F2626045).\n\n### Step 2 — Install \u002F Upgrade the Plugin\n\n**Option A: Remote One-Liner (Easiest, no clone required)**\n\n```bash\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Ftencent-connect\u002Fopenclaw-qqbot\u002Fmain\u002Fscripts\u002Fupgrade-via-npm.sh \\\n  | bash -s -- --appid YOUR_APPID --secret YOUR_SECRET\n```\n\nOne command does it all: download script → cleanup old plugins → install → configure channel → restart service. Once done, open QQ and start chatting!\n\n> `--appid` and `--secret` are **required for first-time install**. For subsequent upgrades, run the following command to upgrade to the latest version:\n> ```bash\n> curl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Ftencent-connect\u002Fopenclaw-qqbot\u002Fmain\u002Fscripts\u002Fupgrade-via-npm.sh | bash\n> ```\n\n**Option B: Local Script (if you've cloned the repo)**\n\n```bash\n# Via npm\nbash .\u002Fscripts\u002Fupgrade-via-npm.sh --appid YOUR_APPID --secret YOUR_SECRET\n\n# Or via source\nbash .\u002Fscripts\u002Fupgrade-via-source.sh --appid YOUR_APPID --secret YOUR_SECRET\n```\n\n**Common flags:**\n\n| Flag | Description |\n|------|-------------|\n| `--appid \u003Cid> --secret \u003Csecret>` | Configure channel (required for first install, or to change credentials) |\n| `--version \u003Cversion>` | Install a specific version (npm script only) |\n| `--self-version` | Install the version from local `package.json` (npm script only) |\n| `-h` \u002F `--help` | Show full usage |\n\n> Environment variables `QQBOT_APPID` \u002F `QQBOT_SECRET` are also supported.\n\n**Option C: Manual Install \u002F Upgrade**\n\n```bash\n# Uninstall old plugins (skip if first install)\nopenclaw plugins uninstall qqbot\nopenclaw plugins uninstall openclaw-qqbot\n\n# Install latest\nopenclaw plugins install @tencent-connect\u002Fopenclaw-qqbot@latest\n\n# Configure channel (first install only)\nopenclaw channels add --channel qqbot --token \"AppID:AppSecret\"\n\n# Start \u002F restart\nopenclaw gateway restart\n```\n\n### Step 3 — Test\n\nOpen QQ, find your bot, and send a message!\n\n\u003Cdiv align=\"center\">\n\u003Cimg width=\"500\" alt=\"Chat Demo\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fb2776c8b-de72-4e37-b34d-e8287ce45de1\" \u002F>\n\u003C\u002Fdiv>\n\n---\n\n## ⚙️ Advanced Configuration\n\n### Multi-Account Setup (Multi-Bot)\n\nRun multiple QQ bots under a single OpenClaw instance.\n\n#### Configuration\n\nEdit `~\u002F.openclaw\u002Fopenclaw.json` and add an `accounts` field under `channels.qqbot`:\n\n```json\n{\n  \"channels\": {\n    \"qqbot\": {\n      \"enabled\": true,\n      \"appId\": \"111111111\",\n      \"clientSecret\": \"secret-of-bot-1\",\n\n      \"accounts\": {\n        \"bot2\": {\n          \"enabled\": true,\n          \"appId\": \"222222222\",\n          \"clientSecret\": \"secret-of-bot-2\"\n        },\n        \"bot3\": {\n          \"enabled\": true,\n          \"appId\": \"333333333\",\n          \"clientSecret\": \"secret-of-bot-3\"\n        }\n      }\n    }\n  }\n}\n```\n\n**Notes:**\n\n- The top-level `appId` \u002F `clientSecret` is the **default account** (accountId = `\"default\"`)\n- Each key under `accounts` (e.g. `bot2`, `bot3`) is the `accountId` for that bot\n- Each account can independently configure `enabled`, `name`, `allowFrom`, `systemPrompt`, etc.\n- You may also skip the top-level default account and only configure bots inside `accounts`\n\nAdd a second bot via CLI (if the framework supports the `--account` parameter):\n\n```bash\nopenclaw channels add --channel qqbot --account bot2 --token \"222222222:secret-of-bot-2\"\n```\n\n#### Sending Messages to a Specific Account's Users\n\nWhen using `openclaw message send`, specify which bot to use with the `--account` parameter:\n\n```bash\n# Send with the default bot (no --account = uses \"default\")\nopenclaw message send --channel \"qqbot\" \\\n  --target \"qqbot:c2c:OPENID\" \\\n  --message \"hello from default bot\"\n\n# Send with bot2\nopenclaw message send --channel \"qqbot\" \\\n  --account bot2 \\\n  --target \"qqbot:c2c:OPENID\" \\\n  --message \"hello from bot2\"\n```\n\n**Target Formats:**\n\n| Format | Description |\n|--------|-------------|\n| `qqbot:c2c:OPENID` | Private chat (C2C) |\n| `qqbot:group:GROUP_OPENID` | Group chat |\n| `qqbot:channel:CHANNEL_ID` | Guild channel |\n\n> ⚠️ **Important**: Each bot has its own set of user OpenIDs. An OpenID received by Bot A **cannot** be used to send messages via Bot B — this will result in a 500 error. Always use the matching bot's `accountId` to send messages to its users.\n\n#### How It Works\n\n- When `openclaw gateway` starts, all accounts with `enabled: true` launch their own WebSocket connections\n- Each account maintains an independent Token cache (isolated by `appId`), preventing cross-contamination\n- Incoming message logs are prefixed with `[qqbot:accountId]` for easy debugging\n\n---\n\n### Voice Configuration (STT \u002F TTS)\n\n#### STT (Speech-to-Text) — Transcribe Incoming Voice Messages\n\nSTT supports two-level configuration with priority fallback:\n\n| Priority | Config Path | Scope |\n|----------|------------|-------|\n| 1 (highest) | `channels.qqbot.stt` | Plugin-specific |\n| 2 (fallback) | `tools.media.audio.models[0]` | Framework-level |\n\n```json\n{\n  \"channels\": {\n    \"qqbot\": {\n      \"stt\": {\n        \"provider\": \"your-provider\",\n        \"model\": \"your-stt-model\"\n      }\n    }\n  }\n}\n```\n\n- `provider` — references a key in `models.providers` to inherit `baseUrl` and `apiKey`\n- Set `enabled: false` to disable\n- When configured, incoming voice messages are automatically converted (SILK→WAV) and transcribed\n\n#### TTS (Text-to-Speech) — Send Voice Messages\n\n| Priority | Config Path | Scope |\n|----------|------------|-------|\n| 1 (highest) | `channels.qqbot.tts` | Plugin-specific |\n| 2 (fallback) | `messages.tts` | Framework-level |\n\n```json\n{\n  \"channels\": {\n    \"qqbot\": {\n      \"tts\": {\n        \"provider\": \"your-provider\",\n        \"model\": \"your-tts-model\",\n        \"voice\": \"your-voice\"\n      }\n    }\n  }\n}\n```\n\n- `provider` — references a key in `models.providers` to inherit `baseUrl` and `apiKey`\n- `voice` — voice variant\n- Set `enabled: false` to disable (default: `true`)\n- When configured, AI can generate and send voice messages\n\n---\n\n## 📚 Documentation & Links\n\n- [Upgrade Guide](docs\u002FUPGRADE_GUIDE.md) — full upgrade paths and migration notes\n- [Command Reference](docs\u002Fcommands.md) — OpenClaw CLI commands\n- [Changelog](CHANGELOG.md) — release notes\n\n## 🤝 Contributors\n\nThanks to all the developers who have contributed to this project!\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftencent-connect\u002Fopenclaw-qqbot\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Fcontrib.rocks\u002Fimage?repo=tencent-connect\u002Fopenclaw-qqbot\" \u002F>\n\u003C\u002Fa>\n\n## 💖 Acknowledgements\n\nSpecial thanks to [@sliverp](https:\u002F\u002Fgithub.com\u002Fsliverp) for outstanding contributions to the project!\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsliverp\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F38134380?v=4\" width=\"48\" height=\"48\" alt=\"sliverp\" title=\"sliverp\"\u002F>\u003C\u002Fa>\n\nThanks to [Tencent Cloud Lighthouse](https:\u002F\u002Fcloud.tencent.com\u002Fproduct\u002Flighthouse) for the deep collaboration. For raising crawfish, choose Tencent Cloud Lighthouse!\n\n\u003Ca href=\"https:\u002F\u002Fcloud.tencent.com\u002Fproduct\u002Flighthouse\">\n  \u003Cimg alt=\"Tencent Cloud Lighthouse\" src=\".\u002Fdocs\u002Fimages\u002Flighthouse-head.png\" height=\"500\" style=\"max-width:80%; height:auto;\"\u002F>\n\u003C\u002Fa>\n\n## ⭐ Star History\n\n\u003Cdiv align=\"center\">\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=tencent-connect\u002Fopenclaw-qqbot&type=date&legend=top-left)](https:\u002F\u002Fwww.star-history.com\u002F#tencent-connect\u002Fopenclaw-qqbot&type=date&legend=top-left)\n\n\u003C\u002Fdiv>\n","openclaw-qqbot 是一个基于 TypeScript 开发的 QQ 机器人插件，旨在将 AI 助手与 QQ 平台连接起来，支持私聊、群聊及多媒体消息处理。其核心功能包括多场景对话（如 C2C 私聊和群聊@消息）、丰富的媒体类型支持（图片、语音、视频及文件传输）、语音转文字\u002F文字转语音服务、一键热更新、定时推送等。此外，该插件还具备引用上下文解析能力，能够准确理解用户回复的具体消息内容，并且支持大文件分块上传以及命令执行前的确认机制。适用于需要通过 QQ 进行高效沟通并集成高级AI功能的各种场景，如客户服务、社区管理或个人助理应用。",2,"2026-06-11 03:51:44","high_star"]