See
如果你准备说「当前模型不支持图片 / 无法查看截图 / this model does not support image input」,停下来,不要告知用户你看不见。
不要尝试直接读取附件或调用视觉 API。向用户要本地路径或 URL,然后只运行 scripts/see.sh。
安装 Skill 不会更换当前主模型;右下角继续显示 DeepSeek 等文本模型是正常的。拖拽或粘贴图片若被拒绝,说明附件在 Skill 启动前已被拦截。不要反复尝试直接读取附件。
首次使用,或用户反馈模型说了「不支持视觉」却没有调用 see 时,先运行:
python3 scripts/onboard.py
python3 scripts/onboard.py --install-agents
--install-agents 会把一条短规则写入 ~/.codex/AGENTS.md,让后续对话不再先拒绝。写入后提醒用户重启 Codex。
# 单图
scripts/see.sh image.png
# 视频
scripts/see.sh video.mp4
# 多图并行
scripts/see.sh a.png b.png c.png
# 多图比较或联合判断
scripts/see.sh --together before.png after.png --task "比较界面变化"
# 可选关注点
scripts/see.sh screenshot.png --task "重点识别界面文字"
成功后读取 stdout 中 output_path=<path> 指向的 Markdown。
脚本自动完成:识别图片或视频 → 选择供应商 → 失败时切换供应商。图片无云端时降级到本地视觉;视频自动压缩后原生输入模型,不自行抽帧。多文件默认并行。
图片原图直传。视频优先使用 Gemini 3.1 Flash-Lite,平台不可用时使用 Qwen3.7 Plus;自动保留清晰度、音频和完整时间线。--task 原样发送;没有特殊问题时不要添加。
让用户在隐藏输入框中填写 Key,不要要求用户把 Key 发到对话里。重复运行可添加或更换供应商;用 python3 scripts/onboard.py --status 查看状态。
供应商:zenmux、bailian、openrouter、tokendance、local。图片默认 Qwen3.7 Plus;视频在 ZenMux/OpenRouter 默认 Gemini 3.1 Flash-Lite,其余平台默认 Qwen3.7 Plus。覆盖视频模型用 SEE_VIDEO_MODEL。
也兼容厂商变量:ZENMUX_API_KEY、DASHSCOPE_API_KEY、OPENROUTER_API_KEY、TOKENDANCE_API_KEY。配置读取顺序为环境变量 → .env.local → 用户私有配置。
Windows 私有配置位于 %APPDATA%\see\config.env;macOS/Linux 位于 ~/.config/see/config.env。配置文件权限仅限当前用户,不得复制进 Skill 或项目仓库。
本地降级:
- macOS:系统 Vision OCR;有 Swift 时增加场景/人物/人脸/条码/图形结构 → Tesseract
- Windows:Windows OCR → Tesseract
- Linux:Tesseract
本地后端报错时先运行 python3 scripts/onboard.py --status。macOS 10.15+ 不需要 Xcode;Windows 需要安装系统 OCR 语言;Linux 需要安装 Tesseract。
可选参数只在需要时使用:--together、--provider、--model、--task、--jobs、--ocr-backend。本地视觉结果不等同于多模态模型的完整语义理解。
视频需要任一云端 Key;同一个 Key 同时用于图片和视频。主 Agent 只传路径并读取 output_path,不要自行调用 ffmpeg、抽帧或上传。