hermes-agent-features/gateway/platforms
Zihan Huang 5b63bf7f9a feat(gateway): add native Weixin/WeChat support via iLink Bot API
Add first-class Weixin platform adapter for personal WeChat accounts:
- Long-poll inbound delivery via iLink getupdates
- AES-128-ECB encrypted CDN media upload/download
- QR-code login flow for gateway setup wizard
- context_token persistence for reply continuity
- DM/group access policies with allowlists
- Native text, image, video, file, voice handling
- Markdown formatting with header rewriting and table-to-list conversion
- Block-aware message chunking (preserves fenced code blocks)
- Typing indicators via getconfig/sendtyping
- SSRF protection on remote media downloads
- Message deduplication with TTL

Integration across all gateway touchpoints:
- Platform enum, config, env overrides, connected platforms check
- Adapter creation in gateway runner
- Authorization maps (allowed users, allow all)
- Cron delivery routing
- send_message tool with native media support
- Toolset definition (hermes-weixin)
- Channel directory (session-based)
- Platform hint in prompt builder
- CLI status display
- hermes tools default toolset mapping

Co-authored-by: Zihan Huang <bravohenry@users.noreply.github.com>
2026-04-10 05:54:37 -07:00
..
__init__.py Enhance CLI with multi-platform messaging integration and configuration management 2026-02-02 19:01:51 -08:00
ADDING_A_PLATFORM.md docs: finish cron terminology cleanup 2026-03-14 19:20:58 -07:00
api_server.py fix(api-server): share one Docker container across all API conversations (#7127) 2026-04-10 04:56:35 -07:00
base.py feat(discord): add channel_skill_bindings for auto-loading skills per channel 2026-04-10 05:19:26 -07:00
bluebubbles.py fix: improve bluebubbles webhook registration resilience 2026-04-10 03:21:45 -07:00
dingtalk.py fix(dingtalk,api): validate session webhook URL origin, cap webhook cache, reject header injection 2026-04-10 03:05:04 -07:00
discord.py feat(discord): add channel_skill_bindings for auto-loading skills per channel 2026-04-10 05:19:26 -07:00
email.py fix(gateway): validate Slack image downloads before caching 2026-04-10 03:53:09 -07:00
feishu.py fix(feishu): wrap image bytes in BytesIO before uploading to lark SDK 2026-04-10 05:19:26 -07:00
homeassistant.py fix(gateway): add request timeouts to HA, Email, Mattermost, SMS adapters (#3258) 2026-03-26 14:36:07 -07:00
matrix.py fix(matrix): log redact failures and add missing reaction test cases 2026-04-10 05:19:26 -07:00
mattermost.py fix(security): consolidated security hardening — SSRF, timing attack, tar traversal, credential leakage (#5944) 2026-04-07 17:28:37 -07:00
signal.py fix: Signal duplicate replies with streaming + per-platform tool_progress (#6348) 2026-04-08 17:39:45 -07:00
slack.py fix: make safe_url_for_log public, add SSRF redirect guards to base.py cache helpers 2026-04-10 05:04:28 -07:00
sms.py fix: store asyncio task references to prevent GC mid-execution (#3267) 2026-03-26 14:36:24 -07:00
telegram_network.py fix(gateway): replace assertions with proper error handling in Telegram and Feishu 2026-04-10 03:52:00 -07:00
telegram.py fix(telegram): use valid reaction emojis for processing completion (#7175) 2026-04-10 05:34:33 -07:00
webhook.py fix: add all platforms to webhook cross-platform delivery 2026-04-10 03:16:24 -07:00
wecom.py fix(gateway): validate Slack image downloads before caching 2026-04-10 03:53:09 -07:00
weixin.py feat(gateway): add native Weixin/WeChat support via iLink Bot API 2026-04-10 05:54:37 -07:00
whatsapp.py refactor: codebase-wide lint cleanup — unused imports, dead code, and inefficient patterns (#5821) 2026-04-07 10:25:31 -07:00