sidesight
Vision sidecar for text-only coding agents.
AI 분석
核心用途是为纯文本编程智能体提供视觉辅助能力(如 UI、OCR、诊断等)。适合需要让 AI 智能体处理或识别图像、屏幕截图等视觉任务的用户。
설치
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:ZhuXinAI/sidesightConfiguration
Precedence is CLI flags, environment variables, saved user config, then profile defaults. sidesight setup writes provider settings to ~/.sidesight/config.json with directory mode 0700 and file mode 0600. Set SIDESIGHT_CONFIG_DIR or SIDESIGHT_CONFIG_FILE to use another location. Use sidesight config init to create a non-secret template and sidesight config show to inspect resolved values.
Important variables:
SIDESIGHT_API_KEY
SIDESIGHT_BASE_URL
SIDESIGHT_MODEL
SIDESIGHT_PROFILE
SIDESIGHT_PROVIDER # cloud/auto by default; local selects native OCR
SIDESIGHT_ALLOWED_DIRS # optional; needed for media outside the current directory
SIDESIGHT_MAX_IMAGE_MB # default 10
SIDESIGHT_MAX_VIDEO_MB # default 50
SIDESIGHT_MAX_ZOOM_ROUNDS # default 3
SIDESIGHT_TIMEOUT_SECONDS # default 120
SIDESIGHT_DROP_DIR
SIDESIGHT_FFMPEG_PATH
Provider compatibility at a glance:
| Profile | Default endpoint | Default model | Images | Native video |
|---|---|---|---|---|
opencode-go | OpenCode Go /v1 | mimo-v2.5 | OpenAI-compatible image_url | No; bounded ffmpeg frames |
generic | http://localhost:8000/v1 | vision-model | OpenAI-compatible image_url | No; bounded ffmpeg frames |
local | on-device | macos-vision | macOS Vision OCR only | No |
Any provider that accepts the documented OpenAI-compatible multimodal chat-completions shape can use generic.
SIDESIGHT_ALLOWED_DIRS is not required for the usual case: by default the current working directory is allowed. Set it when an image or video lives elsewhere, for example export SIDESIGHT_ALLOWED_DIRS="$HOME/Screenshots:$PWD" on Unix-like systems. Keeping the allowlist narrow prevents accidental access to unrelated local files.
Normalized regions use x,y,width,height in the range 0..1, measured from the full original image:
sidesight ocr screenshot.png --region 0.65,0.70,0.35,0.30 \
--question "Read every visible character"
overview makes one bounded pass. normal, fine, and auto may inspect a bounded full-resolution crop. Crops are always made from the original, never from a resized crop. Zoom rounds, provider calls, image count, dimensions, media sizes, video frames, and output tokens are bounded.