360 Secure SkillHub
360 安全技能中心

用天气可视化你的心情!基于 AI 情绪分析,将文字转化为天气图标 + 治愈文案。

核心功能为分析文本情绪,返回对应天气图标与治愈文案,还可查看使用帮助,待实现情绪统计、历史记录、报告导出等功能。支持中英文密语、关键词触发,单独输入“mood”或“心情”可显示帮助。典型场景:用户输入描述心情的文本或触发密语,输出匹配内容以帮助觉察情绪。

wanwan2qq
wanwan2qq
热度 42.75
最近更新 2026-05-11 17:35:27
分类:数据依赖:第三方 API应用场景:数据处理 / 报告撰写 / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add mood-cli-release
Metadata
name
mood-cli
description
情绪分析 CLI 技能。当用户说"mood"、"心情"、"情绪"、"分析情绪"等关键词时触发,调用 mood CLI 工具分析文本情绪,返回天气图标 + 治愈文案。
metadata
{"openclaw":{"emoji":"🌤️","requires":{"bins":["mood"],"env":["DEEPSEEK_API_KEY"]}}}

Mood CLI Skill

技能说明

调用 mood CLI 工具分析文本情绪,返回天气图标 + 治愈文案


触发条件

方式 1:密语触发(大小写不敏感)⭐

基本密语:

  • mood / Mood / MOOD - 分析情绪
  • 心情 / 心情分析 - 分析情绪
  • 情绪 / 情绪分析 - 分析情绪
  • 今天心情 - 分析今天的情绪

扩展密语:

  • 心情怎么样 - 分析情绪
  • 心情好吗 - 分析情绪
  • 帮我看看情绪 - 分析情绪
  • 看看我的心情 - 分析情绪
  • 记录心情 - 记录情绪
  • 今天天气 - 情绪天气

英文密语:

  • analyze mood - 分析情绪
  • my mood - 我的情绪
  • how am I feeling - 我的心情

方式 2:单独输入 mood(显示帮助)

当用户只输入 mood 或 心情 时,显示使用帮助

方式 3:关键词触发

当消息包含以下关键词时也激活:

  • "分析情绪"
  • "心情怎么样"
  • "情绪分析"
  • "今天心情"
  • "心情好/不好"
  • "帮我看看这句话的情绪"

功能列表

1. 情绪分析(基础功能)

命令:mood "文本" 密语:mood 今天心情好 输出:天气图标 + 治愈文案 + 情绪类型

2. 查看帮助

命令:mood --help 密语:mood 帮助 / mood help 输出:使用说明

3. 查看统计(待实现)

命令:mood --stats 密语:心情统计 / 我的情绪统计 输出:情绪分布统计

4. 查看历史(待实现)

命令:mood --history 密语:心情历史 / 我的情绪记录 输出:历史记录列表

5. 导出报告(待实现)

命令:mood --report weekly 密语:心情周报 / 情绪报告 输出:周期性情绪报告


使用示例

基础情绪分析

mood 今天心情超好的!
→ ☀️ 今天阳光灿烂,心情美美哒~

大小写不敏感

Mood 今天完成了 CLI 工具
MOOD 好开心
mOoD 真有趣
→ 都能正常识别

查看帮助

mood
→ 显示使用帮助

中文密语

心情 今天工作很顺利
→ ☀️ 今天阳光灿烂,心情美美哒~

情绪 代码写完了
→ ☀️ 今天阳光灿烂,心情美美哒~

英文密语

analyze mood I finished the project
→ ☀️ 今天阳光灿烂,心情美美哒~

my mood today is great
→ ☀️ 今天阳光灿烂,心情美美哒~

情绪 - 天气映射

情绪 天气图标 治愈文案
happy ☀️ 今天阳光灿烂,心情美美哒~
calm ⛅ 微风不燥,内心平静
confused 🌫️ 有点看不清方向,需要一点光
sad 🌧️ 心里在下雨,想找个抱抱
angry ⛈️ 情绪有点爆炸,需要冷静一下
hopeful 🌈 雨过天晴,看见彩虹啦

帮助文本

当用户只输入 mood 时显示:

🌤️ Mood CLI Skill - 情绪分析助手

【基本用法】
mood 今天心情好          分析情绪
Mood 好难过              大小写都可以
心情 工作完成了          中文密语
analyze mood great       英文密语

【高级功能】
mood 帮助                显示这个帮助
心情统计                 查看情绪统计(开发中)
心情历史                 查看历史记录(开发中)
心情周报                 生成周报(开发中)

