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¶
- 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. - Spreadsheet API: The spreadsheet tools use the classic Sheets v2 range API.
- Chat Permissions: Only chat history that the bot has joined can be read; other users’ private chats cannot be accessed through the API.
- 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.
- Security: Credentials are processed locally only and are not uploaded to external services. Sharing
appSecretin 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.