Preface

In the DSH ecosystem, channel capabilities are typically integrated as plugins. If you wish to use DeepSeek Harness in Feishu or Lark International and need to handle text, images, regular files, persistent sessions, and tool approval—rather than just single-turn text Q&A—you need a channel plugin that can accommodate these capabilities.

Unlike methods that require a public network callback server, sliverp/DeepSeek-harness-lark uses official WebSocket transmission, does not require a public network callback server, and supports both Feishu and Lark International. Below is an introduction to its positioning, core capabilities, installation configuration, and typical usage.

What is this

sliverp/DeepSeek-harness-lark is a DeepSeek Harness channel bridge used to bring text, images, and files from Feishu / Lark into DSH.

Key information is as follows:

  • Repository: sliverp/DeepSeek-harness-lark
  • Maintainer: sliverp
  • License: MIT
  • Base: Official @larksuiteoapi/node-sdk
  • Transport: Official WebSocket with auto-reconnect
  • Applicability: Feishu and Lark International

Core Features

Messages and Sessions

  • Supports text, rich text, images, and regular file input.
  • Maintains persistent, isolated Harness sessions for each chat.
  • Sending /new preserves old history and switches to a blank session.
  • Agent presets are mounted and recorded when creating or restoring sessions, with the default preset being standard.
  • Supports direct chat and group chat access policies; group chats require @mentioning the bot by default.

Files and Multi-modal

  • Supports Durable Harness attachments and organizes multi-modal inputs based on model capabilities.
  • Regular files are downloaded to the Agent workspace’s .dsh-lark/inbox/, making them convenient for filesystem tools to check.
  • Replies support model text, generated image uploads, and workspace file sending.

Commands and Approval

  • Registered Harness slash commands are executed directly and not sent to the model as regular messages.
  • /approve <code> and /reject <code> can be used within the same session to complete one-time tool approvals.
  • The following commands are provided:
  • /bot-ping
  • /bot-help
  • /bot-image-test
  • /bot-file-test
  • /bot-status
  • /bot-cancel

Credentials and Startup

  • App Secret is parsed via the Harness credential service.
  • If App ID or App Secret is not configured, the plugin enters dormant startup.
  • Installing the plugin alone does not block Harness Web.
  • When credentials are missing or invalid, the channel goes offline and logs are recorded without blocking Harness startup.

Installation and Enablement

Environment Requirements

Node.js 22.19 or later
pnpm 10.33.4
DeepSeek Harness 0.1.0-rc.7 or later

Installation

Install the plugin first, then configure Feishu / Lark app credentials:

pnpm dsh plugin --profile web add github:sliverp/DeepSeek-harness-lark

Configure Feishu / Lark App

  1. Create a custom app in the Feishu Developer Console and enable bot capabilities.
  2. Grant the following permissions:
im:message.p2p_msg:readonly
im:message.group_at_msg:readonly
im:message:readonly
im:message:send_as_bot
im:resource

Specifically, im:message:readonly is used for the Feishu message resource download endpoint to handle images and files sent by users; im:resource is still used for image/file uploads on the bot side.

  1. Select Long Connection Event Delivery and subscribe to im.message.receive_v1.
  2. Publish the app version and add the bot to the chats where it will be used.
  3. Put the App ID into LARK_APP_ID and store the App Secret in the Harness credential reference LARK_APP_SECRET.

For development, you can temporarily inject environment variables:

export LARK_APP_ID='<app-id>'
export LARK_APP_SECRET='<app-secret>'
pnpm dsh --profile web

For long-term use, put the App ID into ~/.dsh/.env and save the App Secret via the Harness credential settings interface. Do not commit credentials.

Typical Usage

Basic Checks

Send the following sequentially in the chat:

/bot-ping
/bot-image-test
/bot-file-test
/new

This step is used to check basic connectivity, image testing, file testing, and creating a new session.

File Checks and Sending

Send plain text, an image, and a CSV file, then ask the bot to check the CSV and confirm that it is using the path downloaded to the workspace.

Then ask it to create and send a CSV. The final response should include file attachments.

Tool Approval

Initiate an operation that requires approval, then reply with the precise instruction given:

/approve <code>

Or reject the operation:

/reject <code>

Limitations and Notes

  • Access policies support open, allowlist, and disabled. In production, it is recommended to use allowlists and minimal Harness permissions.
  • Inbound defaults: Up to 10 files per message, single file max 50 MiB, total message size max 100 MiB.
  • Outbound defaults: Up to 5 non-empty files per reply, each max 30 MiB.
  • approvalTimeoutMs must be less than responseTimeoutMs.
  • agentPreset is the explicit fallback value for new sessions and persisted records without a preset.
  • Tool loop fixes will advance the plugin session namespace from lark-v1-* to lark-v2-*. Old files are not deleted or rewritten, but the plugin will no longer append to lark-v1-* records that might be polluted by DSML; old records can still be viewed in the Web UI.
  • The plugin runs with the permissions of the current dsh process. It is recommended to check the source code and the MIT license before installing.

Conclusion

If you need to use DeepSeek Harness within Feishu / Lark, focusing on text, images, files, persistent sessions, and approval, sliverp/DeepSeek-harness-lark provides an access method that does not require a public network callback server.

The community directory is a separate site and does not represent the DeepSeek / Hypothesis official app store. Repository address:

https://github.com/sliverp/DeepSeek-harness-lark

For the directory page provided in the link, please refer to the actual listing:

https://www.skillhub.cn/plugins/sliverp/DeepSeek-harness-lark