Introduction

DeepSeek Harness (DSH) adopts a plugin-based architecture and emphasizes extensibility. The dsh-feishu-integration plugin aims to solve the problem that, when DSH runs in a background or Web environment, users cannot interact through instant messaging tools. It provides a mechanism to send DSH conversation summaries to Feishu and allows users to reply to Feishu messages to reverse-control or continue a DSH conversation.

Core Capabilities

The plugin provides the following core features:

  • Conversation summary push: After a DSH conversation ends, the summary is automatically sent to Feishu.
  • Reply routing: When a user replies to a summary in Feishu, the system automatically recognizes the reply and routes it back to the DSH conversation that generated the summary.
  • Fixed session continuation: Supports fixed session continuation in peer-to-peer (p2p) and group chat scenarios.
  • Administration entry point: The DSH settings page provides binding status viewing, QR code binding, reconnection, disconnection, and unbinding.
  • Configuration management: Provides QR code provisioning and a fsum-admin CLI management entry point.
  • Multi-domain support: Supports both the Feishu domain and the international Lark domain.

Installation and Binding

To install the plugin, run the following command in the target DSH profile:

dsh plugin --profile web add github:yangwuan55/dsh-feishu-integration

After installation, restart the corresponding DSH profile. The plugin ships with dsh.bundle.patch and will be automatically mounted into the profile. After installation, you can view the binding status and scan the QR code to bind on the DSH settings page. By default, this plugin does not enable inbound long connections, so it will not automatically compete with existing Feishu long connection plugins over event streams during installation.

Enabling Inbound Reply Routing

To implement the feature “reply to a summary in Feishu → route back to the DSH conversation,” inbound takeover must be enabled. Because Feishu long connections use clustered event distribution, running multiple long connection clients for the same application simultaneously may cause events to be randomly routed. Therefore, other Feishu long connection plugins in the same DSH profile must be disabled first, and then this plugin’s inbound takeover can be enabled.

Override the configuration in the profile patch to enable inbound takeover:

- id: xmanrui-dsh-feishu
  disabled: true

- id: dsh-feishu-integration
  config:
    takeoverInbound: true
    replyTimeoutMs: 600000

CLI Management

In addition to the web settings page, the plugin also provides the fsum-admin CLI tool for operations such as binding, verification, and unbinding:

fsum-admin list
fsum-admin bind
fsum-admin bind --app-id cli_xxx --app-secret xxx --owner ou_xxx
fsum-admin verify --app-id cli_xxx
fsum-admin set-owner --app-id cli_xxx --open-id ou_xxx
fsum-admin unbind --app-id cli_xxx

Data and Reliability

  • Data migration: The plugin retains the local data layout of the older @xmanrui/dsh-feishu plugin ($DSH_HOME/integrations/dsh-feishu/) so that existing bindings and fixed sessions can be preserved during migration.
  • Secure storage: The sensitive app_secret is stored in the DSH credential store and is not written into public configuration files.
  • Send retries: Summary sending includes a built-in retry mechanism, with up to 10 attempts, exponential backoff (starting at 1s, capped at 30s, and ±20% jitter), and a total timeout of 10 minutes. If the network is unavailable, waiting is deferred without consuming an attempt. Each logical send carries an idempotent Feishu message uuid to avoid duplicate delivery.
  • Timeout handling: If waiting for a response times out (default 600s), the plugin remains silent and does not send a follow-up error reply. The forwarded receipt itself is treated as delivery confirmation; timeout is only recorded in the host logs.

Development and Maintenance

This plugin uses the MIT license. Developers can work on it using the following commands:

git clone https://github.com/yangwuan55/dsh-feishu-integration.git
cd dsh-feishu-integration
pnpm install
pnpm build          # 构建前端代码
pnpm test           # 运行回归测试
  • Host-side logic: Located in the lib/host/ directory. JS files can be edited directly without a build step.
  • Client-side logic: Located in the client-src/ directory. After changes, pnpm build must be run to regenerate lib/client.js.

Ecosystem Background

The DSH philosophy is “everything is a plugin,” and this plugin is part of that ecosystem. It is maintained by community user yangwuan55 and has no direct affiliation with DeepSeek or High-Flyer. For more details, refer to the plugin directory page or the source repository.