instances/xiaodazi/skills/feishu/SKILL.md
Feishu (Lark) full integration — messages, documents, calendars, tasks, approvals, and meeting minutes via lark-oapi SDK.
npx skillsauth add malue-ai/dazee-small feishuInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
通过 lark-oapi SDK 操作飞书全生态:消息、文档、日历、任务、审批、妙记。中国团队的核心协作工具。
export FEISHU_APP_ID="cli_xxxx"
export FEISHU_APP_SECRET="xxxx"
项目已安装 lark-oapi SDK,优先使用 SDK 而非原始 HTTP 调用。
import lark_oapi as lark
import os
client = lark.Client.builder() \
.app_id(os.environ["FEISHU_APP_ID"]) \
.app_secret(os.environ["FEISHU_APP_SECRET"]) \
.build()
from lark_oapi.api.im.v1 import *
import json
request = CreateMessageRequest.builder() \
.receive_id_type("chat_id") \
.request_body(CreateMessageRequestBody.builder()
.receive_id("目标群聊或用户ID")
.msg_type("text")
.content(json.dumps({"text": "消息内容"}))
.build()) \
.build()
response = client.im.v1.message.create(request)
富文本消息:
content = {
"zh_cn": {
"title": "周报通知",
"content": [
[{"tag": "text", "text": "请各位提交本周周报"}],
[{"tag": "a", "text": "点击填写", "href": "https://..."}],
]
}
}
# msg_type = "post"
获取群聊列表:
request = ListChatRequest.builder().build()
response = client.im.v1.chat.list(request)
from lark_oapi.api.docx.v1 import *
# 读取文档内容
request = RawContentDocumentRequest.builder() \
.document_id("文档ID") \
.build()
response = client.docx.v1.document.raw_content(request)
# 创建文档
request = CreateDocumentRequest.builder() \
.request_body(CreateDocumentRequestBody.builder()
.title("文档标题")
.folder_token("目标文件夹token")
.build()) \
.build()
response = client.docx.v1.document.create(request)
搜索文档(REST API):
import httpx
token = get_tenant_access_token()
resp = await httpx.AsyncClient().post(
"https://open.feishu.cn/open-apis/suite/docs-api/search/object",
headers={"Authorization": f"Bearer {token}"},
json={"search_key": "搜索关键词", "count": 10},
)
from lark_oapi.api.calendar.v4 import *
import time
# 查询今日日程
now = int(time.time())
request = ListCalendarEventRequest.builder() \
.calendar_id("primary") \
.start_time(str(now)) \
.end_time(str(now + 86400)) \
.build()
response = client.calendar.v4.calendar_event.list(request)
# 创建日程
request = CreateCalendarEventRequest.builder() \
.calendar_id("primary") \
.request_body(CalendarEvent.builder()
.summary("产品评审会")
.start_time(TimeInfo.builder().timestamp("1709000000").build())
.end_time(TimeInfo.builder().timestamp("1709003600").build())
.build()) \
.build()
response = client.calendar.v4.calendar_event.create(request)
from lark_oapi.api.task.v2 import *
# 获取任务列表
request = ListTaskRequest.builder().page_size(50).build()
response = client.task.v2.task.list(request)
# 创建任务
request = CreateTaskRequest.builder() \
.request_body(InputTask.builder()
.summary("周五前交产品报告")
.due(Due.builder().timestamp("1709251200").is_all_day(False).build())
.build()) \
.build()
response = client.task.v2.task.create(request)
# 完成任务
request = CompleteTaskRequest.builder().task_id("任务ID").build()
response = client.task.v2.task.complete(request)
# 获取待审批列表(REST API)
token = get_tenant_access_token()
resp = await httpx.AsyncClient().get(
"https://open.feishu.cn/open-apis/approval/v4/tasks/query",
headers={"Authorization": f"Bearer {token}"},
params={"status": "PENDING"},
)
from lark_oapi.api.minutes.v1 import *
# 获取妙记列表
request = ListMinuteRequest.builder().page_size(20).build()
response = client.minutes.v1.minute.list(request)
# 获取转写文本
request = GetMinuteTranscriptRequest.builder() \
.minute_token("妙记token") \
.build()
response = client.minutes.v1.minute_transcript.get(request)
if response.success():
for paragraph in response.data.paragraphs:
speaker = paragraph.speaker.user_name if paragraph.speaker else "未知"
print(f"[{speaker}] {paragraph.content}")
妙记获取后可调用 meeting-insights-analyzer 做深度分析,或 meeting-notes-to-action-items 提取行动项。
用户提到飞书/Lark/Feishu → feishu ✅
用户需要操作中文协作文档 → feishu ✅(如果用户用飞书)
日历相关
├── Google Calendar → google-workspace
├── Apple Calendar → apple-calendar
└── 飞书日历 → feishu ✅
即时消息
├── Slack → slack
├── Discord → discord
└── 飞书/企业沟通 → feishu ✅
任务待办
├── Todoist → todoist
├── Things → things-mac
└── 飞书任务 → feishu ✅
会议纪要
└── 飞书妙记 → feishu ✅(获取后可交给 meeting 组 skill 分析)
hitl 确认development
Local web search (Tavily/Exa, requires API Key). For quick searches. If no Key configured or deep research needed, use cloud_agent instead.
development
Get current weather and forecasts (no API key required).
tools
Send WhatsApp messages to other people or search/sync WhatsApp history via the wacli CLI (not for normal user chats).
tools
Start voice calls via the Moltbot voice-call plugin.