跳到主要内容
知仓学习社ZHICANG

vision-bench

Score and compare images using vision LLMs as judges. YAML-defined criteria presets for 11 use cases (text-to-image, photorealism, document OCR, cha…

读凭据执行命令读文件联网严重 0 · 高危 3glebis/claude-skills

它会碰到什么

扫了多少19 个文本文件,38 KB
它会碰到什么读凭据执行命令读文件联网
命中总数6 处
命中统计严重 0 · 高 3 · 中 1 · 低 2
逐条看命中(3 条严重或高危)
  • vault.py:16cred-envread
    env["SOPS_AGE_KEY_FILE"] = str(age_key)
  • vault.py:18exec-spawn
    result = subprocess.run(
  • vault.py:35cred-envread
    return _cache.get(key) or os.environ.get(key)

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

Vision Bench — LLM Image Evaluation

Compare images by scoring them with one or more vision LLM judges against structured rubric criteria.

Quick Start

# Install dependencies
pip install pyyaml openai anthropic mistralai

# Score a single image
python bench.py image.png --criteria photorealism --judge gemini-2.5-flash

# Compare two AI-generated images
python bench.py img_a.png img_b.png \
  --criteria text_to_image \
  --prompt "a fox in a snowy forest" \
  --judge gpt-4o

# Multi-judge consensus
python bench.py img.png \
  --criteria portrait \
  --judges gpt-4o gemini-2.5-flash claude-opus-4-5-20251022

# OpenRouter models (any vision-capable model)
python bench.py img_a.png img_b.png \
  --criteria artistic_style \
  --judges "openrouter/meta-llama/llama-4-maverick" "openrouter/mistralai/pixtral-large-2411"

# List all presets
python bench.py --list-presets

# Save report to file
python bench.py img.png --criteria chart_analysis --save report.md

Presets

| Preset | Use Case |

|--------|----------|

| text_to_image | Compare AI image generators (Midjourney, DALL-E, Flux) |

| photorealism | How convincingly an image looks like a photo |

| artistic_style | Style consistency, composition, color harmony |

| portrait | AI-generated portrait quality and realism |

| product_photo | E-commerce product image quality |

| document_ocr | Document text extraction and layout understanding |

| chart_analysis | Chart and data visualization comprehension |

| invoice | Financial document field extraction accuracy |

| ui_screenshot | App/web screenshot understanding |

| scientific | Scientific/medical image accuracy |

| alt_text | Accessibility image description quality |

Custom criteria: pass any .yaml file as --criteria path/to/my.yaml.

Judge Providers

| Prefix | Provider | Example |

|--------|----------|---------|

| gpt-, o1, o3, o4 | OpenAI | gpt-4o |

| claude- | Anthropic | claude-sonnet-4-5-20251022 |

| gemini- | Google Gemini | gemini-2.5-flash |

| pixtral-, mistral-, ministral- | Mistral | pixtral-12b-2409 |

| openrouter/ | OpenRouter (any model) | openrouter/meta-llama/llama-4-maverick |

API Keys

Keys are loaded from secrets.enc.yaml (SOPS + age encrypted) with fallback to environment variables.

Supported keys: OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, OPENROUTER_API_KEY

To encrypt your own keys:

sops --config .sops.yaml --encrypt --input-type yaml --output-type yaml secrets.yaml > secrets.enc.yaml

Output Formats

--output markdown (default) · --output json · --output table

Files

  • bench.py — CLI entry point
  • judge.py — Multi-provider LLM judge logic
  • report.py — Report generation
  • vault.py — SOPS secrets decryption
  • criteria/ — 11 YAML preset files
  • .sops.yaml — Age key config for encryption
  • secrets.enc.yaml — Encrypted API keys

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。