mateclaw/mateclaw-server
matevip 3d1f0469ca feat(channel): wecom group reply slot + upload size limits + appmsg inbound
Group-chat reply slot fallback:
- The platform blocks proactive sends in group chats; outbound paths
  (cron summaries, async-task completions, generated image/music/3D
  delivery, TTS audio) silently failed because they fell through to
  the proactive-send command. New bounded LRU maps each group chat
  to its most recent inbound frame id; the dispatcher prefers that
  reply slot and falls through to proactive only for single chats.
- Centralised text and media dispatch through a single helper so the
  group rule never has to be re-implemented per outbound path.

Upload size pre-check + auto-downgrade:
- Without client-side limits, oversized uploads streamed for ~1 minute
  before the server rejected at the finish step — users saw nothing
  arrive in their chat. The new decision layer mirrors the platform's
  hard limits and produces three outcomes: rejected with a friendly
  reason, downgraded to a generic file delivery with an inline note,
  or pass-through unchanged.
- Files over 20MB reject. Images / videos over their 10MB limit
  downgrade to file. Voice content that isn't AMR or exceeds 2MB
  downgrades. AMR voice within 2MB stays native.

appmsg inbound parsing:
- Forwarded complex messages (document transfers, article links,
  miniprogram cards) used to fall into the inbound switch's default
  branch and silently drop. The new branch flattens four sub-types
  into a text marker the agent reads plus any media that needs to
  reach downstream tools — document forwards reuse the same magic-
  byte sniff and per-conversation upload layout as native file
  inbound, so extension recovery and chat-uploads serving work
  identically.
- Article links produce "[链接] title\ndescription\nurl" so the agent
  can summarize without round-tripping. Miniprograms surface their
  title. Unknown sub-types still emit a generic marker so the agent
  is never blind.
2026-05-10 15:13:14 +08:00
..
src feat(channel): wecom group reply slot + upload size limits + appmsg inbound 2026-05-10 15:13:14 +08:00
Dockerfile fix(docker): pin pnpm@10 + whitelist build scripts (#80) 2026-05-09 06:53:09 +08:00
pom.xml feat(llm,tool/image): dashscope-compat provider + media-gen test profile 2026-05-09 06:28:38 +08:00
settings.xml build(maven): declare US + CN repositories in pom.xml, drop opaque mirror 2026-04-25 09:56:17 +08:00