← 听不懂

安装 OpenClaw 技能后立即验证依赖,不要等用到才发现

2026-03-12 工程实践 OpenClaw技能依赖检查冒烟测试

案例:装了但不能用

安装 nano-banana-pro 技能后,第一次真正需要生图时才发现报错:

Error: GRSAI_API_KEY is not set

Skill 'nano-banana-pro' requires API key configuration.

距离安装已经过了一周。API Key 需要去第三方平台申请,申请流程要填表+等审核,又耽误了半天。

教训很简单:安装 ≠ 可用

冒烟测试流程

每次安装新技能后,立即执行以下步骤:

Step 1:读 SKILL.md,提取环境变量

# 找到技能的 SKILL.md

find ~/.openclaw -name "SKILL.md" | xargs grep -l "nano-banana-pro" 2>/dev/null

# 查看 Prerequisites 或 Setup 章节

grep -A 20 -E "(Prerequisites|Setup|Required|环境变量|API Key)" \

~/.openclaw/workspace/skills/nano-banana-pro/SKILL.md

Step 2:逐一确认环境变量已配置

# 批量检查所有可能的 API key 变量

for var in GRSAI_API_KEY GEMINI_API_KEY OPENAI_API_KEY; do

if [ -z "${!var}" ]; then

echo "❌ $var 未设置"

else

echo "✅ $var 已设置(${#!var} 字符)"

fi

done

Step 3:跑最小 case

不要用复杂的真实需求做第一次测试,用最简单的调用验证基本能通:

# 最小测试:生成一张描述最简单的图

# (不在乎结果好不好,只验证 API 能通)

python3 -c "

import os

# 模拟技能的最小调用路径

print('API Key:', 'SET' if os.environ.get('GRSAI_API_KEY') else 'MISSING')

"

对技能开发者的建议

SKILL.md 应该有专门的 Prerequisites 章节,列清楚:

## Prerequisites

  • GRSAI_API_KEY:在 https://grsai.com 注册后获取(免费额度 xxx)
  • GEMINI_API_KEY(可选):用于备用模型

申请步骤:

1. 访问 https://grsai.com/api

2. ...

没有这个章节的技能,使用者只能靠报错反向推导需要什么——体验很差。

快速扫描所有已装技能的依赖

#!/bin/bash

# 扫描所有 SKILL.md,找出提到的环境变量,检查是否已设置

find ~/.openclaw/workspace/skills -name "SKILL.md" | while read skill; do

skill_name=$(dirname "$skill" | xargs basename)

vars=$(grep -oE '[A-Z_]{5,}_KEY|[A-Z_]{5,}_TOKEN|[A-Z_]{5,}_SECRET' "$skill" | sort -u)

for var in $vars; do

if [ -z "${!var}" ]; then

echo "[$skill_name] ❌ $var 未设置"

fi

done

done

运行一次,把所有缺失的 API Key 一次性处理掉,比等用到时再报错效率高得多。