feat(send_message): MEDIA tag support + DingTalk/Feishu native routing#17371
feat(send_message): MEDIA tag support + DingTalk/Feishu native routing#17371spike2204 wants to merge 1 commit into
Conversation
Enhance send_message_tool to support rich-media attachments via MEDIA tags and bare file-path auto-detection, with native routing for DingTalk and Feishu platforms. - Update schema description with MEDIA attachment instructions - Add two-stage media extraction: MEDIA:<path> tags + bare absolute paths via BasePlatformAdapter.extract_local_files() - Add native DingTalk routing block using dingtalk_send_proactive() with media upload support (image/video/audio/file) - Add native Feishu routing block with media_files passthrough - Rewrite _send_dingtalk() to prefer Robot OpenAPI (AppKey/Secret) over legacy DINGTALK_WEBHOOK_URL, with graceful fallback - Update platform support lists in error messages to #
|
Hi @alt-glitch, thanks for the detailed cross-referencing! 🙏 You're spot on — this PR touches the We're the DingTalk (钉钉) Open Platform team at Alibaba — @PeterGuy326 and @spike2204 are colleagues. This is the final piece of our fine-grained PR series, extracted from the original stacked #14336. What this PR specifically does:
Regarding consolidation with #12769: We fully agree — all 8 PRs in this series (#17364–#17371) are tracked under the umbrella #12769. Once reviewed, we'll close the original stacked PRs (#14333–#14336). The 8 fine-grained PRs can be merged in any order since each is self-contained against Looking forward to your feedback! 🚀 |
|
Hi @alt-glitch 👋 — just a gentle follow-up on this PR series (#17364 – #17371). We'd really appreciate it if these could be prioritized for review. Here's why:
We're happy to hop on a quick call, do a live walkthrough, or address any feedback asynchronously — whatever works best for the team. Thanks again for all the work on Hermes! 🙏 |
Summary
Enhance
send_message_toolto support rich-media attachments via MEDIA tags and bare file-path auto-detection, with native routing for DingTalk and Feishu platforms.Changes
[[audio_as_voice]]directive)MEDIA:<path>tags + bare absolute paths viaBasePlatformAdapter.extract_local_files()dingtalk_send_proactive()with media upload supportmedia_filespassthrough_send_dingtalk()to prefer Robot OpenAPI (AppKey/Secret) over legacy DINGTALK_WEBHOOK_URL, with graceful fallbackRelated
Part of the DingTalk adapter enhancement series — see #12769 for the umbrella PR.