106 lines
2.3 KiB
Markdown
106 lines
2.3 KiB
Markdown
---
|
|
name: feishu-doc
|
|
description: |
|
|
Feishu document read/write operations. Activate when user mentions Feishu docs, cloud docs, or docx links.
|
|
---
|
|
|
|
# Feishu Document Tool
|
|
|
|
Single tool `feishu_doc` with action parameter for all document operations.
|
|
|
|
## Token Extraction
|
|
|
|
From URL `https://xxx.feishu.cn/docx/ABC123def` → `doc_token` = `ABC123def`
|
|
|
|
## Actions
|
|
|
|
### Read Document
|
|
|
|
```json
|
|
{ "action": "read", "doc_token": "ABC123def" }
|
|
```
|
|
|
|
Returns: title, plain text content, block statistics. Check `hint` field - if present, structured content (tables, images) exists that requires `list_blocks`.
|
|
|
|
### Write Document (Replace All)
|
|
|
|
```json
|
|
{ "action": "write", "doc_token": "ABC123def", "content": "# Title\n\nMarkdown content..." }
|
|
```
|
|
|
|
Replaces entire document with markdown content. Supports: headings, lists, code blocks, quotes, links, images (`` auto-uploaded), bold/italic/strikethrough.
|
|
|
|
**Limitation:** Markdown tables are NOT supported.
|
|
|
|
### Append Content
|
|
|
|
```json
|
|
{ "action": "append", "doc_token": "ABC123def", "content": "Additional content" }
|
|
```
|
|
|
|
Appends markdown to end of document.
|
|
|
|
### Create Document
|
|
|
|
```json
|
|
{ "action": "create", "title": "New Document" }
|
|
```
|
|
|
|
With folder:
|
|
|
|
```json
|
|
{ "action": "create", "title": "New Document", "folder_token": "fldcnXXX" }
|
|
```
|
|
|
|
### List Blocks
|
|
|
|
```json
|
|
{ "action": "list_blocks", "doc_token": "ABC123def" }
|
|
```
|
|
|
|
Returns full block data including tables, images. Use this to read structured content.
|
|
|
|
### Get Single Block
|
|
|
|
```json
|
|
{ "action": "get_block", "doc_token": "ABC123def", "block_id": "doxcnXXX" }
|
|
```
|
|
|
|
### Update Block Text
|
|
|
|
```json
|
|
{
|
|
"action": "update_block",
|
|
"doc_token": "ABC123def",
|
|
"block_id": "doxcnXXX",
|
|
"content": "New text"
|
|
}
|
|
```
|
|
|
|
### Delete Block
|
|
|
|
```json
|
|
{ "action": "delete_block", "doc_token": "ABC123def", "block_id": "doxcnXXX" }
|
|
```
|
|
|
|
## Reading Workflow
|
|
|
|
1. Start with `action: "read"` - get plain text + statistics
|
|
2. Check `block_types` in response for Table, Image, Code, etc.
|
|
3. If structured content exists, use `action: "list_blocks"` for full data
|
|
|
|
## Configuration
|
|
|
|
```yaml
|
|
channels:
|
|
feishu:
|
|
tools:
|
|
doc: true # default: true
|
|
```
|
|
|
|
**Note:** `feishu_wiki` depends on this tool - wiki page content is read/written via `feishu_doc`.
|
|
|
|
## Permissions
|
|
|
|
Required: `docx:document`, `docx:document:readonly`, `docx:document.block:convert`, `drive:drive`
|