pi-vision-native
Native vision for text-only pi models (DeepSeek, Llama, ...). Capability-aware chat attachment interception + vision-describe/vision-ask tools via any OpenAI-compatible vision endpoint (ModelScope, SiliconFlow, OpenRouter, GLM, Ollama), with intent detect
Package details
Install pi-vision-native from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-vision-native- Package
pi-vision-native- Version
1.0.0- Published
- Aug 19, 2026
- Downloads
- 167/mo · 167/wk
- Author
- fengxbin
- License
- MIT
- Types
- extension, skill
- Size
- 45.1 KB
- Dependencies
- 0 dependencies · 2 peers
Pi manifest JSON
{
"extensions": [
"./extensions/index.ts"
],
"skills": [
"./skills"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
点睛 · pi-vision-native
画龙点睛——让纯文本模型看见。 Give text-only pi models (DeepSeek, Llama, ...) real vision.
pi-vision-native(点睛)是一个 Pi Coding Agent 视觉扩展:当主模型是纯文本(如 DeepSeek V4 Flash)时,它会自动把聊天中粘贴/附加的图片交给视觉模型分析,并把文字描述注入对话,让主模型"看得见"图片——同时支持任意 OpenAI 兼容的视觉端点,不绑定任何一家服务商。
✨ 特性
| 特性 | 说明 |
|---|---|
| 🖼️ 附件自动读图 | 聊天里粘贴图片或 @文件 附加图片,自动交给视觉模型分析并注入描述,纯文本主模型无需换模型即可看图 |
| 🧠 能力感知 | 检测当前主模型是否多模态:支持图片的主模型(Qwen3-VL、GPT-4o…)原图直通、零委托;仅纯文本主模型才走视觉桥接 |
| 🎯 意图检测 | 你明确问图("描述这张图片")→ 视觉模型直接回答;图片只是素材("根据截图实现这个 UI")→ 视觉模型只提取事实、绝不越权实现,真正干活的是主模型 |
| 🔌 服务商无关 | 任何 OpenAI 兼容视觉端点:ModelScope、硅基流动、OpenRouter、智谱 GLM、本地 Ollama… 一个命令切换 |
| 🔁 韧性 | 内容寻址缓存(同图重复分析零 API 调用)+ 429/5xx/网络错误指数退避重试 + fallback 备用模型 |
| 🛠️ 双工具 | vision-describe / vision-ask 两个工具,可让视觉模型单独完成任意任务(识别、OCR、提取数据…) |
| 📝 审计日志 | 可选每调用一行日志,便于排查 |
📦 安装
pi install npm:pi-vision-native
# 或试用不安装
pi -e npm:pi-vision-native
安装后 /reload,然后配置:
/vision key # 设置视觉 API 密钥(任意服务商)
/vision model # 设置视觉模型 ID
/vision config # 查看当前配置
🚀 快速上手
场景 1:纯文本主模型看附件图片
你:[粘贴一张截图] 描述一下这张图片
→ 插件自动调用视觉模型,把图片描述注入消息
→ DeepSeek 基于描述回答
场景 2:根据图片实现功能(视觉只负责"看")
你:[附加 UI 设计图] 根据图片实现这个日历界面
→ 视觉模型只提取事实(布局/文字/颜色…),不输出实现方案
→ DeepSeek 基于描述真正实现代码
场景 3:让视觉模型单独干活
你:用 vision-ask 提取这张图片里的表格数据,生成 JSON
→ agent 调用 vision-ask 工具,视觉模型直接输出结果
⚙️ 配置命令
/vision # 显示全部配置状态
/vision model <id> # 设置视觉模型(如 Qwen/Qwen3-VL-32B-Instruct)
/vision base-url <url> # 切换服务商端点
/vision key # 设置 API 密钥
/vision fallback <id> # 设置备用模型(主模型失败时自动切换)
/vision fallback-key <key> # 备用模型密钥(可选,默认用主密钥)
/vision fallback-url <url> # 备用模型端点(可选)
/vision fallback-clear # 清除备用模型
/vision cache [clear] # 查看/清空缓存
/vision persist [on|off] # 跨会话磁盘缓存开关
/vision audit [on|off] # 审计日志开关
兼容别名:
/modelscope-vision仍然可用。
服务商示例
| 服务商 | base-url | 模型示例 |
|---|---|---|
| ModelScope | https://api-inference.modelscope.cn/v1 |
Qwen/Qwen3-VL-235B-A22B-Instruct |
| 硅基流动 | https://api.siliconflow.cn/v1 |
Qwen/Qwen2.5-VL-72B-Instruct |
| 智谱 GLM | https://open.bigmodel.cn/api/paas/v4 |
glm-4v-flash(免费) |
| OpenRouter | https://openrouter.ai/api/v1 |
qwen/qwen-2.5-vl-72b-instruct |
| 本地 Ollama | http://localhost:11434/v1 |
qwen2.5vl:7b |
🔬 工作原理
用户粘贴/附加图片
│
▼
┌─ input 事件拦截(agent 处理之前)─────────────┐
│ 有图?否 → continue(零开销) │
│ 主模型多模态?是 → 原图透传(零委托) │
│ 纯文本主模型? │
│ ├─ 意图检测:问图 / 当素材? │
│ ├─ 缓存命中 → 直接注入(0 API 调用) │
│ ├─ 视觉模型调用(指数退避重试) │
│ └─ 失败 → fallback 备用模型 │
│ 注入文字描述 + 清空原图 → 交给主模型 │
└──────────────────────────────────────────┘
- 为什么清空原图:纯文本主模型收到图片只会被 pi 替换成
(image omitted: ...)占位符,毫无意义;注入文字描述才能被真正"看见" - 为什么不越权:素材模式下视觉模型的 prompt 明确禁止输出实现建议/代码,保证 DeepSeek 这类主模型始终是执行者
📦 发布与开发
git clone https://github.com/fengxbin/pi-vision-native # 或先 fork
npm install # 安装 devDependencies
npm pack # 本地验证打包内容
npm publish # 发布到 npm(需先 npm login)
发布后 pi.dev 市场自动收录(包带 pi-package keyword)。
📄 License
派生自 @lokiyou/modelscope-vision(MIT),在原「工具调用 + 独立配置」基础上新增:附件自动读图、能力感知、意图检测、缓存/重试/fallback、多服务商支持、命令改名 /vision。