【示例】
mood 今天完成了第一个 agent 闭环工具
→ ☀️ 今天阳光灿烂,心情美美哒~

【提示】
- 密语大小写不敏感
- 支持中英文混合
- 自动识别情绪关键词

待开发功能

1. 情绪统计 (--stats)

  • 记录每次分析结果
  • 统计情绪分布
  • 生成图表(可选)

2. 历史记录 (--history)

  • 保存分析历史
  • 支持查询特定日期
  • 支持导出

3. 情绪报告 (--report)

  • 日报/周报/月报
  • 情绪趋势分析
  • 建议和改进

4. 批量分析 (--batch)

  • 分析多段文字
  • 文件导入分析
  • 批量导出结果

配置说明

API 配置

  • 文件:~/.mood-weather-cli.env
  • 内容:DEEPSEEK_API_KEY=你的密钥

用户识别(自动)

优先级:

  1. 环境变量 MOOD_USER_ID (手动指定)
  2. 聊天渠道用户 ID (自动识别)
    • 钉钉:DINGTALK_USER_ID
    • 微信:WECHAT_USER_ID
    • Telegram:TELEGRAM_USER_ID
    • Discord:DISCORD_USER_ID
    • Slack:SLACK_USER_ID
  3. 系统用户名 (降级逻辑)

示例:

  • 钉钉用户:dingtalk:0124046821484330
  • 微信用户:wechat:wx123456
  • 手动指定:wanwan

重试机制

  • 自动重试 3 次
  • 指数退避(1s → 2s → 4s)
  • 失败后降级返回

输出格式

  • 天气图标 + 治愈文案
  • 情绪类型(英文)
  • 置信度(百分比)

🏥 运行时健康检查

加载时门控(由 OpenClaw 自动执行)

OpenClaw 加载技能时会自动检查:

  • ✅ mood CLI 命令是否在 PATH 中
  • ✅ DEEPSEEK_API_KEY 是否有值

如果门控检查失败:技能会被禁用,用户看到"技能不可用"提示。

运行时健康检查(技能内部逻辑)

每次调用前/调用时检查:

检查项 检查方式 失败处理
CLI 命令可执行 which mood + 试运行 返回"CLI 工具未安装"
API 密钥有效 调用 DeepSeek API 测试 返回"API 密钥无效或过期"
网络连接 API 请求超时检测 返回"网络异常,请检查连接"
服务可用性 HTTP 状态码检查 返回"DeepSeek 服务暂时不可用"

健康检查命令(可选)

用户可以主动运行健康检查:

mood --healthcheck

输出示例:

🌤️ Mood CLI 健康检查

✅ CLI 工具:/opt/homebrew/bin/mood
✅ API 密钥:已配置 (sk-xxxx...xxxx)
✅ 网络连接:正常
✅ DeepSeek 服务:在线

所有检查通过,可以正常使用!

⚠️ 错误处理与用户提示

错误类型与处理

错误场景 用户提示 修复指引
未配置 API 密钥 ❌ 未配置 DeepSeek API 密钥 export DEEPSEEK_API_KEY=sk-xxx 或编辑 ~/.mood-weather-cli.env
API 密钥无效 ❌ API 密钥无效或已过期 检查密钥是否正确,或前往 DeepSeek 控制台重新生成
CLI 工具未找到 ❌ 未找到 mood 命令 运行安装脚本或检查 PATH 配置
网络超时 ❌ 网络超时,请检查连接 检查网络或稍后重试
服务不可用 ❌ DeepSeek 服务暂时不可用 稍后重试或查看服务状态页
文本为空 ❌ 请输入要分析的文字 mood 今天心情好
配额用尽 ❌ API 配额已用尽 等待配额重置或升级账户

降级策略

当 DeepSeek API 不可用时,可以降级到:

  1. 本地规则匹配(关键词 → 情绪)
  2. 返回默认情绪(calm)
  3. 明确告知用户"使用降级模式,结果可能不够准确"

📝 最佳实践

  1. 技能开发时:始终定义 metadata.openclaw.requires 门控
  2. 调用技能前:检查技能状态(openclaw skills list 查看是否 ready)
  3. 失败时:给出清晰的修复指引,不要只说"失败了"
  4. 敏感配置:使用环境变量或配置文件,不要硬编码
  5. 日志记录:记录每次调用的结果,方便排查问题