pi-see

Vision proxy extension for pi — lets any model describe images, screenshots, diagrams and more

Packages

Package details

extension

Install pi-see from npm and Pi will load the resources declared by the package manifest.

$ 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:

  1. Resolves which model to use for vision (see priority below)
  2. Finds the image — either from a given file path, by locating the latest screenshot, or from images attached to the input
  3. Sends the image and prompt to the vision model
  4. Returns the description as text

Model resolution priority:

  1. If an explicit vision model was set via /seemodel — use that
  2. If the current conversation model has native vision — use it directly
  3. 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.