Bug Description
Dragging an image into the chat input area in 'hermes desktop' causes the UI to freeze completely with no response.
Contrast: Manually pasting a file path (e.g. 'C:\Users\Administrator\Desktop\Lattice.png') works fine — 'vision_analyze' is called as a tool and the image is recognized correctly.
Main model: deepseek-v4-pro
Vision model: qwen3.5-plus (auxiliary)
Steps to Reproduce
- Launch 'hermes desktop'
- Drag any '.png' / '.jpg' image from File Explorer into the chat window
- UI freezes
Expected Behavior
It should read the picture with vision model and give response
Actual Behavior
The UI freeze(maybe with main model which do not have visual ability like deepseek)
Core error — vision model API incompatibility (resolved via image_routing)
2026-07-13 16:02:05,831 ERROR tools.vision_tools: Error analyzing image:
Error code: 400 - {'error': {'message':
"Failed to deserialize the JSON body into the target type:
messages[0]: unknown variant `image_url`, expected `text` at line 1 column 56187",
'type': 'invalid_request_error', 'param': None, 'code': 'invalid_request_error'}}
Traceback:
File "tools/vision_tools.py", line 1253, in vision_analyze_tool
File "agent/auxiliary_client.py", line 7431, in async_call_llm
...
openai.BadRequestError: Error code: 400 -
messages[0]: unknown variant `image_url`, expected `text`
### Affected Component
Agent Core (conversation loop, context compression, memory)
### Messaging Platform (if gateway-related)
_No response_
### Debug Report
```shell
Report https://dpaste.com/8JSFCV7HG
agent.log https://dpaste.com/HB3GA3XJS
gui.log https://paste.rs/SsExo
desktop.log https://paste.rs/KCKSG
Operating System
Windows 10
Python Version
No response
Hermes Version
0.18.2
Additional Logs / Traceback (optional)
Root Cause Analysis (optional)
No response
Proposed Fix (optional)
- When a file is dropped, obtain the file's local absolute path
- Send the path as plain text over WebSocket to the backend (e.g.
C:\Users\...\xxx.png)
- The backend's
_detect_file_drop() will automatically detect, resolve, and route it to the correct image processing pipeline
- Currently, the GUI layer may be attempting to read and send the file content (base64-encoded), causing the freeze
Are you willing to submit a PR for this?
Bug Description
Dragging an image into the chat input area in 'hermes desktop' causes the UI to freeze completely with no response.
Contrast: Manually pasting a file path (e.g. 'C:\Users\Administrator\Desktop\Lattice.png') works fine — 'vision_analyze' is called as a tool and the image is recognized correctly.
Main model: deepseek-v4-pro
Vision model: qwen3.5-plus (auxiliary)
Steps to Reproduce
Expected Behavior
It should read the picture with vision model and give response
Actual Behavior
The UI freeze(maybe with main model which do not have visual ability like deepseek)
Core error — vision model API incompatibility (resolved via image_routing)
Operating System
Windows 10
Python Version
No response
Hermes Version
0.18.2
Additional Logs / Traceback (optional)
Root Cause Analysis (optional)
No response
Proposed Fix (optional)
C:\Users\...\xxx.png)_detect_file_drop()will automatically detect, resolve, and route it to the correct image processing pipelineAre you willing to submit a PR for this?