Introduction

The design philosophy of DeepSeek Harness (DSH) is “everything is a plugin.” When developing or debugging agents, frequently switching between chat software and command-line terminals is a common source of distraction. This plugin uses the Feishu IM channel to turn the chat interface directly into a remote console for DSH, leveraging a persistent WebSocket connection for streaming responses and interactive decision-making.

Plugin Positioning

This is a DSH client plugin maintained by whoisjiahao. It does not provide a standalone AI model, but acts as a bridging layer between Feishu and DSH. Its core value is to bring Feishu’s rich card and interaction capabilities into DSH workflows, allowing agents to complete permission approvals and parameter confirmations through buttons in chat, and to render the reasoning process in real time.

Core Features

  • Scan to Use: No pre-configuration of a Feishu app is required. When starting DSH web, a QR code is printed. Scanning it with Feishu automatically creates the app and persists the credentials.
  • Streaming Rich Cards: Replies are presented as cards, supporting real-time progress while loading, final conclusions upon completion, and retry on failure. When limits are exceeded, it automatically falls back to native text messages.
  • One-Click Approval: When an agent needs file read/write or Shell permissions, an interactive card is displayed in Feishu. You can make the decision by clicking a button, without switching windows or typing.
  • Interactive Commands: Sending raw commands (such as /help) automatically generates an interactive card. Commands with fixed options display a dropdown; those requiring parameters display an input field; those without parameters display a confirmation button.
  • No Public Network Required: Communication is based on a persistent WebSocket connection, so no public URL, callback address, or port forwarding needs to be configured.
  • Multi-Session Isolation: Private chats, group chats, and topics each have independent agents that do not interfere with one another. /new and /stop are supported to control sessions.
  • Secure by Default: Non-allowlisted traffic is rejected by default. In production environments, an allowlist must be configured to ensure security.

Installation and Activation

This plugin depends on the host’s core services (agents, settings, commands, and sessionController), so the DSH web environment must be run first.

  1. Environment Requirements

    • The Node.js version must satisfy ^22.19.0 || >=24.
    • Run dsh web.
  2. Install the Plugin
    In the ~/.dsh/profiles/web directory, run the following command:

    dsh plugin --profile web add github:whoisjiahao/dsh-feishu-channel#v0.9.0
  1. Start and Authorize
    Restart dsh web. The console prints a QR code prompt:
    feishu-channel: 请用飞书扫码创建应用…
Scan the QR code with the Feishu app and confirm app creation. The credentials are automatically saved in the configuration, so no further scanning is required on the next start.

Usage

  • Basic Chat: Send messages in a Feishu private chat or group chat (in group chats, @mention the bot). The agent replies with streaming cards.
  • Command Interaction: Directly send commands such as /new, /reset, or /stop. Feishu automatically generates interactive controls for you to select from or input into.
  • Permission Approval: When the agent performs an operation requiring sensitive permissions, an approval card appears in the Feishu interface. Click “Allow” or “Deny” to proceed.

Configuration and Security

By default, the plugin only allows traffic from the allowlist. In production environments, the following configuration items must be set to ensure security:

  • senderAllowlist: Private chat allowlist, restricting conversations to specific users.
  • groupAllowlist: Group chat allowlist, restricting usage to specific groups.
  • approvers: Approval allowlist, restricting the ability to click approval buttons to specific users.

Common Commands

You can use the following commands directly in Feishu to control the agent:

  • /new: Create a new blank session
  • /reset: Reset the current session
  • /stop: Stop the current task
  • /model: View or switch models
  • /effort: View or adjust reasoning effort
  • /help: List available commands

Conclusion

This plugin embeds DSH’s capabilities into daily communication flows through Feishu, making it suitable for developers who need to quickly validate agent logic or perform simple operations within a chat window. All code is open source and licensed under the MIT License.