Some checks failed
ClawSweeper Dispatch / dispatch (push) Has been cancelled
CodeQL / Security High (actions) (push) Has been cancelled
CodeQL / Security High (channel-runtime-boundary) (push) Has been cancelled
CodeQL / Security High (core-auth-secrets) (push) Has been cancelled
CodeQL / Security High (mcp-process-tool-boundary) (push) Has been cancelled
CodeQL / Security High (network-ssrf-boundary) (push) Has been cancelled
CodeQL / Security High (plugin-trust-boundary) (push) Has been cancelled
CodeQL / Security High (process-exec-boundary) (push) Has been cancelled
Docs Sync Publish Repo / sync-publish-repo (push) Has been cancelled
Docs / docs (push) Has been cancelled
OpenClaw Stable Main Closeout / Resolve stable release closeout inputs (push) Has been cancelled
OpenClaw Stable Main Closeout / Verify stable main closeout (push) Has been cancelled
Workflow Sanity / no-tabs (push) Has been cancelled
Workflow Sanity / actionlint (push) Has been cancelled
Workflow Sanity / generated-doc-baselines (push) Has been cancelled
CI / runner-admission (push) Has been cancelled
CI / preflight (push) Has been cancelled
CI / security-fast (push) Has been cancelled
CI / pnpm-store-warmup (push) Has been cancelled
CI / build-artifacts (push) Has been cancelled
CI / native-i18n (push) Has been cancelled
CI / ${{ matrix.check_name }} (push) Has been cancelled
CI / ${{ matrix.checkName }} (push) Has been cancelled
CI / checks-node-compat-node22 (push) Has been cancelled
CI / check-bundled-channel-config-metadata (push) Has been cancelled
CI / check-dependencies (push) Has been cancelled
CI / check-guards (push) Has been cancelled
CI / check-lint (push) Has been cancelled
CI / check-prod-types (push) Has been cancelled
CI / check-shrinkwrap (push) Has been cancelled
CI / check-test-types (push) Has been cancelled
CI / check-additional-boundaries-a (push) Has been cancelled
CI / check-additional-boundaries-bcd (push) Has been cancelled
CI / check-additional-extension-bundled (push) Has been cancelled
CI / check-additional-extension-channels (push) Has been cancelled
CI / check-additional-extension-package-boundary (push) Has been cancelled
CI / check-additional-runtime-topology-architecture (push) Has been cancelled
CI / check-session-accessor-boundary (push) Has been cancelled
CI / check-session-transcript-reader-boundary (push) Has been cancelled
CI / check-docs (push) Has been cancelled
CI / skills-python (push) Has been cancelled
CI / macos-swift (push) Has been cancelled
CI / ios-build (push) Has been cancelled
CI / ci-timings-summary (push) Has been cancelled
Native App Locale Refresh / Refresh native fa (push) Has been cancelled
Native App Locale Refresh / Refresh native fr (push) Has been cancelled
Native App Locale Refresh / Refresh native hi (push) Has been cancelled
Native App Locale Refresh / Refresh native id (push) Has been cancelled
Native App Locale Refresh / Refresh native it (push) Has been cancelled
Native App Locale Refresh / Refresh native ja-JP (push) Has been cancelled
Control UI Locale Refresh / plan (push) Has been cancelled
Control UI Locale Refresh / Refresh ${{ matrix.locale }} (push) Has been cancelled
Control UI Locale Refresh / Commit control UI locale refresh (push) Has been cancelled
Live Media Runner Image / Build live media runner image (push) Has been cancelled
Native App Locale Refresh / Refresh native ar (push) Has been cancelled
Native App Locale Refresh / Refresh native de (push) Has been cancelled
Native App Locale Refresh / Refresh native es (push) Has been cancelled
Native App Locale Refresh / Refresh native ko (push) Has been cancelled
Native App Locale Refresh / Refresh native nl (push) Has been cancelled
Native App Locale Refresh / Refresh native pl (push) Has been cancelled
Native App Locale Refresh / Refresh native pt-BR (push) Has been cancelled
Native App Locale Refresh / Refresh native ru (push) Has been cancelled
Native App Locale Refresh / Refresh native sv (push) Has been cancelled
Native App Locale Refresh / Refresh native th (push) Has been cancelled
Native App Locale Refresh / Refresh native tr (push) Has been cancelled
Native App Locale Refresh / Refresh native uk (push) Has been cancelled
Native App Locale Refresh / Refresh native vi (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-CN (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-TW (push) Has been cancelled
Native App Locale Refresh / Commit native locale refresh (push) Has been cancelled
Plugin Init Scaffold Validation / Validate provider scaffold (push) Has been cancelled
Plugin NPM Release / preview_plugins_npm (push) Has been cancelled
Plugin NPM Release / Validate release publish approval (push) Has been cancelled
Plugin NPM Release / preview_plugin_pack (push) Has been cancelled
Plugin NPM Release / publish_plugins_npm (push) Has been cancelled
Sandbox Common Smoke / sandbox-common-smoke (push) Has been cancelled
Website Installer Sync / static (push) Has been cancelled
Website Installer Sync / linux-docker (push) Has been cancelled
Website Installer Sync / macos-installer (push) Has been cancelled
Website Installer Sync / windows-installer (push) Has been cancelled
Website Installer Sync / sync-website (push) Has been cancelled
Adolf is a fork/vendored clone of github.com/openclaw/openclaw (v2026.6.11), free to diverge. Tree copied sans upstream .git; upstream remote added for future syncs. Node pinned to 24 (.nvmrc); engines already require >=22.19. Preserves docs/ARCHITECTURE.md. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LeqyaxJF2nbRXJtae2kNB2
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
|