SuperAPI AI Directory

feishu-cli

Coding & development

View repository

Updated 10-15 17:34

About this skill

feishu-cli

Unified Feishu CLI skill. Handled through a single runtime:

  • help Progressive help (adapted for LLM self-discovery)
  • auth Authorization and token management
  • tool Business actions (calendar/contact/doc/wiki/drive/sheets/mail/meeting/okr/bitable)
  • api Raw Open API calls

Progressive help (recommended order)

# 1) 顶层命令总览
python3 skills/feishu-cli/run.py '{"action":"help"}'

# 2) 认证帮助
python3 skills/feishu-cli/run.py '{"action":"help","topic":"auth"}'

# 3) 查看全部模块
python3 skills/feishu-cli/run.py '{"action":"help","topic":"modules"}'
4) View actions of a module

python3 skills/feishu-cli/run.py '{"action":"help","topic":"module","module":"calendar"}'

5) View parameters and examples of an action

python3 skills/feishu-cli/run.py '{"action":"help","topic":"action","module":"calendar","action_name":"create"}'


## auth 示例

```bash
# 查看授权状态
python3 skills/feishu-cli/run.py '{"action":"auth","subcommand":"status"}'

# 获取租户 token(复用现有 lark_auth)
python3 skills/feishu-cli/run.py '{"action":"auth","subcommand":"tenant_token"}'

# 生成 OAuth URL(先做 redirect allowlist 预检)
python3 skills/feishu-cli/run.py '{"action":"auth","subcommand":"oauth_url","redirect_uri":"https://example.com/callback","scopes":["contact:user.base:readonly"]}'

tool examples

# 创建日程
python3 skills/feishu-cli/run.py '{"action":"tool","module":"calendar","tool_action":"create","title":"周会","start":"2026-03-06 10:00","duration":"60m"}'

# 读取文档
python3 skills/feishu-cli/run.py '{"action":"tool","module":"doc","tool_action":"read","document_id":"doccnxxxx"}'

# 查询通讯录用户
python3 skills/feishu-cli/run.py '{"action":"tool","module":"contact","tool_action":"get_user","user_id":"ou_xxx"}'

api examples

# 原始 Open API 调用(tenant)
python3 skills/feishu-cli/run.py '{"action":"api","method":"GET","path":"/contact/v3/scopes"}'

Quick reference of actions per module

module Supported tool_action
calendar create, query, update, delete, list_calendars, freebusy
contact get_user, search_user, list_departments
doc create, read, read_content, write_markdown, list_blocks, update_block_text
wiki list_spaces, list_nodes, create_node, get_node
drive list_files, upload, download
sheets create, get, list_sheets
mail list_mailgroups, list_members
meeting create, list, get, update, delete
okr list_periods, batch_get, list_user_okrs
bitable list_tables, list_fields, list_records, create_record, update_record, delete_record
message send_message, history, upload_file
task list, create, update, delete, complete, uncomplete, list_subtasks, create_subtask

Alias compatibility: old names create_spreadsheet→create,get_spreadsheet→get,list_okr_periods→list_periods,batch_get_okrs→batch_get all have aliases configured and can be called normally, but the documentation uses the new names as the standard.

Unified environment variables (recommended)

  • LARK_APP_ID
  • LARK_APP_SECRET
  • LARK_TENANT_TOKEN(optional, prefer direct use)
  • LARK_OPEN_BASE_URL(optional)
  • LARK_OAUTH_REDIRECT_URI(OAuth)
  • LARK_OAUTH_REDIRECT_ALLOWLIST(OAuth pre-check)
  • LARK_OAUTH_SCOPES(OAuth default scope)