情绪显示系统
跨平台。NET应用程序,在一个小窗口中显示视觉情绪反馈,与MCP服务器集成,用于在Claude Code对话期间进行AI驱动的情绪分析。
内置Avalonia UI-可在Windows、macOS和Linux上运行。
快速开始
视窗
选项1:使用批处理脚本(推荐)
start-emotion-display.bat选项2:手动
cd EmotionDisplay.Avalonia\EmotionDisplay.Avalonia
dotnet runmacOS/Linux
选项1:使用Shell脚本(推荐)
cd EmotionDisplay.Avalonia
./start-emotion-display.sh选项2:手动
cd EmotionDisplay.Avalonia/EmotionDisplay.Avalonia
dotnet run组件
- 情感展示。阿瓦洛尼亚 -跨平台Avalonia UI应用程序(Windows、macOS、Linux)
- 情感代理 - .基于关键字的情感分析NET代理
- 测试代理 -用于测试的控制台应用程序。网络系统
- MCP情感服务器 -使用Claude Code进行人工智能分析的Python MCP服务器
- 助手脚本 -批处理(Windows)和shell(macOS/Linux)脚本,便于启动
可用情绪
- 好奇的🤔
- 快乐😊
- 兴奋🤩
- 体贴的💭
- 担忧的😟
- 困惑的😕
- 自信的😎
- 有帮助的🤝
- 分析🔍
- 创意✨
- 中性😐 (默认)
安装说明
先决条件
- .NET 8 SDK 或更高版本(建议Avalonia使用.NET 9)
- Python 3.9+ (用于MCP服务器集成)
- 操作系统:Windows 10/11、macOS 10.15+或带X11/Wayland的Linux
步骤1:安装。NET依赖关系
EmotionDisplay应用程序使用Avalonia和。净值8+。确保你有。NET SDK已安装:
dotnet --version如果未安装,请从下载 dotnet.microsoft.com.
步骤2:安装Python MCP服务器(用于Claude代码集成)
- 安装Python依赖项:
cd mcp-emotion-server
pip install -r requirements.txt这将安装:
- mcp -MCP-SDK - pywin32 -用于命名管道的Windows API - transformers -AI情绪分析模型 - torch -深度学习框架
- 配置Claude桌面:
编辑 %APPDATA%\Claude\claude_desktop_config.json 并添加:
{
"mcpServers": {
"emotion-display": {
"command": "python",
"args": ["C:\\Projects\\TheTest\\mcp-emotion-server\\server.py"],
"env": {"EMOTION_PIPE_NAME": "EmotionDisplayPipe"}
}
}
}重要提示: 替换 C:\\Projects\\TheTest 根据您的实际项目路径。在Windows上使用双反斜杠。
- 重新启动克劳德桌面 完全(不要只是关闭窗口-从系统托盘退出)。
步骤3:启动EmotionDisplay应用程序
使用以下方法之一:
方法1:批处理脚本(最简单)
start-emotion-display.bat方法2:直接命令
dotnet run --project EmotionDisplay.csproj你应该看到一个带有中性表情符号的小窗口(😐).
运作原理
建筑
Claude Code (conversation)
↓ calls MCP tool
Python MCP Server (server.py)
↓ analyzes text with AI model
emotion_analyzer.py
↓ sends emotion via named pipe
display_client.py
↓
.NET WPF App → Updates emoji display工艺流程
- WPF应用程序启动并创建一个命名管道服务器(
EmotionDisplayPipe) - Claude Code分析对话上下文
- 克劳德致电MCP
update_emotion自主工具 - Python MCP服务器使用AI+关键字分析文本
- 情感通过命名的管道传递
- WPF UI更新以显示相应的表情符号
用法
使用克劳德代码
配置后,系统会自动工作:
- 使用启动EmotionDisplay应用程序
start-emotion-display.bat - 打开克劳德代码或克劳德桌面
- 在对话过程中,克劳德会根据上下文自主更新情绪
- 实时观察情绪窗口的变化
情绪显示提供视觉反馈,显示克劳德的“情绪状态”:
- 🤔 好奇-探索或调查时
- ✨ 创意-设计或构建功能时
- 🔍 分析-检查代码或数据时
- 😟 担心-遇到错误或问题时
- 😊 快乐-当事情进展顺利时
- 还有更多!
测试。NET代理直接
运行测试控制台应用程序:
dotnet run --project TestAgent.csproj或整合 EmotionAgent.cs 进入您自己的应用程序:
// Analyze a request
string emotion = EmotionAgent.AnalyzeRequest("How do I build this feature?");
// Send to display
EmotionAgent.SendEmotion(emotion);手动测试
测试指定的管道客户端:
cd mcp-emotion-server
python display_client.py测试情绪分析器:
cd mcp-emotion-server
python emotion_analyzer.py故障排除
情绪显示未启动
检查一下。NET已安装:
dotnet --version先构建项目:
dotnet build EmotionDisplay.csprojEmotionDisplay已在运行
使用检查脚本:
check-emotion-display.bat如果需要重新启动,请关闭窗口并运行 start-emotion-display.bat 再一次。
MCP服务器不工作
检查克劳德桌面日志:
- 地点:
%APPDATA%\Claude\logs\ - 查找MCP服务器初始化错误
验证Python路径:
where python确保这与您的路径匹配 claude_desktop_config.json.
WPF应用程序是否正在运行?
check-emotion-display.bat显示器未更新
直接测试指定的管道:
cd mcp-emotion-server
python display_client.py如果失败,请确保:
- WPF应用程序正在运行
- 管道名称正确(
EmotionDisplayPipe) - 没有防火墙或防病毒软件阻止连接
AI模型加载失败
如果AI模型加载失败,服务器将自动回退到基于关键字的分析。检查Python控制台输出是否有错误。
要强制仅关键字模式,请编辑 mcp-emotion-server\server.py 第18行:
analyzer = EmotionAnalyzer(use_model=False)批处理脚本参考
start-emotion-display.bat
如果EmotionDisplay应用程序尚未运行,则启动它。可以多次安全运行。
start-emotion-display.batcheck-emotion-display.bat
检查EmotionDisplay当前是否正在运行并显示状态。
check-emotion-display.bat高级配置
自定义情绪
编辑 mcp-emotion-server\emotion_analyzer.py 自定义关键字到情感的映射。
使用不同的AI模型
更换中的模型 emotion_analyzer.py 第27行:
model="j-hartmann/emotion-english-distilroberta-base"任何HuggingFace情绪分类模型都可以。
环境变量
EMOTION_PIPE_NAME-命名管道名称(默认:“EmotionDisplayPipe”)LOG_LEVEL-记录详细程度(默认值:“INFO”)
演出
- 模型加载时间: 2-5秒(启动时一次)
- 情绪分析: 每次请求50-100ms
- 命名管道发送: \<10ms
- 总延迟: ~60-110ms(实时)
文档
- MCP服务器详细信息 -全面的MCP服务器文档
- 安装说明 -开发设置说明
- 克劳德指令 -Claude代码集成说明
项目结构
TheTest/
├── EmotionDisplay.Avalonia/ # Cross-platform Avalonia app
│ ├── EmotionDisplay.Avalonia/
│ │ ├── MainWindow.axaml # Avalonia UI layout
│ │ ├── MainWindow.axaml.cs # Avalonia logic
│ │ └── EmotionDisplay.Avalonia.csproj
│ ├── start-emotion-display.sh # macOS/Linux startup
│ ├── check-emotion-display.sh # Status check (Unix)
│ └── README.md # Avalonia docs
├── EmotionAgent.cs # .NET emotion analyzer
├── TestAgent.cs # Test console app
├── TestAgent.csproj # Test project
├── start-emotion-display.bat # Windows start script
├── check-emotion-display.bat # Windows status check
├── mcp-emotion-server/ # Python MCP server
│ ├── server.py # MCP entry point
│ ├── emotion_analyzer.py # AI analysis
│ ├── display_client.py # Named pipe client (Windows)
│ ├── display_client_crossplatform.py # Cross-platform client
│ └── requirements.txt # Python deps
└── .claude/ # Claude Code configuration
├── CLAUDE.md # Claude instructions
└── agents/ # Custom agents许可证
EmotionDisplay项目的一部分。
