mirror of
https://gitee.com/mateos/mateclaw.git
synced 2026-09-13 03:13:41 +08:00
WeCom quoted-message context: - Parse the body.quote field that arrives alongside any inbound message (text / image / voice / file / mixed sub-types). When a user long- presses a previous bot bubble and types a follow-up like "解释一下", the agent now sees both the user's new text and the referenced content as proper context — replies stay on topic instead of guessing what was being explained. - Quoted images / files are downloaded through the same pipeline as inbound new media (magic-byte sniff, ZIP container peek for DOCX / XLSX / PPTX recovery, chat-uploads layout) so the vision sidecar and document tools can actually analyse what was quoted. - Reading order in the assembled prompt: "[引用消息: ...]\n<user text>" first, then quoted media parts, then the user's own current-message media. Mixed quotes flatten into a space-joined summary. Multimodal sidecar settings preservation: - The bulk settings PUT used to unconditionally overwrite the vision / video sidecar model ids — null in a partial payload became "" in the DB, silently wiping the configured sidecar every time a user saved an unrelated settings page (System / Music / Image / etc.). Symptom: "I picked a vision model, saved a different settings tab, now the bot can't see images anymore." - Bulk save now guards both keys with non-null checks, matching the pattern used for music / 3D / image / video / tts / stt blocks. - A dedicated /settings/sidecar endpoint always writes both keys, so the sidecar UI can still explicitly clear via null without leaking the write-on-null semantics into every other settings save. - Frontend sidecar card switches to the dedicated endpoint; other settings pages keep their existing partial-payload behaviour. |
||
|---|---|---|
| .. | ||
| public | ||
| src | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| pnpm-lock.yaml | ||
| TEST_CASES.md | ||
| tsconfig.json | ||
| vite.config.ts | ||
| yarn.lock | ||