ZhuXinAI/sidesight1

sidesight

Vision sidecar for text-only coding agents.

AI Analysis

核心用途是为纯文本编程智能体提供视觉辅助能力(如 UI、OCR、诊断等)。适合需要让 AI 智能体处理或识别图像、屏幕截图等视觉任务的用户。

Package
sidesight
Version
0.1.3
License
MIT
Last updated
Aug 13, 2026

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:ZhuXinAI/sidesight

Configuration

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:

ProfileDefault endpointDefault modelImagesNative video
opencode-goOpenCode Go /v1mimo-v2.5OpenAI-compatible image_urlNo; bounded ffmpeg frames
generichttp://localhost:8000/v1vision-modelOpenAI-compatible image_urlNo; bounded ffmpeg frames
localon-devicemacos-visionmacOS Vision OCR onlyNo

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.