Skip to content

Cherry-pick: Feishu adapter — community PRs and fixes #678

@alexey-pelykh

Description

@alexey-pelykh

Context

Massive community contribution wave for Feishu adapter. Document operations (tables,
color_text, images), session routing (sender/topic-scoped), reaction events, media
handling (audio/video/merge_forward), quota optimization, security (webhook rate-limit,
doc grants), proxy support, streaming cards.

41 commits from upstream scan window 501-1000.

Upstream Commits

Hash Subject
f943c76cd security(feishu): bound unauthenticated webhook rate-limit state (openclaw#26050) thanks @bmendonca3
bf9585d05 PR: Feishu Plugin - Auto-grant document permissions to requesting user (openclaw#28295) thanks @zhoulongchao77
ad804b035 fix(feishu): propagate mediaLocalRoots for local file sends (openclaw#27884) (openclaw#27928) thanks @joelnishanth
56fa05838 feat(feishu): support Docx table create/write + image/file upload actions in feishu_doc (openclaw#20304)
60ef92305 fix(feishu): cache probeFeishu() results with 10-min TTL to reduce API calls (openclaw#28907) thanks @Glucksberg
0e755ad99 fix(feishu): use msg_type "audio" for opus files instead of "media" (openclaw#28269) thanks @Glucksberg
32ee2f010 fix(feishu): break infinite typing-indicator retry loop on rate-limit / quota errors (openclaw#28494) thanks @guoqunabc
a509154be Feishu: send media payloads as attachments (openclaw#28959) thanks @icesword0760
36d69d05e feat(feishu): support sender/topic-scoped group session routing (openclaw#17798) thanks @yfge
89669a33b feat(feishu): add replyInThread configuration for message replies (openclaw#27325) thanks @kcinzgg
da00ead65 fix(feishu): parse code blocks and share_chat messages (openclaw#28591) thanks @kevinWangSheng
4221b5f80 fix: pass rootId to streaming card in Feishu topic groups (openclaw#28346) thanks @Sid-Qin
8241145ad feat(feishu): add reaction event support (created/deleted) (openclaw#16716) thanks @schumilin
f53ef73a2 feat(feishu): add support for merge_forward message parsing (openclaw#28707) thanks @tsu-builds
0e4c24ebe fix(feishu): auto-convert local image path text to image message in outbound (openclaw#29264) thanks @paceyw
aef535510 fix(feishu): add reactionNotifications mode gating (openclaw#29388) thanks @Takhoffman
107be4e90 feat(feishu): add global groupSenderAllowFrom for sender-level group access control (openclaw#29174) thanks @1MoreBuild
d9230b13a feat(feishu): skip reply-to in DM conversations (openclaw#13211)
e4cb6a88b fix(feishu): handle message_type "media" for video downloads (openclaw#25502) thanks @4ier
b28344eac fix(feishu): insert document blocks sequentially to preserve order (openclaw#26022) (openclaw#26172) thanks @echoVic
8beb048a8 test(feishu): add regression for audio download resource type=file (openclaw#16311) thanks @Yaxuan42
10f1be107 fix(feishu): replace console.log with runtime log for typing indicator errors (openclaw#18841) thanks @Clawborn
e0b1b48be feishu: fall back to user_id for inbound sender identity (openclaw#26703) thanks @NewdlDewdl
27882dc73 feat(feishu): add quota optimization flags (openclaw#10513) thanks @BigUncle
4dc55ea88 fix(feishu): chunk large documents for write/append to avoid API 400 errors (openclaw#14402)
0a23739c3 fix(feishu): pass proxy agent to WSClient for proxy environments (openclaw#26397)
8a2273e21 feat(feishu): support optional header in streaming cards (openclaw#22826)
60bf56517 fix(feishu): honor wildcard group config for reply policy (openclaw#29456)
49cf2bceb fix(feishu): handle card.action.trigger callbacks (openclaw#17863)
8818464f5 feat(feishu): render post rich text as markdown (openclaw#12755)
b0a8909a7 fix(feishu): fix group policy enforcement gaps (openclaw#25439)
53a2e72fc feat(feishu): extract embedded video/media from post (rich text) messages (openclaw#21786)
f81093285 Feishu: fix locale-wrapper post parser test (openclaw#29576)
150c2093f test: make feishu proxy precedence assertion cross-platform
4ad49de89 feat(feishu): add parent/root inbound context for quote support (openclaw#18529)
0740fb83d feat(feishu): add markdown tables, positional insert, color_text, and table ops (openclaw#29411)
5209c4892 feat(feishu): add chat info/member tool (openclaw#14674)
bbab94c1f security(feishu): bind doc create grants to trusted requester context (openclaw#31184)
6ea3a47da fix(feishu): harden routing, parsing, and media delivery
edd931955 fix(feishu): land openclaw#31209 prevent system preview leakage (@stakeswky)
2a252a14c fix(feishu): harden target routing, dedupe, and reply fallback

Adaptation Notes

  • Feishu extension in extensions/feishu/ — KEEP layer
  • Heavy community contributions — preserve all Co-authored-by trailers
  • Some commits reference oc_ prefix in session IDs (already rebranded in fork)

Metadata

Metadata

Assignees

No one assigned

    Labels

    cherry-pickCherry-pick from upstream

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions