宠物情绪识别
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-rn88lg3j/pet-detect。
技能介绍
解决的问题
给宠物拍了照片,却很难判断它当时是开心、放松,还是紧张不安。人对猫狗表情的感知差异很大,同一只猫的「平静脸」在不同人眼里可能是「不高兴」。
pet-detect 把这个判断交给模型:输入一张宠物照片,输出四类情绪——Angry、Happy、Relaxed、Sad。适合做宠物相册的情绪标签、投喂/互动提醒的前置判断,或者给聊天机器人增加一个「看懂宠物」的能力。
工作原理
这个技能的架构是典型的「模型做路由、代码做执行」:
- 模型层负责理解用户意图、选择工具、提取参数,不直接碰 API;
- 脚本层
scripts.tools负责实际调用,返回结构化的dict; - 返回值包含
raw(API 原始 JSON)、success(布尔值)和message(状态消息),模型只做整理和展示。
按 SKILL.md 定义的流程,一次调用要经过五步:
- 检查 API 密钥——若
scripts.config.settings.api_key为空,先用AskUserQuestion询问用户; - 选择工具——有图片链接走
scripts.tools.pet_emotion_recognition,只有 base64 数据走scripts.tools.pet_emotion_recognition_for_data_base64; - 提取参数——前者填
dataUrl,后者填dataBase64; - 调用工具——以关键字参数形式调用,如
scripts.tools.pet_emotion_recognition(dataUrl='...'); - 返回结果——把
result['raw']整理后展示给用户。
注意点
API 密钥是硬性前置条件。 密钥存放在环境变量 XBY_APIKEY 中,缺失时必须先询问用户,禁止自行搜索或编造结果。密钥管理入口在 scripts.config.set_api_key(),拿到用户提供的密钥后保存即可复用。
参数不完整要追问。 如果用户既没给链接也没给 base64,需要主动用 AskUserQuestion 补齐,不能凭空推断。
输入形式二选一。 要么提供可访问的图片 URL,要么提供图片的 base64 编码;两者不可混用,选错工具会直接调用失败。
输出是分类标签而非置信度细节。 结果落在四类情绪上,SKILL.md 未承诺置信度、多目标识别或动作描述,把它当作粗粒度的情绪分类器来用更实际。
使用场景
- 整理宠物相册:手头有上百张猫狗照片,想按情绪分成生气、开心、放松、悲伤四类方便查找。
- 远程查看宠物状态:上班时收到家里监控截图,上传后确认猫咪是放松还是焦躁,决定是否需要提前回家。
- 给 AI 助手接入看宠能力:用户在对话里发宠物照片问它心情如何,助手调用技能返回四类情绪标签。
- 宠物内容选题:博主写猫咪日常文章,需要从一堆照片里挑出最能体现特定情绪的配图。
适合人员
- 养宠人士:手机里存了大量宠物照片,想按情绪分类整理,或在外时通过照片判断家中宠物状态。
- AI 应用开发者:正在给聊天机器人或智能助手集成图像识别能力,需要调用现成的宠物情绪分类接口。
- 宠物内容创作者:运营宠物自媒体,需要快速为文章或视频配图标注情绪作为素材参考。
- 智能家居爱好者:想在家庭监控或宠物护理自动化里加入情绪判断,根据宠物状态触发提醒。