Fix image search: embed markdown instead of describing URLs

- tools.py: search_images result now includes 'embed' (ready-to-use
  markdown image syntax) and 'citation' fields instead of raw 'local_url';
  adds 'instructions' field so the model knows to render them verbatim
- llm.py: system prompt now explicitly tells the model to embed images
  using the 'embed' field rather than describing or listing URLs
- markdown.ts: explicitly allow src/alt in PURIFY_OPTS_FULL so img tags
  are never stripped by DOMPurify

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-01 13:19:59 -05:00
parent de1831f689
commit 1890f0c7f1
3 changed files with 21 additions and 6 deletions
+1 -1
View File
@@ -37,7 +37,7 @@ const headingRenderer = {
marked.use({ renderer: headingRenderer });
const PURIFY_OPTS_FULL = {
ADD_ATTR: ["data-tag", "data-title"],
ADD_ATTR: ["data-tag", "data-title", "src", "alt"],
FORCE_BODY: true,
};