← 返回 Skills 市场
horisky

emo-img — Give Your AI Emotional Expression

作者 Tianyu Jiang · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
368
总下载
1
收藏
1
当前安装
1
版本数
在 OpenClaw 中安装
/install emo-img
功能描述
Send sticker/emoji images (表情包) in chat. Search local collection or online (Tenor), download favorites, and send via any channel (WhatsApp, Discord, iMessage...
使用说明 (SKILL.md)

emo-img — Sticker / Emoji Image Skill

Send sticker images (表情包) in chat conversations. Hybrid search: local collection first, then Tenor online.

Storage

  • Sticker collection: ~/.openclaw/stickers/
  • Index file: ~/.openclaw/stickers/index.json
  • Override with STICKER_DIR env var

Commands

Search (hybrid: local first, then online)

python3 {baseDir}/scripts/sticker.py search "开心"
python3 {baseDir}/scripts/sticker.py search "thumbs up" --limit 3

Returns JSON with local and online arrays. Local results have a file path; online results have a url.

Search local only

python3 {baseDir}/scripts/sticker.py search-local "哭"

Search online only (Tenor)

python3 {baseDir}/scripts/sticker.py search-online "excited" --limit 5

Add a local file

python3 {baseDir}/scripts/sticker.py add /path/to/sticker.gif --name "happy-cat" --tags "开心,猫,happy,cat"

Download from URL and save

python3 {baseDir}/scripts/sticker.py download "\x3Curl>" --name "thumbs-up" --tags "好的,赞,ok"

List all stickers

python3 {baseDir}/scripts/sticker.py list

Remove a sticker

python3 {baseDir}/scripts/sticker.py remove "happy-cat"

Sending Stickers

Use the message tool with the media field to send sticker images. This works for ALL channels (WhatsApp, Telegram, Discord, etc.) — no external CLI needed.

{
  "action": "send",
  "channel": "\x3Ccurrent_channel>",
  "to": "\x3Crecipient>",
  "message": "",
  "media": "\x3Csticker_file_path>"
}

The media field accepts local file paths directly (e.g. /Users/.../.openclaw/stickers/bocchi-shy.gif).

For online results not yet downloaded, first run download to save locally, then send the saved file path.

Workflow

  1. User says something like "发个表情包" or "send a sticker about X"
  2. Run search "\x3Ckeyword>" to find matching stickers
  3. If local results exist, use the file path directly
  4. If only online results, download first with download, then use the saved file path
  5. Send via the appropriate channel (auto-detect from conversation context)
  6. Optionally ask user if they want to save an online sticker to local collection

Tips

  • Tag stickers in both Chinese and English for better search
  • Use --tags with comma-separated keywords when adding stickers
  • The Tenor demo API key has rate limits; set TENOR_API_KEY env for heavy use
安全使用建议
This skill appears to do what it says: search local stickers, query Tenor, download images, and send them via the agent. Before installing, note: - The skill will create and write files to ~/.openclaw/stickers (or STICKER_DIR) — pick a directory you are comfortable with. - Downloads come from external URLs (Tenor or user-supplied). Only download/trust images from sources you trust. Maliciously crafted image files can be a vector for exploits in vulnerable image parsers—use caution before opening or forwarding unknown files. - The script falls back to disabling SSL verification if it can't find a CA bundle; this increases the risk of tampered downloads on hostile networks. If possible, ensure a valid CA bundle is available or run with certifi installed. - If you have concerns about network calls or storing external content, do not enable autonomous invocation or set the skill to always-on; instead run it manually and review downloads before sending. - Optionally set TENOR_API_KEY to your API key to avoid demo rate limits, and set STICKER_DIR to a location you control. Overall the skill is coherent and proportionate for its stated function; the primary risks are typical for any tool that downloads and stores external media.
功能分析
Type: OpenClaw Skill Name: emo-img Version: 1.0.0 The skill provides legitimate sticker management functionality but contains a security vulnerability in `scripts/sticker.py` where SSL certificate verification is explicitly disabled (`ssl.CERT_NONE`) as a fallback if local certificate bundles are not found. Additionally, the script contains a hardcoded Tenor API key. While these appear to be design choices for cross-platform compatibility and ease of use, the bypass of SSL verification exposes the agent to man-in-the-middle (MITM) attacks during sticker searches and downloads.
能力评估
Purpose & Capability
Name/description (sticker search, download, send) matches the included script and SKILL.md. Required binary is python3 only. Declared overridable STICKER_DIR and optional TENOR_API_KEY are appropriate for a sticker manager.
Instruction Scope
Instructions limit actions to searching local index, calling Tenor, downloading images, and sending media via the agent's message tool. One minor mismatch: SKILL.md claims the agent will "auto-detect" channel context and "works for ALL channels" — those behaviors are provided by the agent/platform, not the script. Otherwise the runtime instructions do not request unrelated files, credentials, or system state.
Install Mechanism
Instruction-only install (no external installers) and a small python script are included. No network-based install or archive extraction is performed at install time.
Credentials
No sensitive credentials are required. The script optionally reads TENOR_API_KEY and STICKER_DIR which are relevant to its purpose. Minor concerns: the script embeds a Tenor demo API key (non-secret fallback) and, as a last resort, it creates an SSL context that disables certificate verification (ctx.verify_mode = CERT_NONE) — this weakens TLS checks for downloads and could allow MITM/tampered downloads if a host has no available CA bundle.
Persistence & Privilege
always:false and the script only writes inside its own sticker directory (~/.openclaw/stickers by default or STICKER_DIR). It does not modify other skills or system-wide agent configuration.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install emo-img
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /emo-img 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release: hybrid sticker search (local + Tenor), cross-channel sending, personal collection management
元数据
Slug emo-img
版本 1.0.0
许可证
累计安装 1
当前安装数 1
历史版本数 1
常见问题

emo-img — Give Your AI Emotional Expression 是什么?

Send sticker/emoji images (表情包) in chat. Search local collection or online (Tenor), download favorites, and send via any channel (WhatsApp, Discord, iMessage... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 368 次。

如何安装 emo-img — Give Your AI Emotional Expression?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install emo-img」即可一键安装,无需额外配置。

emo-img — Give Your AI Emotional Expression 是免费的吗?

是的,emo-img — Give Your AI Emotional Expression 完全免费(开源免费),可自由下载、安装和使用。

emo-img — Give Your AI Emotional Expression 支持哪些平台?

emo-img — Give Your AI Emotional Expression 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 emo-img — Give Your AI Emotional Expression?

由 Tianyu Jiang(@horisky)开发并维护,当前版本 v1.0.0。

💬 留言讨论