98 lines
2.3 KiB
Markdown
98 lines
2.3 KiB
Markdown
|
|
---
|
||
|
|
name: feishu-drive
|
||
|
|
description: |
|
||
|
|
Feishu cloud storage file management. Activate when user mentions cloud space, folders, drive.
|
||
|
|
---
|
||
|
|
|
||
|
|
# Feishu Drive Tool
|
||
|
|
|
||
|
|
Single tool `feishu_drive` for cloud storage operations.
|
||
|
|
|
||
|
|
## Token Extraction
|
||
|
|
|
||
|
|
From URL `https://xxx.feishu.cn/drive/folder/ABC123` → `folder_token` = `ABC123`
|
||
|
|
|
||
|
|
## Actions
|
||
|
|
|
||
|
|
### List Folder Contents
|
||
|
|
|
||
|
|
```json
|
||
|
|
{ "action": "list" }
|
||
|
|
```
|
||
|
|
|
||
|
|
Root directory (no folder_token).
|
||
|
|
|
||
|
|
```json
|
||
|
|
{ "action": "list", "folder_token": "fldcnXXX" }
|
||
|
|
```
|
||
|
|
|
||
|
|
Returns: files with token, name, type, url, timestamps.
|
||
|
|
|
||
|
|
### Get File Info
|
||
|
|
|
||
|
|
```json
|
||
|
|
{ "action": "info", "file_token": "ABC123", "type": "docx" }
|
||
|
|
```
|
||
|
|
|
||
|
|
Searches for the file in the root directory. Note: file must be in root or use `list` to browse folders first.
|
||
|
|
|
||
|
|
`type`: `doc`, `docx`, `sheet`, `bitable`, `folder`, `file`, `mindnote`, `shortcut`
|
||
|
|
|
||
|
|
### Create Folder
|
||
|
|
|
||
|
|
```json
|
||
|
|
{ "action": "create_folder", "name": "New Folder" }
|
||
|
|
```
|
||
|
|
|
||
|
|
In parent folder:
|
||
|
|
|
||
|
|
```json
|
||
|
|
{ "action": "create_folder", "name": "New Folder", "folder_token": "fldcnXXX" }
|
||
|
|
```
|
||
|
|
|
||
|
|
### Move File
|
||
|
|
|
||
|
|
```json
|
||
|
|
{ "action": "move", "file_token": "ABC123", "type": "docx", "folder_token": "fldcnXXX" }
|
||
|
|
```
|
||
|
|
|
||
|
|
### Delete File
|
||
|
|
|
||
|
|
```json
|
||
|
|
{ "action": "delete", "file_token": "ABC123", "type": "docx" }
|
||
|
|
```
|
||
|
|
|
||
|
|
## File Types
|
||
|
|
|
||
|
|
| Type | Description |
|
||
|
|
| ---------- | ----------------------- |
|
||
|
|
| `doc` | Old format document |
|
||
|
|
| `docx` | New format document |
|
||
|
|
| `sheet` | Spreadsheet |
|
||
|
|
| `bitable` | Multi-dimensional table |
|
||
|
|
| `folder` | Folder |
|
||
|
|
| `file` | Uploaded file |
|
||
|
|
| `mindnote` | Mind map |
|
||
|
|
| `shortcut` | Shortcut |
|
||
|
|
|
||
|
|
## Configuration
|
||
|
|
|
||
|
|
```yaml
|
||
|
|
channels:
|
||
|
|
feishu:
|
||
|
|
tools:
|
||
|
|
drive: true # default: true
|
||
|
|
```
|
||
|
|
|
||
|
|
## Permissions
|
||
|
|
|
||
|
|
- `drive:drive` - Full access (create, move, delete)
|
||
|
|
- `drive:drive:readonly` - Read only (list, info)
|
||
|
|
|
||
|
|
## Known Limitations
|
||
|
|
|
||
|
|
- **Bots have no root folder**: Feishu bots use `tenant_access_token` and don't have their own "My Space". The root folder concept only exists for user accounts. This means:
|
||
|
|
- `create_folder` without `folder_token` will fail (400 error)
|
||
|
|
- Bot can only access files/folders that have been **shared with it**
|
||
|
|
- **Workaround**: User must first create a folder manually and share it with the bot, then bot can create subfolders inside it
|