DeepSeek can't see images.
Give it eyes and ears.
Automatic setup adds DeepSeek text and HappyToken Vision to OpenCode or Pi. The local router sends text-only chats directly to DeepSeek with your key and image attachments to HappyToken Vision. Video, speech and embeddings remain available as endpoints for clients that can send custom requests or call tools.
$ npm i -g happytoken-routerAfter subscribing and creating a key: happytoken login ยท happytoken setup opencode
Requires macOS and Node.js 20 or newer.
Vision in your agent, four more endpoints
Vision
Attach an image while DeepSeek is selected; the router sends it to HappyToken Vision automatically.
Video analysis
Sampled-frame analysis through a custom Router/API request or tool.
Speech-to-text
Transcription endpoint for clients that can send custom audio requests.
Text-to-speech
Speech endpoint for clients that can send custom requests or call a tool.
Embeddings
1024-dim vectors through the embeddings endpoint for RAG and search tools.
Works with your agent
One command adds image-capable DeepSeek V4 Flash/Pro entries and HappyToken Vision to OpenCode or Pi. It does not create video, speech or embeddings tools. Other Chat Completions clients can use the local router URL manually. Your DeepSeek key stays on your Mac.