pi-see
Vision proxy extension for pi — lets any model describe images, screenshots, diagrams and more
Package details
$ pi install npm:pi-see- Package
pi-see- Version
1.0.0- Published
- May 9, 2026
- Downloads
- 33/mo · 6/wk
- Author
- muswawir
- License
- MIT
- Types
- extension
- Size
- 23.9 KB
- Dependencies
- 0 dependencies · 3 peers
Pi manifest JSON
{
"extensions": [
"./see.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
see — Vision proxy extension for pi
Routes image+prompt requests through a configurable vision-capable model so that any model in pi can handle visual content, even text-only ones.
How it works
The extension registers a see tool that the LLM can call autonomously. When called, it:
- Resolves which model to use for vision (see priority below)
- Finds the image — either from a given file path, by locating the latest screenshot, or from images attached to the input
- Sends the image and prompt to the vision model
- Returns the description as text
Model resolution priority:
- If an explicit vision model was set via
/seemodel— use that - If the current conversation model has native vision — use it directly
- Otherwise — prompt the user to configure a proxy model
Installation
Place the extension in an auto-discovered location and reload:
cp see.ts ~/.pi/agent/extensions/see.ts # global
# or
cp see.ts .pi/extensions/see.ts # project-local
Then /reload inside pi.
Usage
Via the LLM tool
The LLM automatically has access to the see tool. When the conversation involves visual content, the model calls it with a prompt describing what to look for:
see(prompt="read all the text in this screenshot")see(prompt="describe the chart axes and values", imagePaths=["~/Desktop/chart.png"])see(prompt="compare these two designs", imagePaths=["~/mockup-v1.png", "~/mockup-v2.png"])see(prompt="what error message is shown?")— finds latest screenshot automatically
Via user commands
| Command | Description |
|---|---|
/see describe the latest screenshot |
Finds the newest image in ~/Pictures/Screenshots and analyzes it |
/see read the text from ~/Desktop/photo.jpg |
Analyzes a specific image file |
/see what's in ~/Pictures/diagram.png |
Another example of explicit file path |
/see model |
Opens a model selector to choose the vision proxy model |
/seemodel |
Same as above (visible in /commands) |
You can also paste or drag-drop images into pi's input, then type /see <prompt>.
Configuration
Set the default vision proxy model:
/seemodel
The status bar shows the current state:
👁 google/gemini-2.5-flash— explicit proxy configured👁 anthropic/claude-sonnet-4 (native)— using current model's native vision- (nothing) — no vision available, run
/seemodel
Built by muswawir with DeepSeek V4 Pro.