nano-banana-pro-openrouter
Deterministic OpenRouter image generation adapter for Nano Banana Pro / Gemini image models. Use as skill_exec when a meta-skill needs local image f…
它会碰到什么
逐条看命中(7 条严重或高危)
- 严重
SKILL.md:60cred-paths- Does not read `.env` files, prompt for credentials, print credentials, or
- 高
scripts/openrouter_image.py:389cred-envreadlease_required = os.environ.get(META_CAPABILITY_LEASE_REQUIRED_ENV) == "1"
- 高
scripts/openrouter_image.py:391cred-envreadprovider = os.environ.get(META_CAPABILITY_PROVIDER_ENV, "").strip().lower()
- 高
scripts/openrouter_image.py:395cred-envreados.environ.get(META_CAPABILITY_API_KEY_ENV, "").strip(),
- 高
scripts/openrouter_image.py:396cred-envreados.environ.get(META_CAPABILITY_BASE_URL_ENV, "").strip().rstrip("/"), - 高
scripts/openrouter_image.py:397cred-envreados.environ.get(META_CAPABILITY_PROXY_ENV, "").strip(),
- 高
scripts/openrouter_image.py:402cred-envreadargs.api_key.strip() or os.environ.get(api_key_env, ""),
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
Nano Banana Pro OpenRouter Adapter
This skill is a deterministic adapter around OpenRouter image generation. It is
intended for meta-skill skill_exec use, not as an open-ended agent surface.
Contract
- During MetaSkill execution, accepts only the parent-resolved, process-local
provider lease. The credential, endpoint, and proxy never enter with, argv,
the plan, or persisted run data. Direct standalone CLI use may still provide
OPENROUTER_API_KEY.
- Does not read
.envfiles, prompt for credentials, print credentials, or
write credentials to disk.
- Uses only the model, base URL, output directory, and local path prefix passed
by the caller.
- Saves generated image bytes under the supplied output directory.
- Emits one
IMAGE_READY:JSON line per saved image. - A missing/invalid required MetaSkill lease exits 78 before any provider
submission. Provider failures after submission emit IMAGE_GENERATION_FAILED
with exit 0 so the webpage can bind a replacement slot without auto-replay.
Meta-Skill Payload Mode
When stdin is JSON containing media_slots, image_slots, slots, or
page_outline, the adapter generates image slots and preserves already
downloaded images. Structured slots are preferred over free-form outline text:
{
"requirement_framing": "...",
"media_slots": {"slots": [{"slot_id": "hero-visual", "modality": "image"}]},
"page_outline": "...",
"image_download": "...",
"include_images": "YES",
"visual_style": "..."
}
Existing IMAGE_READY: records in image_download are preserved. If
IMAGE_DOWNLOAD_INCOMPLETE: lists unfilled_slot_ids, only those slots are
generated. If the caller requested images but both structured slots and outline
slot parsing are empty, the adapter synthesizes minimal webpage-safe image
slots from the brief instead of emitting no_image_slots_to_generate.
Plain Prompt Mode
When stdin is plain text, the adapter generates one image using that text as the
prompt and the --filename stem as the slot_id.
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。
它属于哪个仓库
src/opensquilla/skills/bundled/nano-banana-pro-openrouter/SKILL.md