How ozongo/dseyes works
DsEyes is a lightweight image-to-text vision bridge: an agent or user supplies images and a task prompt, and the CLI returns a vision model’s text for the main model to use. The main runtime is concentrated in one script, so its distinct stages are shown as separate responsibilities sharing that path. The GUI edits the same configuration and can test connectivity. Provider protocols and these workflows are documented; sampled source excerpts are partial, so uncertain internal wiring is omitted.
Main entry points: translate.py CLI entry · gui.py GUI editor · SKILL.md Agent skill
Components 17
Configuration
- Resolve config
scripts/translate.py - User config
Translation Runtime
- CLI entry
scripts/translate.py - Image loader
scripts/translate.py - Prompt selection
scripts/translate.py - Provider dispatch
scripts/translate.py - Text / JSON output
scripts/translate.py
Vision Providers
- HTTP requests
scripts/translate.py - OpenAI Chat
scripts/translate.py - OpenAI Responses
scripts/translate.py - Anthropic
scripts/translate.py - Gemini
scripts/translate.py
Configuration GUI
- GUI editor
scripts/gui.py
Other components
- Main agent
- CLI user
- Agent skill
SKILL.md - Vision API
Connections 24
- Main agent → Agent skill: consults
- Main agent → CLI entry: invokes
- CLI user → CLI entry: runs
- CLI entry → Resolve config: resolves
- Resolve config → User config: reads
- GUI editor → User config: writes
- GUI editor → Resolve config: loads
- GUI editor → HTTP requests: tests via
- CLI entry → Image loader: loads
- Image loader → CLI entry: returns images
- CLI entry → Prompt selection: selects
- CLI entry → Provider dispatch: dispatches
- Provider dispatch → OpenAI Chat: selects
- Provider dispatch → OpenAI Responses: selects
- Provider dispatch → Anthropic: selects
- Provider dispatch → Gemini: selects
- OpenAI Chat → HTTP requests: posts
- OpenAI Responses → HTTP requests: posts
- Anthropic → HTTP requests: posts
- Gemini → HTTP requests: posts
- HTTP requests → Vision API: sends request
- Vision API → HTTP requests: returns response
- Provider dispatch → Text / JSON output: returns text
- Text / JSON output → Main agent: provides result