hermes - 💡(How to fix) Fix [Bug] vision_analyze returns "no image attached" for valid cached images from Telegram

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Root Cause

Possible Root Cause

Code Example

$ ls -la img_a041931e65cf.jpg
-rw-rw-r-- 1 peter peter 160638 May 21 06:14 img_a041931e65cf.jpg

$ file img_a041931e65cf.jpg
JPEG image data, JFIF standard 1.01, 578x1280, components3

$ python3 -c "from PIL import Image; import numpy as np; \
  img = Image.open(...); arr = np.array(img); \
  print(f"Min:{arr.min()} Max:{arr.max()} Mean:{arr.mean():.2f}")"
Min:0 Max:255 Mean:126.12
RAW_BUFFERClick to expand / collapse

Bug Description

When a user sends an image via Telegram, it is saved to the local image cache (e.g. ~/.hermes/image_cache/img_xxx.jpg), but vision_analyze consistently returns "I cannot see any image attached" even though:

  • The file exists on disk
  • File size is non-zero (e.g. 160KB)
  • file command correctly identifies it as a valid JPEG
  • Python/PIL can read the pixel data (mean=126, min=0, max=255, 256 unique values)
  • The image has diverse pixel content (not a blank/black image)

Steps to Reproduce

  1. Send an image from Telegram mobile app to Hermes DM
  2. Image is downloaded and saved to ~/.hermes/image_cache/
  3. Call vision_analyze on the cached image path
  4. The tool returns: "I cannot see any image attached"

Technical Investigation

$ ls -la img_a041931e65cf.jpg
-rw-rw-r-- 1 peter peter 160638 May 21 06:14 img_a041931e65cf.jpg

$ file img_a041931e65cf.jpg
JPEG image data, JFIF standard 1.01, 578x1280, components3

$ python3 -c "from PIL import Image; import numpy as np; \
  img = Image.open(...); arr = np.array(img); \
  print(f"Min:{arr.min()} Max:{arr.max()} Mean:{arr.mean():.2f}")"
Min:0 Max:255 Mean:126.12

The image is valid, non-blank, 578x1280 RGB. Yet vision_analyze returns empty analysis.

Expected Behavior

vision_analyze should successfully analyze valid JPEG images stored in the local cache.

Actual Behavior

The tool returns an empty/blank analysis claiming no image is present.

Possible Root Cause

The vision_analyze tool may not be correctly resolving absolute file paths from the image cache, or the image data is not being passed correctly to the vision model. The issue could be in how the tool resolves the image_url parameter when it is a local absolute path.

Environment

  • OS: Ubuntu (Linux 6.8.0)
  • Platform: Telegram DM
  • Image cache: ~/.hermes/image_cache/
  • Image format: JPEG

Related

See also issue #25900 — different symptom but same root cause area (vision pipeline from Telegram).

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

hermes - 💡(How to fix) Fix [Bug] vision_analyze returns "no image attached" for valid cached images from Telegram