Back to Hello Agents

MindEchoAgent · 心境回响

Co-creation-projects/pamdla-MindEchoAgent/README.md

1.0.25.4 KB
Original Source

MindEchoAgent · 心境回响

🧠🎵 MindEchoAgent - 情绪驱动的音乐推荐智能体,用AI感知心情,用音乐温暖心灵。

目前它是一个基于 hello-agents 框架构建的情绪音乐推荐智能体。

✨ 特点

  • 🎧 情绪驱动,而非标签驱动:基于深度情绪识别而非简单标签匹配
  • 🧠 Agent + Tool 架构:基于Hello-Agents框架,模块化设计,易于扩展
  • 🧪 完全模拟,稳定可控:可内置高质量模拟数据,无需API密钥即可体验全部功能
  • 🎛 Gradio 快速演示:开箱即用的Web界面,支持实时交互演示
  • 🔄 记忆系统(待完善):具备短期心境记忆,可记录和分析情绪变化模式
  • 📱 多端适配(待扩展):Web界面适配移动端,后续支持智能家居设备

🔧 技术栈

  • 核心框架: hello-agents >= 0.2.7
  • Web界面: gradio >= 4.0
  • 语言环境: Python 3.10+
  • 数据处理: json, datetime, typing
  • 环境管理: python-dotenv

启动方式

bash
# 1. 克隆项目
git clone https://github.com/pamdla/MindEchoAgent.git
cd MindEchoAgent

# 2. 安装依赖
pip install -r requirements.txt

# 3. 启动应用
python main.py

📁 项目结构

MindEchoAgent/
├── main.py                      # Gradio主界面
├── requirements.txt             # 依赖列表
├── README.md                    # 项目说明
├── .env.example                 # 环境变量示例
├── assets/                      # 静态资源
│   ├── architecture.png         # 架构图
│   └── demo-screenshot.png      # 演示截图
├── src/                         # 源代码
│   ├── __init__.py
│   ├── agents/                  # 智能体模块
│   │   ├── __init__.py
│   │   ├── sleep_agent.py       # 子智能体
│   │   └── mind_echo_agent.py   # 主智能体
│   ├── tools/                   # 工具模块
│       ├── __init__.py
│       ├── dialogue_state_tool.py # 对话状态工具
│       ├── mood_music_tool.py   # 音乐推荐工具
│       ├── text_comfort_tool.py # 文字安慰工具
│       └── mood_summary_tool.py # 心情总结工具
│   └── utils                    # 其它工具
│       ├── loader.py            # 工具加载
│       └── state.py             # 状态定义
└── data/                        # 数据目录
    └── mood_history.json        # 心情历史记录

⭐ 核心功能

  1. 情绪识别与响应
  • 对话状态识别: 初始状态、情绪识别、情感支持、音乐推荐、情绪反思、问题升级6种状态
  • 多维情绪检测:识别开心、悲伤、放松、专注、压力、兴奋等6种核心情绪
  • 上下文感知:结合场景(工作、运动、学习、睡前等)提供精准推荐
  • 自然语言交互:理解口语化表达,如"今天好累"、"心情美美的"
  1. 智能音乐推荐(待完善)
  • 个性化播放列表:根据心情和场景生成定制化音乐推荐
  • 模拟数据引擎:可内置偏好的曲目,覆盖多种风格和场景
  • 播放时长计算:智能计算播放列表总时长,优化聆听体验
  1. 情感支持系统
  • 双模式安慰引擎:预设回复 + LLM生成,确保稳定性和创造性
  • 共情表达:温暖、支持的语气,搭配适当的emoji表情
  • 实用建议:提供具体、可操作的情绪调节建议
  1. 心境记忆分析
  • 历史记录:自动记录每次交互的心情状态
  • 模式识别:分析情绪变化趋势和时间分布
  • 个性化洞察:提供基于历史数据的个性化建议

🏠 Web界面操作

启动应用后,

  • 在浏览器打开 http://localhost:7860
  • 输入心情描述,如:"今天工作压力好大,想听放松的音乐"
  • 查看智能响应,包含:

情绪识别结果 个性化音乐推荐 情感支持文字 心情分析报告

🚀 后续优化计划

  1. 功能扩展【近期(~1个月)】
js
- 记忆系统(记录和分析情绪变化)
- 音乐预览片段(30秒试听功能)
- 增加音乐文件(不同类型1\~2首歌曲)
  1. 用户体验优化【中期(~2个月)】
js
# 计划新增功能
- 对话历史管理(支持多轮对话上下文)
- 情感强度调节滑块(用户可调整推荐强度)
- 个性化偏好设置(音乐风格、语言偏好)
- 多端适配(支持家居设备,音箱、灯光、窗帘等)

🎬 演示效果

界面截图、演示录屏

🌐 智能家居扩展

小米音箱集成方案

阶段1:基础对接

js
# 技术栈:Python + MiService + WebSocket
# 1. 创建小米音箱技能
- 注册小米开发者账号
- 创建智能家居技能
- 配置语音交互模型

# 2. 实现语音接口
- 语音转文本(ASR)
- 文本转语音(TTS)
- 指令解析与响应

# 3. 设备控制集成
- 播放控制(播放、暂停、切歌)
- 音量调节
- 播放列表管理

🙏 致谢

感谢以下项目和社区的支持:

所有贡献者和用户