Thanks to visit codestin.com
Credit goes to github.com

Skip to content

TPJHtpjh/emotion-detector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

心码

一个智能的 VS Code 插件,通过分析您的代码活动(报错信息、运行状态、代码变更)和可选的面部表情检测来判断当前工作情绪,并给出相应建议。心码,您的开发者情绪伙伴。

✨ 功能特性

📊 多维度数据采集

  • 错误监控:实时追踪代码中的错误和警告
  • 运行状态:监控代码运行、调试、终端命令执行
  • 代码变更:追踪代码的增删改查操作
  • 面部表情:可选的摄像头面部表情检测(使用DeepFace

🧠 智能情绪分析

  • 面部表情为首要判断依据(当启用摄像头时)
  • 当未启用摄像头时,优先从运行/编译状态和工作时间判断
  • 其次是代码变更和休息时间分析
  • 支持7种基础表情:开心、平静、悲伤、愤怒、恐惧、惊讶、厌恶
  • 映射为工作状态:平静、专注、挫败、焦虑、疲惫、开心、困惑、压力大

💡 智能建议系统

  • 根据情绪状态提供个性化建议
  • 休息提醒功能
  • 工作效率优化建议

🎨 直观的用户界面

  • 状态栏实时情绪指示器
  • 侧边栏详细分析面板
  • 摄像头实时画面显示(启用时)
  • 弹窗通知提醒

📦 安装

从 VSIX 文件安装

  1. 下载 .vsix 文件
  2. 打开 VS Code
  3. Ctrl+Shift+P 打开命令面板
  4. 输入 Extensions: Install from VSIX
  5. 选择下载的文件

本地DeepFace服务安装

前置要求:

  • 推荐Python 3.9+
  • pip

安装步骤:

# 安装依赖
pip install tensorflow deepface

依赖说明:

  • DeepFace - 面部表情识别库
  • TensorFlow/Keras - 深度学习后端

🚀 使用方法

启动插件

插件会在 VS Code 启动时自动激活,状态栏会显示当前情绪状态。

启用摄像头检测

  1. 打开设置 (Ctrl+,)
  2. 搜索 emotionDetector
  3. 勾选 Enable Camera 选项
  4. 或使用命令 心码: 开启/关闭摄像头情绪检测

查看详细分析

  • 点击状态栏的情绪指示器
  • 或使用命令 心码: 显示情绪检测面板
  • 或点击侧边栏的表情图标

导出报告

使用命令 心码: 导出数据或报告 可以生成 Markdown 格式的详细报告。

⚙️ 配置选项

配置项 说明 默认值
emotionDetector.enableCamera 启用摄像头面部表情检测 false
emotionDetector.pythonPath DeepFace服务: Python解释器路径 python3
emotionDetector.analysisInterval 情绪分析间隔时间(秒) 30
emotionDetector.notificationThreshold 情绪异常通知阈值 medium
emotionDetector.enableSuggestions 启用情绪建议提醒 true
emotionDetector.trackingEnabled 启用代码活动追踪 true
emotionDetector.breakReminder 启用休息提醒 true
emotionDetector.breakInterval 休息提醒间隔(分钟) 90

📋 命令列表

命令 说明
emotionDetector.showPanel 显示情绪分析面板
emotionDetector.toggleCamera 开启/关闭摄像头情绪检测
emotionDetector.showSetupGuide 显示摄像头检测安装指引
emotionDetector.resetStats 重置情绪统计数据
emotionDetector.exportData 导出数据或报告

🔧 技术架构

emotion-detector/
├── src/
│   ├── extension.ts              # 插件入口
│   ├── monitors/                 # 数据采集模块
│   │   ├── errorMonitor.ts       # 报错监控
│   │   ├── runStatusMonitor.ts   # 运行状态监控
│   │   └── codeChangeTracker.ts  # 代码变更追踪
│   ├── analyzers/                # 分析模块
│   │   ├── emotionAnalyzer.ts    # 情绪分析引擎
│   │   ├── suggestionEngine.ts   # 建议生成器
│   │   └── dataRecorder.ts       # 数据记录(带用户确认)
│   ├── ui/                       # UI组件
│   │   ├── statusBar.ts          # 状态栏指示器
│   │   ├── emotionPanel.ts       # 侧边栏面板
│   │   └── emotionConfirmDialog.ts # 情绪确认弹窗
│   ├── camera/                   # 摄像头检测
│   │   ├── faceDetector.ts       # 面部检测控制器
│   │   └── localYoloDetector.ts  # DeepFace本地服务客户端
│   └── models/                   # 数据模型
│       └── types.ts              # 类型定义
└── python/                       # Python服务
    ├── detect.py                 # DeepFace情绪检测
    └── requirements.txt          # Python依赖

🎯 情绪检测逻辑

判断优先级(当启用摄像头时)

  1. 面部表情(最高优先级):使用DeepFace检测7种表情
  2. 运行/编译状态:错误、警告、运行成功/失败
  3. 代码变更:增删改查频率
  4. 时间因素:工作时长、休息时间

当未启用摄像头时

  1. 运行/编译状态(最高优先级)
  2. 代码变更
  3. 时间因素

情绪映射

DeepFace表情 工作状态
happy 开心
neutral 平静/专注
sad 疲惫/挫败
angry 压力大
fear 焦虑
surprise 困惑
disgust 挫败

🔒 隐私说明

  • 所有数据仅在本地处理,不会上传到任何服务器
  • 摄像头功能默认关闭,需要用户手动开启
  • 摄像头数据仅在本地进行分析,不会存储或传输
  • 数据记录功能需要用户确认情绪准确性
  • 用户可以随时重置所有统计数据

🤝 贡献

欢迎提交 Issue 和 Pull Request!

📄 许可证

MIT License

🙏 致谢

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors