In the development of DeepSeek Harness, enabling agents to interact with collaboration platforms is a common requirement. dsh-plugin-feishu fills this gap by providing a set of tools for direct integration through your own self-built enterprise Feishu app.

The plugin provides 25 feishu_* tools for DeepSeek Harness, covering chat messages, cloud documents (including images, generated charts, and tables), Bitable records, spreadsheet ranges, and drive permissions. It is written entirely in Node.js, has no external dependencies, and does not require Python.

Core Features

The tools provided by the plugin are grouped into the following categories:

Chat and Messaging
* feishu_list_chats: List the chats the bot has joined
* feishu_list_chat_members: Get chat members
* feishu_send_text: Send a plain text message
* feishu_send_post_message: Send a rich text message
* feishu_read_chat_history: Read chat history
* feishu_recall_message: Recall a message

Documents (docx)
* feishu_create_document, feishu_read_document, feishu_read_document_blocks
* feishu_append_document_blocks, feishu_update_document_block, feishu_delete_document_block
* feishu_insert_table_into_document, feishu_insert_image_into_document, feishu_insert_chart_into_document
* feishu_resolve_wiki_node: Resolve a Wiki node

Bitable
* feishu_create_bitable, feishu_list_bitable_tables, feishu_list_bitable_fields
* feishu_write_bitable_record, feishu_read_bitable_records

Spreadsheets
* feishu_read_sheet_range, feishu_write_sheet_range

Permission Management
* feishu_grant_document_access, feishu_set_document_link_sharing

Installation and Configuration

Installation

In a DeepSeek Harness environment that supports plugins, run the following command to install the plugin:

dsh plugin --profile web add github:2286893544/feishu-dsh-plugin

After installation, the configuration needs to be reloaded, and you must complete the configuration on the settings page.

Configuration

Go to the Settings → Feishu page to configure the plugin. You need to prepare credentials for a self-built enterprise Feishu app.

Field Description
appId App ID of the self-built app (cli_...)
appSecret App secret; this field is hidden and displayed as a password control
tenantDomain Tenant domain, such as acme.feishu.cn (if left empty, it can be auto-detected via the API)
defaultChatId Default chat ID (oc_...), used when a tool call does not specify chat_id
grantOpenId Granted user ID (ou_...); created documents and spreadsheets are shared with this user by default
wikiSpaceId Wiki space ID, used to create Wiki documents
wikiParentNodeToken Default parent node token for Wiki documents (if empty, created at the root)

In addition, credentials can also be injected via environment variables or a configuration file:
* FEISHU_APP_ID
* FEISHU_APP_SECRET
* FEISHU_TENANT_DOMAIN

After completing the configuration, you can verify whether the credentials are correct using the Test Connection button (POST to /dsh-plugin-feishu/test-connection).

Considerations and Limitations

  1. Chart Rendering: Charts are rendered locally (using a pure Node.js PNG encoder and a 5x7 ASCII font). Chart titles and category labels must be ASCII characters; non-ASCII characters will be dropped. If you need charts with Chinese text, it is recommended to generate images and then use feishu_insert_image_into_document.
  2. Spreadsheet API: The spreadsheet tools use the classic Sheets v2 range API.
  3. Chat Permissions: Only chat history that the bot has joined can be read; other users’ private chats cannot be accessed through the API.
  4. App Permissions: A self-built enterprise app with bot capability is required, and the following permission scopes must be published: read chat history, document read/write, Bitable, spreadsheets, and drive permission management. The bot must be an invited member of the target chat, and documents that need read access must have been shared with the bot.
  5. Security: Credentials are processed locally only and are not uploaded to external services. Sharing appSecret in chats or documents is strictly prohibited.

Use Cases

This plugin is suitable for developers who need to directly operate the Feishu ecosystem within DeepSeek Harness agents. All tools are exposed through the standard DSH interface, without requiring additional bridge code.

Ecosystem and Source

This plugin follows the MIT license. For detailed developer documentation, known limitations, and source code, visit its GitHub repository.