dsh-lark: Feishu and Lark Integration Plugin for DeepSeek Harness
sugarforever/dsh-lark
DSH plugin integrating Lark/Feishu with Harness via WebSocket, reusing models, tools, and sessions.
Enables DeepSeek Harness users to chat with the Agent via Feishu or Lark without a public server or webhook, reusing Harness models, tools, and session storage.
dsh plugin --profile web add github:sugarforever/dsh-lark- Category
- Integrations & Connections
- Platform
- DSH-Plugin
- Author
- sugarforever
- Distribution
- Plugin
dsh-lark Key Features
dsh-lark Repository

dsh-lark Repo Summary
dsh-lark is a DeepSeek Harness (DSH) plugin for Lark and Feishu integration, maintained by sugarforever under the MIT license, written in TypeScript. It solves the problem of letting users chat with Harness Agent directly from Feishu or Lark without needing a public server, domain, or webhook callback URL, while reusing the models, tools, system prompts, and session storage configured in Harness. The plugin uses the official @larksuiteoapi/node-sdk Channel API over a WebSocket long connection to receive messages, handling reconnection, deduplication, serial processing, and message format conversion automatically, and maps Feishu chats to Harness Sessions.
What core features does the dsh-lark DSH plugin support?
The plugin supports both Feishu (China) and Lark (International). Single chats and regular group chats reuse a Harness Session per chat, while topic threads use independent Sessions per thread. Replies are associated with the original message and stay in the same thread. Group chats require mentioning the bot by default, while single chats are open by default, with optional whitelist restrictions. Session identifiers are SHA-256 hashed to avoid exposing raw chat_id, and internal Harness errors are not sent to users. You can also specify a model for the Feishu channel or fall back to the Harness default.
How to install dsh-lark?
Before installation, ensure Node.js version is ^22.19.0 or >=24.0.0, and DeepSeek Harness 0.1.0-rc.6 or higher is installed. If you haven't run Harness yet, start the Web Profile first:
npx @deepseek-ai/dsh web
Then install the plugin with:
dsh plugin --profile web add github:sugarforever/dsh-lark
After installation, the plugin remains enabled but will not connect until you configure the App ID and App Secret in Harness Settings.
How to configure a Feishu app for dsh-lark?
Create an enterprise self-built app in the Feishu developer console, enable the bot capability, and add permissions: im:message.p2p_msg:readonly, im:message.group_at_msg:readonly, and im:message:send_as_bot. To handle group messages without mentioning the bot, you need the additional im:message.group_msg permission and set requireMention: false. For event subscription, choose "Use long connection to receive events" and add im.message.receive_v1, with no webhook URL required.
How to start and use dsh-lark?
After starting the Harness Web Profile, go to Settings and select "Feishu and Lark" to configure App ID, App Secret, domain, access policy, and agent parameters. Provider and Model come from the Harness model catalog; leaving them blank follows the default configuration. The App Secret is saved via Credentials and not written to regular settings. Once configured, you can chat with the bot in Feishu.
Which DeepSeek Harness versions are compatible with dsh-lark?
The plugin is compatible with DeepSeek Harness 0.1.0-rc.6 and later, with CI continuously validating against the latest release, so upgrading to subsequent RCs usually does not require republishing the plugin. The plugin declares Harness service packages as optional peers to fit DSH's bundle loading mechanism, avoiding duplicate Harness installations.