@larksuite/openclaw-lark 2026.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +10 -0
- package/README.md +283 -0
- package/index.d.ts +37 -0
- package/index.d.ts.map +1 -0
- package/index.js +119 -0
- package/index.js.map +1 -0
- package/openclaw.plugin.json +10 -0
- package/package.json +47 -0
- package/skills/feishu-bitable/SKILL.md +248 -0
- package/skills/feishu-bitable/references/examples.md +813 -0
- package/skills/feishu-bitable/references/field-properties.md +763 -0
- package/skills/feishu-bitable/references/record-values.md +911 -0
- package/skills/feishu-calendar/SKILL.md +244 -0
- package/skills/feishu-channel-rules/SKILL.md +18 -0
- package/skills/feishu-channel-rules/references/markdown-syntax.md +138 -0
- package/skills/feishu-create-doc/SKILL.md +719 -0
- package/skills/feishu-fetch-doc/SKILL.md +93 -0
- package/skills/feishu-im-read/SKILL.md +163 -0
- package/skills/feishu-task/SKILL.md +293 -0
- package/skills/feishu-troubleshoot/SKILL.md +70 -0
- package/skills/feishu-update-doc/SKILL.md +285 -0
- package/src/card/builder.d.ts +100 -0
- package/src/card/builder.d.ts.map +1 -0
- package/src/card/builder.js +381 -0
- package/src/card/builder.js.map +1 -0
- package/src/card/cardkit.d.ts +91 -0
- package/src/card/cardkit.d.ts.map +1 -0
- package/src/card/cardkit.js +182 -0
- package/src/card/cardkit.js.map +1 -0
- package/src/card/flush-controller.d.ts +46 -0
- package/src/card/flush-controller.d.ts.map +1 -0
- package/src/card/flush-controller.js +135 -0
- package/src/card/flush-controller.js.map +1 -0
- package/src/card/markdown-style.d.ts +17 -0
- package/src/card/markdown-style.d.ts.map +1 -0
- package/src/card/markdown-style.js +98 -0
- package/src/card/markdown-style.js.map +1 -0
- package/src/card/reply-dispatcher-types.d.ts +121 -0
- package/src/card/reply-dispatcher-types.d.ts.map +1 -0
- package/src/card/reply-dispatcher-types.js +58 -0
- package/src/card/reply-dispatcher-types.js.map +1 -0
- package/src/card/reply-dispatcher.d.ts +16 -0
- package/src/card/reply-dispatcher.d.ts.map +1 -0
- package/src/card/reply-dispatcher.js +293 -0
- package/src/card/reply-dispatcher.js.map +1 -0
- package/src/card/reply-mode.d.ts +39 -0
- package/src/card/reply-mode.d.ts.map +1 -0
- package/src/card/reply-mode.js +66 -0
- package/src/card/reply-mode.js.map +1 -0
- package/src/card/streaming-card-controller.d.ts +88 -0
- package/src/card/streaming-card-controller.d.ts.map +1 -0
- package/src/card/streaming-card-controller.js +717 -0
- package/src/card/streaming-card-controller.js.map +1 -0
- package/src/card/unavailable-guard.d.ts +36 -0
- package/src/card/unavailable-guard.d.ts.map +1 -0
- package/src/card/unavailable-guard.js +84 -0
- package/src/card/unavailable-guard.js.map +1 -0
- package/src/channel/abort-detect.d.ts +35 -0
- package/src/channel/abort-detect.d.ts.map +1 -0
- package/src/channel/abort-detect.js +125 -0
- package/src/channel/abort-detect.js.map +1 -0
- package/src/channel/chat-queue.d.ts +42 -0
- package/src/channel/chat-queue.d.ts.map +1 -0
- package/src/channel/chat-queue.js +59 -0
- package/src/channel/chat-queue.js.map +1 -0
- package/src/channel/config-adapter.d.ts +24 -0
- package/src/channel/config-adapter.d.ts.map +1 -0
- package/src/channel/config-adapter.js +102 -0
- package/src/channel/config-adapter.js.map +1 -0
- package/src/channel/directory.d.ts +58 -0
- package/src/channel/directory.d.ts.map +1 -0
- package/src/channel/directory.js +192 -0
- package/src/channel/directory.js.map +1 -0
- package/src/channel/event-handlers.d.ts +16 -0
- package/src/channel/event-handlers.d.ts.map +1 -0
- package/src/channel/event-handlers.js +222 -0
- package/src/channel/event-handlers.js.map +1 -0
- package/src/channel/monitor.d.ts +18 -0
- package/src/channel/monitor.d.ts.map +1 -0
- package/src/channel/monitor.js +128 -0
- package/src/channel/monitor.js.map +1 -0
- package/src/channel/onboarding-config.d.ts +18 -0
- package/src/channel/onboarding-config.d.ts.map +1 -0
- package/src/channel/onboarding-config.js +89 -0
- package/src/channel/onboarding-config.js.map +1 -0
- package/src/channel/onboarding-migrate.d.ts +26 -0
- package/src/channel/onboarding-migrate.d.ts.map +1 -0
- package/src/channel/onboarding-migrate.js +68 -0
- package/src/channel/onboarding-migrate.js.map +1 -0
- package/src/channel/onboarding.d.ts +13 -0
- package/src/channel/onboarding.d.ts.map +1 -0
- package/src/channel/onboarding.js +297 -0
- package/src/channel/onboarding.js.map +1 -0
- package/src/channel/plugin.d.ts +14 -0
- package/src/channel/plugin.d.ts.map +1 -0
- package/src/channel/plugin.js +279 -0
- package/src/channel/plugin.js.map +1 -0
- package/src/channel/probe.d.ts +15 -0
- package/src/channel/probe.d.ts.map +1 -0
- package/src/channel/probe.js +22 -0
- package/src/channel/probe.js.map +1 -0
- package/src/channel/types.d.ts +37 -0
- package/src/channel/types.d.ts.map +1 -0
- package/src/channel/types.js +8 -0
- package/src/channel/types.js.map +1 -0
- package/src/commands/auth.d.ts +16 -0
- package/src/commands/auth.d.ts.map +1 -0
- package/src/commands/auth.js +85 -0
- package/src/commands/auth.js.map +1 -0
- package/src/commands/diagnose.d.ts +70 -0
- package/src/commands/diagnose.d.ts.map +1 -0
- package/src/commands/diagnose.js +808 -0
- package/src/commands/diagnose.js.map +1 -0
- package/src/commands/doctor.d.ts +18 -0
- package/src/commands/doctor.d.ts.map +1 -0
- package/src/commands/doctor.js +439 -0
- package/src/commands/doctor.js.map +1 -0
- package/src/commands/index.d.ts +9 -0
- package/src/commands/index.d.ts.map +1 -0
- package/src/commands/index.js +208 -0
- package/src/commands/index.js.map +1 -0
- package/src/core/accounts.d.ts +38 -0
- package/src/core/accounts.d.ts.map +1 -0
- package/src/core/accounts.js +179 -0
- package/src/core/accounts.js.map +1 -0
- package/src/core/agent-config.d.ts +101 -0
- package/src/core/agent-config.d.ts.map +1 -0
- package/src/core/agent-config.js +140 -0
- package/src/core/agent-config.js.map +1 -0
- package/src/core/api-error.d.ts +49 -0
- package/src/core/api-error.d.ts.map +1 -0
- package/src/core/api-error.js +113 -0
- package/src/core/api-error.js.map +1 -0
- package/src/core/app-owner-fallback.d.ts +22 -0
- package/src/core/app-owner-fallback.d.ts.map +1 -0
- package/src/core/app-owner-fallback.js +39 -0
- package/src/core/app-owner-fallback.js.map +1 -0
- package/src/core/app-scope-checker.d.ts +88 -0
- package/src/core/app-scope-checker.d.ts.map +1 -0
- package/src/core/app-scope-checker.js +191 -0
- package/src/core/app-scope-checker.js.map +1 -0
- package/src/core/auth-errors.d.ts +143 -0
- package/src/core/auth-errors.d.ts.map +1 -0
- package/src/core/auth-errors.js +156 -0
- package/src/core/auth-errors.js.map +1 -0
- package/src/core/chat-info-cache.d.ts +58 -0
- package/src/core/chat-info-cache.d.ts.map +1 -0
- package/src/core/chat-info-cache.js +153 -0
- package/src/core/chat-info-cache.js.map +1 -0
- package/src/core/config-schema.d.ts +449 -0
- package/src/core/config-schema.d.ts.map +1 -0
- package/src/core/config-schema.js +201 -0
- package/src/core/config-schema.js.map +1 -0
- package/src/core/device-flow.d.ts +78 -0
- package/src/core/device-flow.d.ts.map +1 -0
- package/src/core/device-flow.js +213 -0
- package/src/core/device-flow.js.map +1 -0
- package/src/core/feishu-fetch.d.ts +19 -0
- package/src/core/feishu-fetch.d.ts.map +1 -0
- package/src/core/feishu-fetch.js +26 -0
- package/src/core/feishu-fetch.js.map +1 -0
- package/src/core/footer-config.d.ts +25 -0
- package/src/core/footer-config.d.ts.map +1 -0
- package/src/core/footer-config.js +40 -0
- package/src/core/footer-config.js.map +1 -0
- package/src/core/lark-client.d.ts +109 -0
- package/src/core/lark-client.d.ts.map +1 -0
- package/src/core/lark-client.js +354 -0
- package/src/core/lark-client.js.map +1 -0
- package/src/core/lark-logger.d.ts +24 -0
- package/src/core/lark-logger.d.ts.map +1 -0
- package/src/core/lark-logger.js +155 -0
- package/src/core/lark-logger.js.map +1 -0
- package/src/core/lark-ticket.d.ts +30 -0
- package/src/core/lark-ticket.d.ts.map +1 -0
- package/src/core/lark-ticket.js +36 -0
- package/src/core/lark-ticket.js.map +1 -0
- package/src/core/message-unavailable.d.ts +54 -0
- package/src/core/message-unavailable.d.ts.map +1 -0
- package/src/core/message-unavailable.js +131 -0
- package/src/core/message-unavailable.js.map +1 -0
- package/src/core/owner-policy.d.ts +32 -0
- package/src/core/owner-policy.d.ts.map +1 -0
- package/src/core/owner-policy.js +53 -0
- package/src/core/owner-policy.js.map +1 -0
- package/src/core/permission-url.d.ts +23 -0
- package/src/core/permission-url.d.ts.map +1 -0
- package/src/core/permission-url.js +73 -0
- package/src/core/permission-url.js.map +1 -0
- package/src/core/raw-request.d.ts +28 -0
- package/src/core/raw-request.d.ts.map +1 -0
- package/src/core/raw-request.js +63 -0
- package/src/core/raw-request.js.map +1 -0
- package/src/core/scope-manager.d.ts +169 -0
- package/src/core/scope-manager.d.ts.map +1 -0
- package/src/core/scope-manager.js +214 -0
- package/src/core/scope-manager.js.map +1 -0
- package/src/core/security-check.d.ts +73 -0
- package/src/core/security-check.d.ts.map +1 -0
- package/src/core/security-check.js +175 -0
- package/src/core/security-check.js.map +1 -0
- package/src/core/shutdown-hooks.d.ts +23 -0
- package/src/core/shutdown-hooks.d.ts.map +1 -0
- package/src/core/shutdown-hooks.js +57 -0
- package/src/core/shutdown-hooks.js.map +1 -0
- package/src/core/targets.d.ts +50 -0
- package/src/core/targets.d.ts.map +1 -0
- package/src/core/targets.js +128 -0
- package/src/core/targets.js.map +1 -0
- package/src/core/token-store.d.ts +55 -0
- package/src/core/token-store.d.ts.map +1 -0
- package/src/core/token-store.js +315 -0
- package/src/core/token-store.js.map +1 -0
- package/src/core/tool-client.d.ts +177 -0
- package/src/core/tool-client.d.ts.map +1 -0
- package/src/core/tool-client.js +381 -0
- package/src/core/tool-client.js.map +1 -0
- package/src/core/tool-scopes.d.ts +154 -0
- package/src/core/tool-scopes.d.ts.map +1 -0
- package/src/core/tool-scopes.js +326 -0
- package/src/core/tool-scopes.js.map +1 -0
- package/src/core/tools-config.d.ts +35 -0
- package/src/core/tools-config.d.ts.map +1 -0
- package/src/core/tools-config.js +88 -0
- package/src/core/tools-config.js.map +1 -0
- package/src/core/types.d.ts +88 -0
- package/src/core/types.d.ts.map +1 -0
- package/src/core/types.js +12 -0
- package/src/core/types.js.map +1 -0
- package/src/core/uat-client.d.ts +47 -0
- package/src/core/uat-client.d.ts.map +1 -0
- package/src/core/uat-client.js +173 -0
- package/src/core/uat-client.js.map +1 -0
- package/src/core/version.d.ts +26 -0
- package/src/core/version.d.ts.map +1 -0
- package/src/core/version.js +50 -0
- package/src/core/version.js.map +1 -0
- package/src/messaging/converters/audio.d.ts +9 -0
- package/src/messaging/converters/audio.d.ts.map +1 -0
- package/src/messaging/converters/audio.js +22 -0
- package/src/messaging/converters/audio.js.map +1 -0
- package/src/messaging/converters/calendar.d.ts +14 -0
- package/src/messaging/converters/calendar.d.ts.map +1 -0
- package/src/messaging/converters/calendar.js +51 -0
- package/src/messaging/converters/calendar.js.map +1 -0
- package/src/messaging/converters/content-converter.d.ts +42 -0
- package/src/messaging/converters/content-converter.d.ts.map +1 -0
- package/src/messaging/converters/content-converter.js +107 -0
- package/src/messaging/converters/content-converter.js.map +1 -0
- package/src/messaging/converters/file.d.ts +9 -0
- package/src/messaging/converters/file.d.ts.map +1 -0
- package/src/messaging/converters/file.js +21 -0
- package/src/messaging/converters/file.js.map +1 -0
- package/src/messaging/converters/folder.d.ts +9 -0
- package/src/messaging/converters/folder.d.ts.map +1 -0
- package/src/messaging/converters/folder.js +21 -0
- package/src/messaging/converters/folder.js.map +1 -0
- package/src/messaging/converters/hongbao.d.ts +9 -0
- package/src/messaging/converters/hongbao.d.ts.map +1 -0
- package/src/messaging/converters/hongbao.js +17 -0
- package/src/messaging/converters/hongbao.js.map +1 -0
- package/src/messaging/converters/image.d.ts +9 -0
- package/src/messaging/converters/image.d.ts.map +1 -0
- package/src/messaging/converters/image.js +19 -0
- package/src/messaging/converters/image.js.map +1 -0
- package/src/messaging/converters/index.d.ts +9 -0
- package/src/messaging/converters/index.d.ts.map +1 -0
- package/src/messaging/converters/index.js +51 -0
- package/src/messaging/converters/index.js.map +1 -0
- package/src/messaging/converters/interactive/card-converter.d.ts +77 -0
- package/src/messaging/converters/interactive/card-converter.d.ts.map +1 -0
- package/src/messaging/converters/interactive/card-converter.js +1174 -0
- package/src/messaging/converters/interactive/card-converter.js.map +1 -0
- package/src/messaging/converters/interactive/card-utils.d.ts +10 -0
- package/src/messaging/converters/interactive/card-utils.d.ts.map +1 -0
- package/src/messaging/converters/interactive/card-utils.js +43 -0
- package/src/messaging/converters/interactive/card-utils.js.map +1 -0
- package/src/messaging/converters/interactive/index.d.ts +9 -0
- package/src/messaging/converters/interactive/index.d.ts.map +1 -0
- package/src/messaging/converters/interactive/index.js +22 -0
- package/src/messaging/converters/interactive/index.js.map +1 -0
- package/src/messaging/converters/interactive/legacy.d.ts +12 -0
- package/src/messaging/converters/interactive/legacy.d.ts.map +1 -0
- package/src/messaging/converters/interactive/legacy.js +58 -0
- package/src/messaging/converters/interactive/legacy.js.map +1 -0
- package/src/messaging/converters/interactive/types.d.ts +24 -0
- package/src/messaging/converters/interactive/types.d.ts.map +1 -0
- package/src/messaging/converters/interactive/types.js +25 -0
- package/src/messaging/converters/interactive/types.js.map +1 -0
- package/src/messaging/converters/location.d.ts +9 -0
- package/src/messaging/converters/location.d.ts.map +1 -0
- package/src/messaging/converters/location.js +20 -0
- package/src/messaging/converters/location.js.map +1 -0
- package/src/messaging/converters/merge-forward.d.ts +33 -0
- package/src/messaging/converters/merge-forward.d.ts.map +1 -0
- package/src/messaging/converters/merge-forward.js +226 -0
- package/src/messaging/converters/merge-forward.js.map +1 -0
- package/src/messaging/converters/post.d.ts +12 -0
- package/src/messaging/converters/post.d.ts.map +1 -0
- package/src/messaging/converters/post.js +136 -0
- package/src/messaging/converters/post.js.map +1 -0
- package/src/messaging/converters/share.d.ts +10 -0
- package/src/messaging/converters/share.d.ts.map +1 -0
- package/src/messaging/converters/share.js +24 -0
- package/src/messaging/converters/share.js.map +1 -0
- package/src/messaging/converters/sticker.d.ts +9 -0
- package/src/messaging/converters/sticker.d.ts.map +1 -0
- package/src/messaging/converters/sticker.js +19 -0
- package/src/messaging/converters/sticker.js.map +1 -0
- package/src/messaging/converters/system.d.ts +13 -0
- package/src/messaging/converters/system.d.ts.map +1 -0
- package/src/messaging/converters/system.js +33 -0
- package/src/messaging/converters/system.js.map +1 -0
- package/src/messaging/converters/text.d.ts +9 -0
- package/src/messaging/converters/text.d.ts.map +1 -0
- package/src/messaging/converters/text.js +15 -0
- package/src/messaging/converters/text.js.map +1 -0
- package/src/messaging/converters/todo.d.ts +9 -0
- package/src/messaging/converters/todo.d.ts.map +1 -0
- package/src/messaging/converters/todo.js +42 -0
- package/src/messaging/converters/todo.js.map +1 -0
- package/src/messaging/converters/types.d.ts +108 -0
- package/src/messaging/converters/types.d.ts.map +1 -0
- package/src/messaging/converters/types.js +8 -0
- package/src/messaging/converters/types.js.map +1 -0
- package/src/messaging/converters/unknown.d.ts +9 -0
- package/src/messaging/converters/unknown.d.ts.map +1 -0
- package/src/messaging/converters/unknown.js +17 -0
- package/src/messaging/converters/unknown.js.map +1 -0
- package/src/messaging/converters/utils.d.ts +23 -0
- package/src/messaging/converters/utils.d.ts.map +1 -0
- package/src/messaging/converters/utils.js +52 -0
- package/src/messaging/converters/utils.js.map +1 -0
- package/src/messaging/converters/video-chat.d.ts +9 -0
- package/src/messaging/converters/video-chat.d.ts.map +1 -0
- package/src/messaging/converters/video-chat.js +24 -0
- package/src/messaging/converters/video-chat.js.map +1 -0
- package/src/messaging/converters/video.d.ts +9 -0
- package/src/messaging/converters/video.d.ts.map +1 -0
- package/src/messaging/converters/video.js +33 -0
- package/src/messaging/converters/video.js.map +1 -0
- package/src/messaging/converters/vote.d.ts +9 -0
- package/src/messaging/converters/vote.d.ts.map +1 -0
- package/src/messaging/converters/vote.js +25 -0
- package/src/messaging/converters/vote.js.map +1 -0
- package/src/messaging/inbound/dedup.d.ts +60 -0
- package/src/messaging/inbound/dedup.d.ts.map +1 -0
- package/src/messaging/inbound/dedup.js +117 -0
- package/src/messaging/inbound/dedup.js.map +1 -0
- package/src/messaging/inbound/dispatch-builders.d.ts +84 -0
- package/src/messaging/inbound/dispatch-builders.d.ts.map +1 -0
- package/src/messaging/inbound/dispatch-builders.js +153 -0
- package/src/messaging/inbound/dispatch-builders.js.map +1 -0
- package/src/messaging/inbound/dispatch-commands.d.ts +28 -0
- package/src/messaging/inbound/dispatch-commands.d.ts.map +1 -0
- package/src/messaging/inbound/dispatch-commands.js +113 -0
- package/src/messaging/inbound/dispatch-commands.js.map +1 -0
- package/src/messaging/inbound/dispatch-context.d.ts +68 -0
- package/src/messaging/inbound/dispatch-context.d.ts.map +1 -0
- package/src/messaging/inbound/dispatch-context.js +137 -0
- package/src/messaging/inbound/dispatch-context.js.map +1 -0
- package/src/messaging/inbound/dispatch.d.ts +48 -0
- package/src/messaging/inbound/dispatch.d.ts.map +1 -0
- package/src/messaging/inbound/dispatch.js +193 -0
- package/src/messaging/inbound/dispatch.js.map +1 -0
- package/src/messaging/inbound/enrich.d.ts +103 -0
- package/src/messaging/inbound/enrich.d.ts.map +1 -0
- package/src/messaging/inbound/enrich.js +228 -0
- package/src/messaging/inbound/enrich.js.map +1 -0
- package/src/messaging/inbound/gate-effects.d.ts +24 -0
- package/src/messaging/inbound/gate-effects.d.ts.map +1 -0
- package/src/messaging/inbound/gate-effects.js +44 -0
- package/src/messaging/inbound/gate-effects.js.map +1 -0
- package/src/messaging/inbound/gate.d.ts +61 -0
- package/src/messaging/inbound/gate.d.ts.map +1 -0
- package/src/messaging/inbound/gate.js +234 -0
- package/src/messaging/inbound/gate.js.map +1 -0
- package/src/messaging/inbound/handler.d.ts +36 -0
- package/src/messaging/inbound/handler.d.ts.map +1 -0
- package/src/messaging/inbound/handler.js +174 -0
- package/src/messaging/inbound/handler.js.map +1 -0
- package/src/messaging/inbound/media-resolver.d.ts +33 -0
- package/src/messaging/inbound/media-resolver.d.ts.map +1 -0
- package/src/messaging/inbound/media-resolver.js +88 -0
- package/src/messaging/inbound/media-resolver.js.map +1 -0
- package/src/messaging/inbound/mention.d.ts +40 -0
- package/src/messaging/inbound/mention.d.ts.map +1 -0
- package/src/messaging/inbound/mention.js +82 -0
- package/src/messaging/inbound/mention.js.map +1 -0
- package/src/messaging/inbound/parse-io.d.ts +51 -0
- package/src/messaging/inbound/parse-io.d.ts.map +1 -0
- package/src/messaging/inbound/parse-io.js +82 -0
- package/src/messaging/inbound/parse-io.js.map +1 -0
- package/src/messaging/inbound/parse.d.ts +29 -0
- package/src/messaging/inbound/parse.d.ts.map +1 -0
- package/src/messaging/inbound/parse.js +107 -0
- package/src/messaging/inbound/parse.js.map +1 -0
- package/src/messaging/inbound/permission.d.ts +18 -0
- package/src/messaging/inbound/permission.d.ts.map +1 -0
- package/src/messaging/inbound/permission.js +41 -0
- package/src/messaging/inbound/permission.js.map +1 -0
- package/src/messaging/inbound/policy.d.ts +95 -0
- package/src/messaging/inbound/policy.d.ts.map +1 -0
- package/src/messaging/inbound/policy.js +161 -0
- package/src/messaging/inbound/policy.js.map +1 -0
- package/src/messaging/inbound/reaction-handler.d.ts +62 -0
- package/src/messaging/inbound/reaction-handler.d.ts.map +1 -0
- package/src/messaging/inbound/reaction-handler.js +221 -0
- package/src/messaging/inbound/reaction-handler.js.map +1 -0
- package/src/messaging/inbound/user-name-cache.d.ts +83 -0
- package/src/messaging/inbound/user-name-cache.d.ts.map +1 -0
- package/src/messaging/inbound/user-name-cache.js +242 -0
- package/src/messaging/inbound/user-name-cache.js.map +1 -0
- package/src/messaging/outbound/actions.d.ts +17 -0
- package/src/messaging/outbound/actions.d.ts.map +1 -0
- package/src/messaging/outbound/actions.js +310 -0
- package/src/messaging/outbound/actions.js.map +1 -0
- package/src/messaging/outbound/chat-manage.d.ts +65 -0
- package/src/messaging/outbound/chat-manage.d.ts.map +1 -0
- package/src/messaging/outbound/chat-manage.js +112 -0
- package/src/messaging/outbound/chat-manage.js.map +1 -0
- package/src/messaging/outbound/deliver.d.ts +156 -0
- package/src/messaging/outbound/deliver.d.ts.map +1 -0
- package/src/messaging/outbound/deliver.js +299 -0
- package/src/messaging/outbound/deliver.js.map +1 -0
- package/src/messaging/outbound/fetch.d.ts +13 -0
- package/src/messaging/outbound/fetch.d.ts.map +1 -0
- package/src/messaging/outbound/fetch.js +13 -0
- package/src/messaging/outbound/fetch.js.map +1 -0
- package/src/messaging/outbound/forward.d.ts +27 -0
- package/src/messaging/outbound/forward.d.ts.map +1 -0
- package/src/messaging/outbound/forward.js +49 -0
- package/src/messaging/outbound/forward.js.map +1 -0
- package/src/messaging/outbound/media-url-utils.d.ts +30 -0
- package/src/messaging/outbound/media-url-utils.d.ts.map +1 -0
- package/src/messaging/outbound/media-url-utils.js +131 -0
- package/src/messaging/outbound/media-url-utils.js.map +1 -0
- package/src/messaging/outbound/media.d.ts +256 -0
- package/src/messaging/outbound/media.d.ts.map +1 -0
- package/src/messaging/outbound/media.js +749 -0
- package/src/messaging/outbound/media.js.map +1 -0
- package/src/messaging/outbound/outbound.d.ts +90 -0
- package/src/messaging/outbound/outbound.d.ts.map +1 -0
- package/src/messaging/outbound/outbound.js +112 -0
- package/src/messaging/outbound/outbound.js.map +1 -0
- package/src/messaging/outbound/reactions.d.ts +125 -0
- package/src/messaging/outbound/reactions.d.ts.map +1 -0
- package/src/messaging/outbound/reactions.js +379 -0
- package/src/messaging/outbound/reactions.js.map +1 -0
- package/src/messaging/outbound/send.d.ts +136 -0
- package/src/messaging/outbound/send.d.ts.map +1 -0
- package/src/messaging/outbound/send.js +289 -0
- package/src/messaging/outbound/send.js.map +1 -0
- package/src/messaging/outbound/typing.d.ts +61 -0
- package/src/messaging/outbound/typing.d.ts.map +1 -0
- package/src/messaging/outbound/typing.js +136 -0
- package/src/messaging/outbound/typing.js.map +1 -0
- package/src/messaging/shared/message-lookup.d.ts +55 -0
- package/src/messaging/shared/message-lookup.d.ts.map +1 -0
- package/src/messaging/shared/message-lookup.js +118 -0
- package/src/messaging/shared/message-lookup.js.map +1 -0
- package/src/messaging/types.d.ts +177 -0
- package/src/messaging/types.d.ts.map +1 -0
- package/src/messaging/types.js +11 -0
- package/src/messaging/types.js.map +1 -0
- package/src/tools/auto-auth.d.ts +57 -0
- package/src/tools/auto-auth.d.ts.map +1 -0
- package/src/tools/auto-auth.js +925 -0
- package/src/tools/auto-auth.js.map +1 -0
- package/src/tools/helpers.d.ts +220 -0
- package/src/tools/helpers.d.ts.map +1 -0
- package/src/tools/helpers.js +298 -0
- package/src/tools/helpers.js.map +1 -0
- package/src/tools/mcp/doc/create.d.ts +13 -0
- package/src/tools/mcp/doc/create.d.ts.map +1 -0
- package/src/tools/mcp/doc/create.js +45 -0
- package/src/tools/mcp/doc/create.js.map +1 -0
- package/src/tools/mcp/doc/fetch.d.ts +13 -0
- package/src/tools/mcp/doc/fetch.d.ts.map +1 -0
- package/src/tools/mcp/doc/fetch.js +37 -0
- package/src/tools/mcp/doc/fetch.js.map +1 -0
- package/src/tools/mcp/doc/index.d.ts +13 -0
- package/src/tools/mcp/doc/index.d.ts.map +1 -0
- package/src/tools/mcp/doc/index.js +42 -0
- package/src/tools/mcp/doc/index.js.map +1 -0
- package/src/tools/mcp/doc/update.d.ts +13 -0
- package/src/tools/mcp/doc/update.d.ts.map +1 -0
- package/src/tools/mcp/doc/update.js +62 -0
- package/src/tools/mcp/doc/update.js.map +1 -0
- package/src/tools/mcp/shared.d.ts +58 -0
- package/src/tools/mcp/shared.d.ts.map +1 -0
- package/src/tools/mcp/shared.js +224 -0
- package/src/tools/mcp/shared.js.map +1 -0
- package/src/tools/oapi/bitable/app-table-field.d.ts +17 -0
- package/src/tools/oapi/bitable/app-table-field.d.ts.map +1 -0
- package/src/tools/oapi/bitable/app-table-field.js +224 -0
- package/src/tools/oapi/bitable/app-table-field.js.map +1 -0
- package/src/tools/oapi/bitable/app-table-record.d.ts +21 -0
- package/src/tools/oapi/bitable/app-table-record.d.ts.map +1 -0
- package/src/tools/oapi/bitable/app-table-record.js +449 -0
- package/src/tools/oapi/bitable/app-table-record.js.map +1 -0
- package/src/tools/oapi/bitable/app-table-view.d.ts +18 -0
- package/src/tools/oapi/bitable/app-table-view.d.ts.map +1 -0
- package/src/tools/oapi/bitable/app-table-view.js +197 -0
- package/src/tools/oapi/bitable/app-table-view.js.map +1 -0
- package/src/tools/oapi/bitable/app-table.d.ts +20 -0
- package/src/tools/oapi/bitable/app-table.d.ts.map +1 -0
- package/src/tools/oapi/bitable/app-table.js +249 -0
- package/src/tools/oapi/bitable/app-table.js.map +1 -0
- package/src/tools/oapi/bitable/app.d.ts +19 -0
- package/src/tools/oapi/bitable/app.d.ts.map +1 -0
- package/src/tools/oapi/bitable/app.js +188 -0
- package/src/tools/oapi/bitable/app.js.map +1 -0
- package/src/tools/oapi/bitable/index.d.ts +10 -0
- package/src/tools/oapi/bitable/index.d.ts.map +1 -0
- package/src/tools/oapi/bitable/index.js +10 -0
- package/src/tools/oapi/bitable/index.js.map +1 -0
- package/src/tools/oapi/calendar/calendar.d.ts +16 -0
- package/src/tools/oapi/calendar/calendar.d.ts.map +1 -0
- package/src/tools/oapi/calendar/calendar.js +124 -0
- package/src/tools/oapi/calendar/calendar.js.map +1 -0
- package/src/tools/oapi/calendar/event-attendee.d.ts +17 -0
- package/src/tools/oapi/calendar/event-attendee.d.ts.map +1 -0
- package/src/tools/oapi/calendar/event-attendee.js +275 -0
- package/src/tools/oapi/calendar/event-attendee.js.map +1 -0
- package/src/tools/oapi/calendar/event.d.ts +17 -0
- package/src/tools/oapi/calendar/event.d.ts.map +1 -0
- package/src/tools/oapi/calendar/event.js +721 -0
- package/src/tools/oapi/calendar/event.js.map +1 -0
- package/src/tools/oapi/calendar/freebusy.d.ts +14 -0
- package/src/tools/oapi/calendar/freebusy.d.ts.map +1 -0
- package/src/tools/oapi/calendar/freebusy.js +113 -0
- package/src/tools/oapi/calendar/freebusy.js.map +1 -0
- package/src/tools/oapi/calendar/index.d.ts +9 -0
- package/src/tools/oapi/calendar/index.d.ts.map +1 -0
- package/src/tools/oapi/calendar/index.js +9 -0
- package/src/tools/oapi/calendar/index.js.map +1 -0
- package/src/tools/oapi/chat/chat.d.ts +17 -0
- package/src/tools/oapi/chat/chat.d.ts.map +1 -0
- package/src/tools/oapi/chat/chat.js +126 -0
- package/src/tools/oapi/chat/chat.js.map +1 -0
- package/src/tools/oapi/chat/index.d.ts +11 -0
- package/src/tools/oapi/chat/index.d.ts.map +1 -0
- package/src/tools/oapi/chat/index.js +16 -0
- package/src/tools/oapi/chat/index.js.map +1 -0
- package/src/tools/oapi/chat/members.d.ts +12 -0
- package/src/tools/oapi/chat/members.d.ts.map +1 -0
- package/src/tools/oapi/chat/members.js +83 -0
- package/src/tools/oapi/chat/members.js.map +1 -0
- package/src/tools/oapi/common/get-user.d.ts +13 -0
- package/src/tools/oapi/common/get-user.d.ts.map +1 -0
- package/src/tools/oapi/common/get-user.js +108 -0
- package/src/tools/oapi/common/get-user.js.map +1 -0
- package/src/tools/oapi/common/index.d.ts +7 -0
- package/src/tools/oapi/common/index.d.ts.map +1 -0
- package/src/tools/oapi/common/index.js +7 -0
- package/src/tools/oapi/common/index.js.map +1 -0
- package/src/tools/oapi/common/search-user.d.ts +12 -0
- package/src/tools/oapi/common/search-user.d.ts.map +1 -0
- package/src/tools/oapi/common/search-user.js +75 -0
- package/src/tools/oapi/common/search-user.js.map +1 -0
- package/src/tools/oapi/drive/doc-comments.d.ts +16 -0
- package/src/tools/oapi/drive/doc-comments.d.ts.map +1 -0
- package/src/tools/oapi/drive/doc-comments.js +288 -0
- package/src/tools/oapi/drive/doc-comments.js.map +1 -0
- package/src/tools/oapi/drive/doc-media.d.ts +20 -0
- package/src/tools/oapi/drive/doc-media.d.ts.map +1 -0
- package/src/tools/oapi/drive/doc-media.js +337 -0
- package/src/tools/oapi/drive/doc-media.js.map +1 -0
- package/src/tools/oapi/drive/file.d.ts +20 -0
- package/src/tools/oapi/drive/file.d.ts.map +1 -0
- package/src/tools/oapi/drive/file.js +485 -0
- package/src/tools/oapi/drive/file.js.map +1 -0
- package/src/tools/oapi/drive/index.d.ts +13 -0
- package/src/tools/oapi/drive/index.d.ts.map +1 -0
- package/src/tools/oapi/drive/index.js +37 -0
- package/src/tools/oapi/drive/index.js.map +1 -0
- package/src/tools/oapi/helpers.d.ts +174 -0
- package/src/tools/oapi/helpers.d.ts.map +1 -0
- package/src/tools/oapi/helpers.js +341 -0
- package/src/tools/oapi/helpers.js.map +1 -0
- package/src/tools/oapi/im/format-messages.d.ts +51 -0
- package/src/tools/oapi/im/format-messages.d.ts.map +1 -0
- package/src/tools/oapi/im/format-messages.js +166 -0
- package/src/tools/oapi/im/format-messages.js.map +1 -0
- package/src/tools/oapi/im/index.d.ts +11 -0
- package/src/tools/oapi/im/index.d.ts.map +1 -0
- package/src/tools/oapi/im/index.js +18 -0
- package/src/tools/oapi/im/index.js.map +1 -0
- package/src/tools/oapi/im/message-read.d.ts +14 -0
- package/src/tools/oapi/im/message-read.d.ts.map +1 -0
- package/src/tools/oapi/im/message-read.js +412 -0
- package/src/tools/oapi/im/message-read.js.map +1 -0
- package/src/tools/oapi/im/message.d.ts +17 -0
- package/src/tools/oapi/im/message.d.ts.map +1 -0
- package/src/tools/oapi/im/message.js +171 -0
- package/src/tools/oapi/im/message.js.map +1 -0
- package/src/tools/oapi/im/resource.d.ts +14 -0
- package/src/tools/oapi/im/resource.d.ts.map +1 -0
- package/src/tools/oapi/im/resource.js +152 -0
- package/src/tools/oapi/im/resource.js.map +1 -0
- package/src/tools/oapi/im/time-utils.d.ts +47 -0
- package/src/tools/oapi/im/time-utils.d.ts.map +1 -0
- package/src/tools/oapi/im/time-utils.js +202 -0
- package/src/tools/oapi/im/time-utils.js.map +1 -0
- package/src/tools/oapi/im/user-name-uat.d.ts +24 -0
- package/src/tools/oapi/im/user-name-uat.d.ts.map +1 -0
- package/src/tools/oapi/im/user-name-uat.js +128 -0
- package/src/tools/oapi/im/user-name-uat.js.map +1 -0
- package/src/tools/oapi/index.d.ts +12 -0
- package/src/tools/oapi/index.d.ts.map +1 -0
- package/src/tools/oapi/index.js +59 -0
- package/src/tools/oapi/index.js.map +1 -0
- package/src/tools/oapi/sdk-types.d.ts +97 -0
- package/src/tools/oapi/sdk-types.d.ts.map +1 -0
- package/src/tools/oapi/sdk-types.js +13 -0
- package/src/tools/oapi/sdk-types.js.map +1 -0
- package/src/tools/oapi/search/doc-search.d.ts +14 -0
- package/src/tools/oapi/search/doc-search.d.ts.map +1 -0
- package/src/tools/oapi/search/doc-search.js +203 -0
- package/src/tools/oapi/search/doc-search.js.map +1 -0
- package/src/tools/oapi/search/index.d.ts +13 -0
- package/src/tools/oapi/search/index.d.ts.map +1 -0
- package/src/tools/oapi/search/index.js +34 -0
- package/src/tools/oapi/search/index.js.map +1 -0
- package/src/tools/oapi/sheets/index.d.ts +13 -0
- package/src/tools/oapi/sheets/index.d.ts.map +1 -0
- package/src/tools/oapi/sheets/index.js +32 -0
- package/src/tools/oapi/sheets/index.js.map +1 -0
- package/src/tools/oapi/sheets/sheet.d.ts +17 -0
- package/src/tools/oapi/sheets/sheet.d.ts.map +1 -0
- package/src/tools/oapi/sheets/sheet.js +652 -0
- package/src/tools/oapi/sheets/sheet.js.map +1 -0
- package/src/tools/oapi/task/comment.d.ts +16 -0
- package/src/tools/oapi/task/comment.d.ts.map +1 -0
- package/src/tools/oapi/task/comment.js +142 -0
- package/src/tools/oapi/task/comment.js.map +1 -0
- package/src/tools/oapi/task/index.d.ts +9 -0
- package/src/tools/oapi/task/index.d.ts.map +1 -0
- package/src/tools/oapi/task/index.js +9 -0
- package/src/tools/oapi/task/index.js.map +1 -0
- package/src/tools/oapi/task/subtask.d.ts +15 -0
- package/src/tools/oapi/task/subtask.d.ts.map +1 -0
- package/src/tools/oapi/task/subtask.js +164 -0
- package/src/tools/oapi/task/subtask.js.map +1 -0
- package/src/tools/oapi/task/task.d.ts +17 -0
- package/src/tools/oapi/task/task.d.ts.map +1 -0
- package/src/tools/oapi/task/task.js +346 -0
- package/src/tools/oapi/task/task.js.map +1 -0
- package/src/tools/oapi/task/tasklist.d.ts +22 -0
- package/src/tools/oapi/task/tasklist.d.ts.map +1 -0
- package/src/tools/oapi/task/tasklist.js +323 -0
- package/src/tools/oapi/task/tasklist.js.map +1 -0
- package/src/tools/oapi/wiki/index.d.ts +13 -0
- package/src/tools/oapi/wiki/index.d.ts.map +1 -0
- package/src/tools/oapi/wiki/index.js +35 -0
- package/src/tools/oapi/wiki/index.js.map +1 -0
- package/src/tools/oapi/wiki/space-node.d.ts +18 -0
- package/src/tools/oapi/wiki/space-node.d.ts.map +1 -0
- package/src/tools/oapi/wiki/space-node.js +253 -0
- package/src/tools/oapi/wiki/space-node.js.map +1 -0
- package/src/tools/oapi/wiki/space.d.ts +16 -0
- package/src/tools/oapi/wiki/space.d.ts.map +1 -0
- package/src/tools/oapi/wiki/space.js +132 -0
- package/src/tools/oapi/wiki/space.js.map +1 -0
- package/src/tools/oauth-batch-auth.d.ts +12 -0
- package/src/tools/oauth-batch-auth.d.ts.map +1 -0
- package/src/tools/oauth-batch-auth.js +142 -0
- package/src/tools/oauth-batch-auth.js.map +1 -0
- package/src/tools/oauth-cards.d.ts +27 -0
- package/src/tools/oauth-cards.d.ts.map +1 -0
- package/src/tools/oauth-cards.js +251 -0
- package/src/tools/oauth-cards.js.map +1 -0
- package/src/tools/oauth.d.ts +48 -0
- package/src/tools/oauth.d.ts.map +1 -0
- package/src/tools/oauth.js +619 -0
- package/src/tools/oauth.js.map +1 -0
- package/src/tools/onboarding-auth.d.ts +28 -0
- package/src/tools/onboarding-auth.d.ts.map +1 -0
- package/src/tools/onboarding-auth.js +131 -0
- package/src/tools/onboarding-auth.js.map +1 -0
- package/src/tools/tat/im/index.d.ts +16 -0
- package/src/tools/tat/im/index.d.ts.map +1 -0
- package/src/tools/tat/im/index.js +19 -0
- package/src/tools/tat/im/index.js.map +1 -0
- package/src/tools/tat/im/resource.d.ts +16 -0
- package/src/tools/tat/im/resource.d.ts.map +1 -0
- package/src/tools/tat/im/resource.js +158 -0
- package/src/tools/tat/im/resource.js.map +1 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: feishu-fetch-doc
|
|
3
|
+
description: |
|
|
4
|
+
获取飞书云文档内容。返回文档的 Markdown 内容,支持处理文档中的图片、文件和画板(需配合 feishu_doc_media 工具)。
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# feishu_mcp_fetch_doc
|
|
8
|
+
|
|
9
|
+
获取飞书云文档的 Markdown 内容(Lark-flavored 格式)。
|
|
10
|
+
|
|
11
|
+
## 重要:图片、文件、画板的处理
|
|
12
|
+
|
|
13
|
+
**文档中的图片、文件、画板需要通过 `feishu_doc_media`(action: download)工具单独获取!**
|
|
14
|
+
|
|
15
|
+
### 识别格式
|
|
16
|
+
|
|
17
|
+
返回的 Markdown 中,媒体文件以 HTML 标签形式出现:
|
|
18
|
+
|
|
19
|
+
- **图片**:
|
|
20
|
+
```html
|
|
21
|
+
<image token="Z1FjxxxxxxxxxxxxxxxxxxxtnAc" width="1833" height="2491" align="center"/>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
- **文件**:
|
|
25
|
+
```html
|
|
26
|
+
<view type="1">
|
|
27
|
+
<file token="Z1FjxxxxxxxxxxxxxxxxxxxtnAc" name="skills.zip"/>
|
|
28
|
+
</view>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
- **画板**:
|
|
32
|
+
```html
|
|
33
|
+
<whiteboard token="Z1FjxxxxxxxxxxxxxxxxxxxtnAc"/>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### 获取步骤
|
|
37
|
+
|
|
38
|
+
1. 从 HTML 标签中提取 `token` 属性值
|
|
39
|
+
2. 调用 `feishu_doc_media` 下载:
|
|
40
|
+
```json
|
|
41
|
+
{
|
|
42
|
+
"action": "download",
|
|
43
|
+
"resource_token": "提取的token",
|
|
44
|
+
"resource_type": "media",
|
|
45
|
+
"output_path": "/path/to/save/file"
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## 参数
|
|
50
|
+
|
|
51
|
+
- **`doc_id`**(必填):支持直接传文档 URL 或 token
|
|
52
|
+
- 直接传 URL:`https://xxx.feishu.cn/docx/Z1FjxxxxxxxxxxxxxxxxxxxtnAc`(系统自动提取 token)
|
|
53
|
+
- 直接传 token:`Z1FjxxxxxxxxxxxxxxxxxxxtnAc`
|
|
54
|
+
- 知识库 URL/token 也支持:`https://xxx.feishu.cn/wiki/Z1FjxxxxxxxxxxxxxxxxxxxtnAc` 或 `Z1FjxxxxxxxxxxxxxxxxxxxtnAc`
|
|
55
|
+
|
|
56
|
+
## Wiki URL 处理策略
|
|
57
|
+
|
|
58
|
+
知识库链接(`/wiki/TOKEN`)背后可能是云文档、电子表格、多维表格等不同类型的文档。当不确定类型时, **不能直接假设是云文档**,必须先查询实际类型。
|
|
59
|
+
|
|
60
|
+
### 处理流程
|
|
61
|
+
|
|
62
|
+
1. **先调用 `feishu_wiki_space_node`(action: get)解析 wiki token**:
|
|
63
|
+
```json
|
|
64
|
+
{ "action": "get", "token": "wiki_token_here" }
|
|
65
|
+
```
|
|
66
|
+
2. **从返回的 `node` 中获取 `obj_type`(实际文档类型)和 `obj_token`(实际文档 token)**
|
|
67
|
+
3. **根据 `obj_type` 调用对应工具**:
|
|
68
|
+
|
|
69
|
+
| obj_type | 工具 | 传参 |
|
|
70
|
+
|----------|------|------|
|
|
71
|
+
| `docx` | `feishu_mcp_fetch_doc` | doc_id = obj_token |
|
|
72
|
+
| `sheet` | `feishu_sheet` | spreadsheet_token = obj_token |
|
|
73
|
+
| `bitable` | `feishu_bitable_*` 系列 | app_token = obj_token |
|
|
74
|
+
| 其他 | 告知用户暂不支持该类型 | — |
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
### 示例
|
|
78
|
+
|
|
79
|
+
用户:`帮我看下这个文档 https://xxx.feishu.cn/wiki/ABC123`
|
|
80
|
+
|
|
81
|
+
1. 调用 `feishu_wiki_space_node`(action: get, token: ABC123)
|
|
82
|
+
2. 返回 `obj_type: "docx"`, `obj_token: "doxcnXYZ789"`
|
|
83
|
+
3. 调用 `feishu_mcp_fetch_doc`(doc_id: doxcnXYZ789)
|
|
84
|
+
|
|
85
|
+
## 工具组合
|
|
86
|
+
|
|
87
|
+
| 需求 | 工具 |
|
|
88
|
+
|------|------|
|
|
89
|
+
| 获取文档文本 | `feishu_mcp_fetch_doc` |
|
|
90
|
+
| 下载图片/文件/画板 | `feishu_doc_media`(action: download) |
|
|
91
|
+
| 解析 wiki token 类型 | `feishu_wiki_space_node`(action: get) |
|
|
92
|
+
| 读写电子表格 | `feishu_sheet` |
|
|
93
|
+
| 操作多维表格 | `feishu_bitable_*` 系列 |
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: feishu-im-read
|
|
3
|
+
description: |
|
|
4
|
+
飞书 IM 消息读取工具使用指南,覆盖会话消息获取、话题回复读取、跨会话消息搜索、图片/文件资源下载。
|
|
5
|
+
|
|
6
|
+
**当以下情况时使用此 Skill**:
|
|
7
|
+
(1) 需要获取群聊或单聊的历史消息
|
|
8
|
+
(2) 需要读取话题(thread)内的回复消息
|
|
9
|
+
(3) 需要跨会话搜索消息(按关键词、发送者、时间等条件)
|
|
10
|
+
(4) 消息中包含图片、文件、音频、视频,需要下载
|
|
11
|
+
(5) 用户提到"聊天记录"、"消息"、"群里说了什么"、"话题回复"、"搜索消息"、"图片"、"文件下载"
|
|
12
|
+
(6) 需要按时间范围过滤消息、分页获取更多消息
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# 飞书 IM 消息读取
|
|
16
|
+
|
|
17
|
+
## 执行前必读
|
|
18
|
+
|
|
19
|
+
- 该 Skill 中的所有消息读取工具均以用户身份调用,只能读取用户有权限的会话
|
|
20
|
+
- `feishu_im_user_get_messages` 中 `open_id` 和 `chat_id` 必须二选一
|
|
21
|
+
- 消息中出现 `thread_id` 时,根据用户意图判断是否用 `feishu_im_user_get_thread_messages` 读取话题内回复
|
|
22
|
+
- 以用户身份读取后,如果消息内容中出现资源标记时,用 `feishu_im_user_fetch_resource` 下载,需要 `message_id` + `file_key` + `type`
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 快速索引:意图 → 工具
|
|
27
|
+
|
|
28
|
+
| 用户意图 | 工具 | 必填参数 | 常用可选 |
|
|
29
|
+
|---------|------|---------|---------|
|
|
30
|
+
| 获取群聊/单聊历史消息 | feishu_im_user_get_messages | chat_id 或 open_id(二选一) | relative_time, start_time/end_time, page_size, sort_rule |
|
|
31
|
+
| 获取话题内回复消息 | feishu_im_user_get_thread_messages | thread_id(omt_xxx) | page_size, sort_rule |
|
|
32
|
+
| 跨会话搜索消息 | feishu_im_user_search_messages | 至少一个过滤条件 | query, sender_ids, chat_id, relative_time, start_time/end_time, page_size |
|
|
33
|
+
| 下载消息中的图片 | feishu_im_user_fetch_resource | message_id, file_key(img_xxx), type="image" | - |
|
|
34
|
+
| 下载消息中的文件/音频/视频 | feishu_im_user_fetch_resource | message_id, file_key(file_xxx), type="file" | - |
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## 核心约束
|
|
39
|
+
|
|
40
|
+
### 1. 时间范围:确保消息覆盖完整
|
|
41
|
+
|
|
42
|
+
当用户没有明确指定时间范围时,根据用户意图推断合适的 `relative_time`,确保返回的消息能完整覆盖用户关心的内容。用户明确指定时间时直接使用用户的值。
|
|
43
|
+
|
|
44
|
+
### 2. 分页:根据需要翻页获取更多结果
|
|
45
|
+
|
|
46
|
+
- `page_size` 范围 1-50,默认 50
|
|
47
|
+
- 返回结果中 `has_more=true` 时,可使用 `page_token` 继续获取下一页
|
|
48
|
+
- 根据用户需求判断是否需要翻页:需要完整结果时继续翻页,浏览概览时第一页通常够用
|
|
49
|
+
|
|
50
|
+
### 3. 话题回复:主动展开话题获取上下文
|
|
51
|
+
|
|
52
|
+
获取历史消息时,返回的消息中如果包含 `thread_id` 字段,推荐主动获取话题的最新 10 条回复(`page_size: 10, sort_rule: "create_time_desc"`)以提供更完整的上下文。
|
|
53
|
+
|
|
54
|
+
| 场景 | 行为 |
|
|
55
|
+
|------|------|
|
|
56
|
+
| 获取历史消息并需要理解上下文(默认) | 对发现的 thread_id 调用 `feishu_im_user_get_thread_messages` 获取最新 10 条回复 |
|
|
57
|
+
| 用户要求"完整对话"、"详细讨论"、"看看回复" | 获取话题全部回复(`page_size: 50, sort_rule: "create_time_asc"`),需要时翻页 |
|
|
58
|
+
| 用户只浏览消息概览 / 用户明确说不看回复 | 跳过话题展开 |
|
|
59
|
+
|
|
60
|
+
**注意**:话题消息不支持时间过滤(飞书 API 限制),只能通过分页获取。
|
|
61
|
+
|
|
62
|
+
### 4. 跨会话消息搜索
|
|
63
|
+
|
|
64
|
+
`feishu_im_user_search_messages` 支持跨所有会话搜索消息:
|
|
65
|
+
|
|
66
|
+
| 参数 | 说明 |
|
|
67
|
+
|------|------|
|
|
68
|
+
| `query` | 搜索关键词,匹配消息内容 |
|
|
69
|
+
| `sender_ids` | 发送者 open_id 列表 |
|
|
70
|
+
| `chat_id` | 限定搜索范围的会话 ID |
|
|
71
|
+
| `mention_ids` | 被@用户的 open_id 列表 |
|
|
72
|
+
| `message_type` | 消息类型:file / image / media |
|
|
73
|
+
| `sender_type` | 发送者类型:user / bot / all(默认 user) |
|
|
74
|
+
| `chat_type` | 会话类型:group / p2p |
|
|
75
|
+
|
|
76
|
+
搜索结果每条消息额外包含 `chat_id`、`chat_type`(p2p/group)、`chat_name`。单聊消息还有 `chat_partner`(对方 open_id 和名字)。
|
|
77
|
+
|
|
78
|
+
### 5. 图片/文件/媒体资源的提取
|
|
79
|
+
|
|
80
|
+
消息内容中可能出现以下资源标记,用 `feishu_im_user_fetch_resource` 下载:
|
|
81
|
+
|
|
82
|
+
| 资源类型 | 内容中的标记格式 | fetch_resource 参数 |
|
|
83
|
+
|---------|-----------------|-------------------|
|
|
84
|
+
| 图片 | `` | message_id=`om_xxx`, file_key=`img_xxx`, type=`"image"` |
|
|
85
|
+
| 文件 | `<file key="file_xxx" .../>` | message_id=`om_xxx`, file_key=`file_xxx`, type=`"file"` |
|
|
86
|
+
| 音频 | `<audio key="file_xxx" .../>` | message_id=`om_xxx`, file_key=`file_xxx`, type=`"file"` |
|
|
87
|
+
| 视频 | `<video key="file_xxx" .../>` | message_id=`om_xxx`, file_key=`file_xxx`, type=`"file"` |
|
|
88
|
+
|
|
89
|
+
从消息的 `message_id` 字段和内容中的 `file_key` 组合即可调用 fetch_resource。
|
|
90
|
+
|
|
91
|
+
**注意**:文件大小限制 100MB,不支持下载表情包、卡片中的资源。
|
|
92
|
+
|
|
93
|
+
### 6. 时间过滤
|
|
94
|
+
|
|
95
|
+
`feishu_im_user_get_messages` 和 `feishu_im_user_search_messages` 支持时间过滤,话题消息不支持。
|
|
96
|
+
|
|
97
|
+
| 方式 | 参数 | 示例 |
|
|
98
|
+
|------|------|------|
|
|
99
|
+
| 相对时间 | `relative_time` | `today`、`yesterday`、`this_week`、`last_3_days`、`last_24_hours` |
|
|
100
|
+
| 精确时间 | `start_time` + `end_time` | ISO 8601 格式:`2026-02-27T00:00:00+08:00` |
|
|
101
|
+
|
|
102
|
+
- `relative_time` 和 `start_time/end_time` **互斥**,不能同时使用
|
|
103
|
+
- 可用的 relative_time 值:`today`、`yesterday`、`day_before_yesterday`、`this_week`、`last_week`、`this_month`、`last_month`、`last_{N}_{unit}`(unit: minutes/hours/days)
|
|
104
|
+
|
|
105
|
+
### 7. open_id 与 chat_id 的选择
|
|
106
|
+
|
|
107
|
+
| 参数 | 格式 | 适用场景 |
|
|
108
|
+
|------|------|---------|
|
|
109
|
+
| chat_id | `oc_xxx` | 已知会话 ID(群聊或单聊均可) |
|
|
110
|
+
| open_id | `ou_xxx` | 已知用户 ID,获取与该用户的单聊消息(自动解析为 chat_id) |
|
|
111
|
+
|
|
112
|
+
两者必须二选一,优先使用 `chat_id`。
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## 使用场景示例
|
|
117
|
+
|
|
118
|
+
### 场景 1: 获取群聊消息并展开话题
|
|
119
|
+
|
|
120
|
+
**步骤 1**:获取群聊消息
|
|
121
|
+
```json
|
|
122
|
+
{ "chat_id": "oc_xxx" }
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
**步骤 2**:返回的消息中发现 `thread_id`,展开话题最新回复:
|
|
126
|
+
```json
|
|
127
|
+
{ "thread_id": "omt_xxx", "page_size": 10, "sort_rule": "create_time_desc" }
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### 场景 2: 跨会话搜索消息
|
|
131
|
+
|
|
132
|
+
```json
|
|
133
|
+
{ "query": "项目进度", "chat_id": "oc_xxx" }
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### 场景 3: 分页获取更多消息
|
|
137
|
+
|
|
138
|
+
第一次调用返回 `has_more: true` 和 `page_token: "xxx"`,继续获取:
|
|
139
|
+
```json
|
|
140
|
+
{ "chat_id": "oc_xxx", "page_token": "xxx" }
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### 场景 4: 下载消息中的资源
|
|
144
|
+
|
|
145
|
+
```json
|
|
146
|
+
{ "message_id": "om_xxx", "file_key": "img_v3_xxx", "type": "image" }
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## 常见错误与排查
|
|
152
|
+
|
|
153
|
+
| 错误现象 | 根本原因 | 解决方案 |
|
|
154
|
+
|---------|---------|---------|
|
|
155
|
+
| 消息结果太少 | 时间范围太窄或未传时间参数 | 根据用户意图推断合适的 `relative_time` |
|
|
156
|
+
| 消息不完整 | 没有检查 has_more 并翻页 | has_more=true 时用 page_token 翻页 |
|
|
157
|
+
| 话题讨论内容不完整 | 没有展开 thread_id | 发现 thread_id 时获取话题回复 |
|
|
158
|
+
| "open_id 和 chat_id 不能同时提供" | 同时传了两个参数 | 只传其中一个 |
|
|
159
|
+
| "relative_time 和 start_time/end_time 不能同时使用" | 时间参数冲突 | 选择一种时间过滤方式 |
|
|
160
|
+
| "未找到与 open_id=xxx 的单聊会话" | 没有单聊记录 | 改用 chat_id,或确认存在单聊 |
|
|
161
|
+
| 话题消息返回为空 | thread_id 格式不正确 | 确认为 `omt_xxx` 格式 |
|
|
162
|
+
| 图片/文件下载失败 | file_key 或 message_id 不匹配 | 确认 file_key 来自该 message_id |
|
|
163
|
+
| 权限不足 | 用户未授权或无权限 | 确认已完成 OAuth 授权且是会话成员 |
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: feishu-task
|
|
3
|
+
description: |
|
|
4
|
+
飞书任务管理工具,用于创建、查询、更新任务和清单。
|
|
5
|
+
|
|
6
|
+
**当以下情况时使用此 Skill**:
|
|
7
|
+
(1) 需要创建、查询、更新、删除任务
|
|
8
|
+
(2) 需要创建、管理任务清单
|
|
9
|
+
(3) 需要查看任务列表或清单内的任务
|
|
10
|
+
(4) 用户提到"任务"、"待办"、"to-do"、"清单"、"task"
|
|
11
|
+
(5) 需要设置任务负责人、关注人、截止时间
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# 飞书任务管理
|
|
15
|
+
|
|
16
|
+
## 🚨 执行前必读
|
|
17
|
+
|
|
18
|
+
- ✅ **时间格式**:ISO 8601 / RFC 3339(带时区),例如 `2026-02-28T17:00:00+08:00`
|
|
19
|
+
- ✅ **current_user_id 强烈建议**:从消息上下文的 SenderId 获取(ou_...),工具会自动添加为 follower(如不在 members 中),确保创建者可以编辑任务
|
|
20
|
+
- ✅ **patch/get 必须**:task_guid
|
|
21
|
+
- ✅ **tasklist.tasks 必须**:tasklist_guid
|
|
22
|
+
- ✅ **完成任务**:completed_at = "2026-02-26 15:00:00"
|
|
23
|
+
- ✅ **反完成(恢复未完成)**:completed_at = "0"
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 📋 快速索引:意图 → 工具 → 必填参数
|
|
28
|
+
|
|
29
|
+
| 用户意图 | 工具 | action | 必填参数 | 强烈建议 | 常用可选 |
|
|
30
|
+
|---------|------|--------|---------|---------|---------|
|
|
31
|
+
| 新建待办 | feishu_task_task | create | summary | current_user_id(SenderId) | members, due, description |
|
|
32
|
+
| 查未完成任务 | feishu_task_task | list | - | completed=false | page_size |
|
|
33
|
+
| 获取任务详情 | feishu_task_task | get | task_guid | - | - |
|
|
34
|
+
| 完成任务 | feishu_task_task | patch | task_guid, completed_at | - | - |
|
|
35
|
+
| 反完成任务 | feishu_task_task | patch | task_guid, completed_at="0" | - | - |
|
|
36
|
+
| 改截止时间 | feishu_task_task | patch | task_guid, due | - | - |
|
|
37
|
+
| 创建清单 | feishu_task_tasklist | create | name | - | members |
|
|
38
|
+
| 查看清单任务 | feishu_task_tasklist | tasks | tasklist_guid | - | completed |
|
|
39
|
+
| 添加清单成员 | feishu_task_tasklist | add_members | tasklist_guid, members[] | - | - |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 🎯 核心约束(Schema 未透露的知识)
|
|
44
|
+
|
|
45
|
+
### 1. 当前工具使用用户身份(已内置保护)
|
|
46
|
+
|
|
47
|
+
**工具使用 `user_access_token`(用户身份)**
|
|
48
|
+
|
|
49
|
+
这意味着:
|
|
50
|
+
- ✅ 创建任务时可以指定任意成员(包括只分配给别人)
|
|
51
|
+
- ⚠️ 只能查看和编辑**自己是成员的任务**
|
|
52
|
+
- ⚠️ **如果创建时没把自己加入成员,后续无法编辑该任务**
|
|
53
|
+
|
|
54
|
+
**自动保护机制**:
|
|
55
|
+
- 传入 `current_user_id` 参数(从 SenderId 获取)
|
|
56
|
+
- 如果 `members` 中不包含 `current_user_id`,工具会**自动添加为 follower**
|
|
57
|
+
- 确保创建者始终可以编辑任务
|
|
58
|
+
|
|
59
|
+
**推荐用法**:创建任务时始终传 `current_user_id`,工具会自动处理成员关系。
|
|
60
|
+
|
|
61
|
+
### 2. 任务成员的角色说明
|
|
62
|
+
|
|
63
|
+
- **assignee(负责人)**:负责完成任务,可以编辑任务
|
|
64
|
+
- **follower(关注人)**:关注任务进展,接收通知
|
|
65
|
+
|
|
66
|
+
**添加成员示例**:
|
|
67
|
+
```json
|
|
68
|
+
{
|
|
69
|
+
"members": [
|
|
70
|
+
{"id": "ou_xxx", "role": "assignee"}, // 负责人
|
|
71
|
+
{"id": "ou_yyy", "role": "follower"} // 关注人
|
|
72
|
+
]
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
**说明**:`id` 使用用户的 `open_id`(从消息上下文的 SenderId 获取)
|
|
77
|
+
|
|
78
|
+
### 3. 任务清单角色冲突
|
|
79
|
+
|
|
80
|
+
**现象**:创建清单(`tasklist.create`)时传了 `members`,但返回的 `tasklist.members` 为空或缺少成员
|
|
81
|
+
|
|
82
|
+
**原因**:创建人自动成为清单 **owner**(所有者),如果 `members` 中包含创建人,该用户最终成为 owner 并从 `members` 中移除(同一用户只能有一个角色)
|
|
83
|
+
|
|
84
|
+
**建议**:不要在 `members` 中包含创建人,只添加其他协作成员
|
|
85
|
+
|
|
86
|
+
### 4. completed_at 的三种用法
|
|
87
|
+
|
|
88
|
+
**1) 完成任务(设置完成时间)**:
|
|
89
|
+
```json
|
|
90
|
+
{
|
|
91
|
+
"action": "patch",
|
|
92
|
+
"task_guid": "xxx",
|
|
93
|
+
"completed_at": "2026-02-26 15:30:00" // 北京时间字符串
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**2) 反完成(恢复未完成状态)**:
|
|
98
|
+
```json
|
|
99
|
+
{
|
|
100
|
+
"action": "patch",
|
|
101
|
+
"task_guid": "xxx",
|
|
102
|
+
"completed_at": "0" // 特殊值 "0" 表示反完成
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**3) 毫秒时间戳**(不推荐,除非上层已严格生成):
|
|
107
|
+
```json
|
|
108
|
+
{
|
|
109
|
+
"completed_at": "1740545400000" // 毫秒时间戳字符串
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### 5. 清单成员的角色
|
|
114
|
+
|
|
115
|
+
| 成员类型 | 角色 | 说明 |
|
|
116
|
+
|---------|------|------|
|
|
117
|
+
| user(用户) | owner | 所有者,可转让所有权 |
|
|
118
|
+
| user(用户) | editor | 可编辑,可修改清单和任务 |
|
|
119
|
+
| user(用户) | viewer | 可查看,只读权限 |
|
|
120
|
+
| chat(群组) | editor/viewer | 整个群组获得权限 |
|
|
121
|
+
|
|
122
|
+
**说明**:创建清单时,创建者自动成为 owner,无需在 members 中指定。
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## 📌 使用场景示例
|
|
127
|
+
|
|
128
|
+
### 场景 1: 创建任务并分配负责人
|
|
129
|
+
|
|
130
|
+
```json
|
|
131
|
+
{
|
|
132
|
+
"action": "create",
|
|
133
|
+
"summary": "准备周会材料",
|
|
134
|
+
"description": "整理本周工作进展和下周计划",
|
|
135
|
+
"current_user_id": "ou_发送者的open_id",
|
|
136
|
+
"due": {
|
|
137
|
+
"timestamp": "2026-02-28 17:00:00",
|
|
138
|
+
"is_all_day": false
|
|
139
|
+
},
|
|
140
|
+
"members": [
|
|
141
|
+
{"id": "ou_协作者的open_id", "role": "assignee"}
|
|
142
|
+
]
|
|
143
|
+
}
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
**说明**:
|
|
147
|
+
- `summary` 是必填字段
|
|
148
|
+
- `current_user_id` 强烈建议传入(从 SenderId 获取),工具会自动添加为 follower
|
|
149
|
+
- `members` 可以只包含其他协作者,当前用户会被自动添加
|
|
150
|
+
- 时间使用北京时间字符串格式
|
|
151
|
+
|
|
152
|
+
### 场景 2: 查询我负责的未完成任务
|
|
153
|
+
|
|
154
|
+
```json
|
|
155
|
+
{
|
|
156
|
+
"action": "list",
|
|
157
|
+
"completed": false,
|
|
158
|
+
"page_size": 20
|
|
159
|
+
}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### 场景 3: 完成任务
|
|
163
|
+
|
|
164
|
+
```json
|
|
165
|
+
{
|
|
166
|
+
"action": "patch",
|
|
167
|
+
"task_guid": "任务的guid",
|
|
168
|
+
"completed_at": "2026-02-26 15:30:00"
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### 场景 4: 反完成任务(恢复未完成状态)
|
|
173
|
+
|
|
174
|
+
```json
|
|
175
|
+
{
|
|
176
|
+
"action": "patch",
|
|
177
|
+
"task_guid": "任务的guid",
|
|
178
|
+
"completed_at": "0"
|
|
179
|
+
}
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### 场景 5: 创建清单并添加协作者
|
|
183
|
+
|
|
184
|
+
```json
|
|
185
|
+
{
|
|
186
|
+
"action": "create",
|
|
187
|
+
"name": "产品迭代 v2.0",
|
|
188
|
+
"members": [
|
|
189
|
+
{"id": "ou_xxx", "role": "editor"},
|
|
190
|
+
{"id": "ou_yyy", "role": "viewer"}
|
|
191
|
+
]
|
|
192
|
+
}
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### 场景 6: 查看清单内的未完成任务
|
|
196
|
+
|
|
197
|
+
```json
|
|
198
|
+
{
|
|
199
|
+
"action": "tasks",
|
|
200
|
+
"tasklist_guid": "清单的guid",
|
|
201
|
+
"completed": false
|
|
202
|
+
}
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### 场景 7: 全天任务
|
|
206
|
+
|
|
207
|
+
```json
|
|
208
|
+
{
|
|
209
|
+
"action": "create",
|
|
210
|
+
"summary": "年度总结",
|
|
211
|
+
"due": {
|
|
212
|
+
"timestamp": "2026-03-01 00:00:00",
|
|
213
|
+
"is_all_day": true
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## 🔍 常见错误与排查
|
|
221
|
+
|
|
222
|
+
| 错误现象 | 根本原因 | 解决方案 |
|
|
223
|
+
|---------|---------|---------|
|
|
224
|
+
| **创建后无法编辑任务** | 创建时未将自己加入 members | 创建时至少将当前用户(SenderId)加为 assignee 或 follower |
|
|
225
|
+
| **patch 失败提示 task_guid 缺失** | 未传 task_guid 参数 | patch/get 必须传 task_guid |
|
|
226
|
+
| **tasks 失败提示 tasklist_guid 缺失** | 未传 tasklist_guid 参数 | tasklist.tasks action 必须传 tasklist_guid |
|
|
227
|
+
| **反完成失败** | completed_at 格式错误 | 使用 `"0"` 字符串,不是数字 0 |
|
|
228
|
+
| **时间不对** | 使用了 Unix 时间戳 | 改用 ISO 8601 格式(带时区):`2024-01-01T00:00:00+08:00` |
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## 📚 附录:背景知识
|
|
233
|
+
|
|
234
|
+
### A. 资源关系
|
|
235
|
+
|
|
236
|
+
```
|
|
237
|
+
任务清单(Tasklist)
|
|
238
|
+
└─ 自定义分组(Section,可选)
|
|
239
|
+
└─ 任务(Task)
|
|
240
|
+
├─ 成员:负责人(assignee)、关注人(follower)
|
|
241
|
+
├─ 子任务(Subtask)
|
|
242
|
+
├─ 截止时间(due)、开始时间(start)
|
|
243
|
+
└─ 附件、评论
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
**核心概念**:
|
|
247
|
+
- **任务(Task)**:独立的待办事项,有唯一的 `task_guid`
|
|
248
|
+
- **清单(Tasklist)**:组织多个任务的容器,有唯一的 `tasklist_guid`
|
|
249
|
+
- **负责人(assignee)**:可以编辑任务并标记完成
|
|
250
|
+
- **关注人(follower)**:接收任务更新通知
|
|
251
|
+
- **我负责的(MyTasks)**:所有负责人为自己的任务集合
|
|
252
|
+
|
|
253
|
+
### B. 如何获取 GUID
|
|
254
|
+
|
|
255
|
+
- **task_guid**:创建任务后从返回值的 `task.guid` 获取,或通过 `list` 查询
|
|
256
|
+
- **tasklist_guid**:创建清单后从返回值的 `tasklist.guid` 获取,或通过 `list` 查询
|
|
257
|
+
|
|
258
|
+
### C. 如何将任务加入清单
|
|
259
|
+
|
|
260
|
+
创建任务时指定 `tasklists` 参数:
|
|
261
|
+
```json
|
|
262
|
+
{
|
|
263
|
+
"action": "create",
|
|
264
|
+
"summary": "任务标题",
|
|
265
|
+
"tasklists": [
|
|
266
|
+
{
|
|
267
|
+
"tasklist_guid": "清单的guid",
|
|
268
|
+
"section_guid": "分组的guid(可选)"
|
|
269
|
+
}
|
|
270
|
+
]
|
|
271
|
+
}
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
### D. 重复任务如何创建
|
|
275
|
+
|
|
276
|
+
使用 `repeat_rule` 参数,采用 RRULE 格式:
|
|
277
|
+
```json
|
|
278
|
+
{
|
|
279
|
+
"action": "create",
|
|
280
|
+
"summary": "每周例会",
|
|
281
|
+
"due": {"timestamp": "2026-03-03 14:00:00", "is_all_day": false},
|
|
282
|
+
"repeat_rule": "FREQ=WEEKLY;INTERVAL=1;BYDAY=MO"
|
|
283
|
+
}
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
**说明**:只有设置了截止时间的任务才能设置重复规则。
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
### E. 数据权限
|
|
290
|
+
|
|
291
|
+
- 只能操作自己有权限的任务(作为成员的任务)
|
|
292
|
+
- 只能操作自己有权限的清单(作为成员的清单)
|
|
293
|
+
- 将任务加入清单需要同时拥有任务和清单的编辑权限
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: feishu-troubleshoot
|
|
3
|
+
description: |
|
|
4
|
+
飞书插件问题排查工具。包含常见问题 FAQ 和深度诊断命令(/feishu_doctor)。
|
|
5
|
+
|
|
6
|
+
常见问题可随时查阅。诊断命令用于排查复杂问题(多次授权仍失败、自动授权无法解决等),
|
|
7
|
+
会检查账户配置、API 连通性、应用权限、用户授权状态,并生成详细的诊断报告和解决方案。
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# 飞书插件问题排查
|
|
12
|
+
|
|
13
|
+
## ❓ 常见问题(FAQ)
|
|
14
|
+
|
|
15
|
+
### 卡片按钮点击无反应
|
|
16
|
+
|
|
17
|
+
**现象**:点击卡片按钮后没有任何反应,然后提示报错.
|
|
18
|
+
|
|
19
|
+
**原因**:应用未开通「消息卡片回传交互」权限。
|
|
20
|
+
|
|
21
|
+
**解决步骤**:
|
|
22
|
+
|
|
23
|
+
1. 登录飞书开放平台:https://open.feishu.cn/app
|
|
24
|
+
2. 选择您的应用 → **事件与回调**
|
|
25
|
+
3. 在回调配置中,修改订阅方式为"长链接"并添加回调 "卡片回传交互"(card.action.trigger)
|
|
26
|
+
4. 创建应用版本 → 提交审核 → 发布
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 🔍 诊断命令(深度工具)
|
|
31
|
+
|
|
32
|
+
**注意**:诊断命令仅用于排查复杂/疑难的**权限相关问题**。常规权限问题会自动触发授权流程,无需手动诊断。
|
|
33
|
+
|
|
34
|
+
**何时使用诊断**:
|
|
35
|
+
- 多次授权后仍然报错
|
|
36
|
+
- 自动授权流程无法解决的问题
|
|
37
|
+
- 需要查看完整的权限配置状态
|
|
38
|
+
|
|
39
|
+
**使用方法**:
|
|
40
|
+
|
|
41
|
+
在飞书聊天会话中直接输入(作为用户消息发送):
|
|
42
|
+
|
|
43
|
+
/feishu doctor
|
|
44
|
+
|
|
45
|
+
诊断命令会检查:
|
|
46
|
+
|
|
47
|
+
- **📋 诊断摘要**(首先展示):
|
|
48
|
+
- 总体状态(✅ 正常 / ⚠️ 警告 / ❌ 失败)
|
|
49
|
+
- 发现的问题列表和简要描述
|
|
50
|
+
|
|
51
|
+
- **环境信息**:
|
|
52
|
+
- 插件版本
|
|
53
|
+
|
|
54
|
+
- **账号信息**:
|
|
55
|
+
- 凭证完整性(appId, appSecret 掩码)
|
|
56
|
+
- 账户启用状态
|
|
57
|
+
- API 连通性测试
|
|
58
|
+
- Bot 信息(名称和 openId)
|
|
59
|
+
|
|
60
|
+
- **应用身份权限**:
|
|
61
|
+
- 应用已开通的必需权限数量
|
|
62
|
+
- 缺失的必需权限列表
|
|
63
|
+
- 一键申请链接(自动带上缺失权限参数)
|
|
64
|
+
|
|
65
|
+
- **用户身份权限**:
|
|
66
|
+
- 用户授权状态统计(✓ 有效 / ⟳ 需刷新 / ✗ 已过期)
|
|
67
|
+
- Token 自动刷新状态(是否包含 offline_access)
|
|
68
|
+
- 权限对照表(应用已开通 vs 用户已授权,逐项对比)
|
|
69
|
+
- 应用权限缺失时的申请指引和链接
|
|
70
|
+
- 用户授权不足时的重新授权操作方法
|