📦 Holocube Emotes — 全息表情反应
v1.0.0将 GeekMagic holocube 变为 AI 的物理表情屏:自动扫描本地设备,调用 Gemini 生成全息精灵图,按对话状态(空闲/工作中/出错)实时切换表情,让助手拥有可见的“脸”。
0· 1.1k·0 当前·0 累计
安全扫描
OpenClaw
可疑
high confidence该技能基本兑现承诺(生成并推送图片到本地 GeekMagic holocube),但注册元数据未声明所需凭证与运行时依赖,且脚本执行大量本地操作(网络扫描、读取 OpenClaw 配置、文件 I/O),用户需在安装前明确同意并理解。
评估建议
安装前需考虑:
- 缺失凭证声明:注册元数据未列出任何必需环境变量,但 SKILL.md 与脚本要求 GEMINI_API_KEY(Gemini 生图)及 nano-banana-pro 技能。技能会尝试从环境变量或 ~/.openclaw/openclaw.json 读取 GEMINI_API_KEY;若您在此配置文件存放 API 密钥,本技能将读取该文件——请确认您对此感到安心。
- 网络行为:脚本扫描本地 /24 子网发现设备,然后向设备 IP 发起文件与命令 POST(如 /doUpload、/set)。这是设备配置所需,但可能被视为侵入;请仅在可信网络运行,并在自动执行前确认目标设备 IP。
- 外部执行:精灵生成通过 'uv run' 调用外部脚本(nano-banana-pro),实质运行该包代码并向 Gemini 发送提示/API 调用。请确保 nano-banana-pro 与 'uv' 来自可信源,并了解 GEMINI_API_KEY 的使用方式。
- 文件写入:技能在用户主目录(~/.openclaw/workspace/...)生成资源,并可能在设备上清...详细分析 ▾
⚠ 用途与能力
名称/描述与实现行为一致:生成精灵图并推送到 GeekMagic holocube。然而,技能元数据未列出所需环境变量或主要凭证,而 SKILL.md 与代码明确需要 GEMINI_API_KEY(及 nano-banana-pro 技能)用于生图,并依赖 'uv' 二进制与 Pillow。注册元数据遗漏这些必需项,存在不一致。
ℹ 指令范围
运行时指令与所含脚本与声明目的一致:发现本地子网设备、通过 Gemini 支持技能生成图片、转为 GIF/JPG、上传至设备并设置表情。脚本执行完整 /24 子网扫描、读写用户主目录(~/.openclaw 工作区)、读取 ~/.openclaw/openclaw.json 获取 API 密钥,并对本地设备端点发起 HTTP POST(如 /doUpload、/set)。这些行为对配置属预期,但比单纯“设置表情”更广泛(网络扫描、解析设备 HTML 做备份、写文件)。未发现向第三方端点发送数据的指令(除 nano-banana-pro/Gemini 生图步骤外),也未发现混淆或隐藏远程端点。
✓ 安装机制
此为纯指令型技能,附带脚本(无安装规范)。未指定任意远程下载/安装步骤。脚本调用外部二进制(uv、Pillow)与单独安装的 nano-banana-pro 技能;这些对生图属常见,但需从可信源安装。
⚠ 凭证需求
元数据未声明所需环境变量,但代码与 SKILL.md 需要 GEMINI_API_KEY(并尝试从环境变量或 ~/.openclaw/openclaw.json 读取)。脚本还读取用户主目录下的 OpenClaw 配置文件以寻找 nano-banana-pro API 密钥。读取该配置可能暴露其他技能 API 条目。所需二进制(uv、Pillow)在 SKILL.md 提及但未在元数据中强制声明。此失配意味着技能需要敏感凭证却未在注册项中声明——存在比例性与透明度问题。
✓ 持久化与权限
技能未请求 always: true,也未尝试修改其他技能配置。它将生成的资源写入用户工作区(~/.openclaw/workspace/assets/holocube-sprites)并在 holocube 设备上传/清除文件。这些均属该功能预期行为。注意:默认启用 agent 自主调用,但未与元数据中宽泛的未声明凭证请求结合(凭证由代码需要但未声明),因此用户应对自动运行保持谨慎。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv1.0.02026/2/8
● 无害
安装命令
点击复制官方npx clawhub@latest install holocube-emotes
镜像加速npx clawhub@latest install holocube-emotes --registry https://cn.longxiaskill.com✓ 镜像可用
技能文档
首次设置
0. 找到设备
在局域网内自动发现 holocube:python3 scripts/holocube.py --discover
输出:FOUND: 192.168.0.245 — HelloCubic-Lite V7.0.22
若发现失败,请在设备屏幕或路由器客户端列表里查看 IP。1. 生成精灵
创建完整表情精灵包(需要 nano-banana-pro skill 并设置GEMINI_API_KEY):
python3 scripts/generate_sprites.py --output-dir ./sprites
自定义角色:
python3 scripts/generate_sprites.py --output-dir ./sprites \
--character "A glowing holographic cat floating in pure black void. Neon purple wireframe style."
会生成 7 种表情(neutral、happy、thinking、surprised、concerned、laughing、sleeping),既有静态 JPG 也有动画 GIF,尺寸适配 240×240 屏幕。2. 上传到设备
python3 scripts/setup_device.py --sprites-dir ./sprites --clear --backup-dir ./backup
参数说明:
--clear先清空已有图片(推荐——设备只有约 3MB 空间)--backup-dir清空前备份现有文件--ip未提供时自动发现,也可手动指定
3. 配置 TOOLS.md
把 holocube IP 和表情映射添加到工作区 TOOLS.md 供参考。见 references/tools-example.md。日常使用
直接设置表情
python3 scripts/holocube.py happy
python3 scripts/holocube.py thinking --static # 使用 JPG 而非 GIF
按 agent 状态设置
python3 scripts/holocube.py working # → thinking
python3 scripts/holocube.py complete # → happy
python3 scripts/holocube.py error # → concerned
python3 scripts/holocube.py opus # → thinking(大模型)
python3 scripts/holocube.py haiku # → neutral(轻量模型)
按时间自动选择
python3 scripts/holocube.py --auto
- 23:00–07:00 → sleeping
- 07:00–09:00 → happy
- 其余时间 → neutral
查看状态
python3 scripts/holocube.py --status
python3 scripts/holocube.py --list
Heartbeat 集成
在 HEARTBEAT.md 中加入,实现表情自动管理:## Holocube Emote Check
- Run
python3 scripts/holocube.py --auto to set time-appropriate emote
何时设置表情
在常规 agent 操作中使用以下映射:| 场景 | 命令 | 表情 |
|---|---|---|
| 空闲,等待输入 | neutral | 🤖 |
| 处理中,运行工具 | thinking 或 working | 🔧 |
| 任务完成 | happy 或 complete | 😊 |
| 发生错误 | error(→ surprised) | 😮 |
| 有趣时刻 | laughing 或 funny | 😂 |
| 意外输入 | surprised 或 unexpected | 😮 |
| 夜间/非活跃 | sleeping 或 night | 😴 |
| 生成子 agent | spawning(→ thinking) | 🔧 |
| 按需自定义 | custom | ✨ |
自定义槽位
设备上预留的文件adam-custom.gif 可随时覆盖,用于临时或一次性动画。生成 GIF 后上传为 adam-custom.gif,然后执行 python3 holocube.py custom。用完再切回标准表情即可。设备说明
- 型号:GeekMagic HelloCubic-Lite(240×240 px 玻璃屏)
- 格式:GIF(动画)或 JFIF JPEG。JPEG 需用 Pillow(ffmpeg 缺少 JFIF 头)
- 存储:总计约 3MB。6 张动画 GIF 约占用 1.5MB,剩余约 500KB 给自定义槽位
- 美术风格:深色/黑色背景能让玻璃“消失”。使用发光、全息、霓虹元素
- ⚠️ 永远不要发送
/set?reset=1——这是出厂重置,会清空 Wi-Fi 配置
依赖
- GeekMagic HelloCubic-Lite(或兼容型号)接入本地网络
- Python 3 与 Pillow(
pip install Pillow) - nano-banana-pro skill 并配置
GEMINI_API_KEY(仅生成精灵时需要) uv(brew install uv)(仅生成精灵时需要)