DeepSeek Harness (DSH) provides multiple integration capabilities through its plugin mechanism. For DingTalk users, xmanrui/dsh-dingtalk offers a solution for integrating a DingTalk bot with Harness. It creates a bot through QR-code authorization and processes messages within the Host process using a DingTalk Stream persistent connection, without the browser directly accessing sensitive credentials.
Core Features¶
- QR-code authorization: Creates and authorizes a DingTalk bot using a one-time QR code.
- Host process execution: The plugin runs inside the Harness Host process, and the Host receives messages via the DingTalk Stream persistent connection.
- Credential management: The
client_secretobtained from the QR code scan is written directly to the Harness credential service; the browser does not receive sensitive information. - Message handling: Supports text messages in private chats and text messages that explicitly @ mention the bot in group chats.
- Conversations and commands: Supports continuous conversations and the
/new(start a new conversation),/status(check connection), and/help(show help) commands. - AI Card rendering: The AI Card is continuously updated and falls back to plain text if generation fails.
- Not supported: Images, files, videos, and voice messages are not supported.
Installation and Enablement¶
Prerequisites¶
- DeepSeek Harness version
0.1.0-rc.6. - Node.js version
>=22.19. - DingTalk app; the account used for scanning must belong to an enterprise/organization and have permission to create bots.
Installation Steps¶
- Run the installation command:
npx -y github:xmanrui/dsh-dingtalk install
- Restart
dsh web. - Open “Settings → Plugins → IM Bot → DingTalk”.
- Click “Scan QR Code to Connect DingTalk”.
- Scan the QR code on the page using a DingTalk account that belongs to an enterprise/organization.
- On the DingTalk authorization page, click “One-Click Create New Bot”.
- Wait for the page to automatically show that the bot is connected.
- Send a direct message to the bot in DingTalk; messages will go directly into Harness.
Usage Guide¶
Basic Interaction¶
- Private chat: Send text messages directly to start a conversation in Harness.
- Group chat: Only text messages that explicitly @ mention the bot are processed.
- Commands:
/new: Start a new conversation./status: Check the current connection status./help: Display help information.
Security and Access Control¶
- The browser does not receive
client_secret,device_code, or raw staff IDs. - Inbound access is determined by the DingTalk bot’s visibility scope, and no local secondary approval is required in Harness. Please restrict the bot’s visibility scope on the DingTalk Open Platform to trusted organizations, groups, or members.
- Session Webhooks are used in memory only and are not written to configuration or logs.
Notes¶
- Project status: This project is no longer maintained. It is recommended to use the unified plugin
dsh-im(supports WeChat, Feishu, DingTalk, QQ, WeCom, Slack, Telegram, Discord, and WhatsApp). - Removing the bot: Deleting the bot in DingTalk stops the connection and deletes the corresponding credentials, configuration, deduplication records, and conversation mappings.
- Account requirement: The account used for scanning must have permission to create bots. If you see the prompt “the account has not joined an organization,” you need to log in again or switch accounts.
Ecosystem Context¶
The DeepSeek Harness plugin ecosystem aims to achieve modularized functionality. This plugin is maintained by community developer xmanrui and is licensed under the MIT License. For related resources and catalogs, refer to: GitHub | SkillHub Catalog.