7天上手OpenClaw Day3:Skill API与参数处理

输入参数定义

在skill.yaml中使用JSON Schema定义输入参数:input_schema: type: object, properties: {text: {type: string}, lang: {type: string}}。参数自动验证,类型错误会报错。

参数验证

使用Pydantic进行参数验证。定义模型:class TranslationInput(BaseModel): text: str, lang: str = 'en'。execute方法接收验证后的模型实例。

输出格式规范

输出可以是字符串或字典。推荐使用字典返回结构化数据:{'result': 'translated text', 'confidence': 0.95}。output_schema定义输出格式,便于下游处理。

错误处理

使用SkillException抛出Skill异常:raise SkillException('API调用失败', code=500)。异常会被框架捕获并返回友好错误信息。避免裸露异常导致系统崩溃。

💬 📞