Skip to content

SynopAI/yaml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YourAiMemoryLog (YAML)

一个智能的用户行为记录和分析系统,专为 macOS 设计。

项目简介

YourAiMemoryLog(简称 YAML)是一个全面的用户活动监控和记录系统,能够实时捕获用户在 macOS 上的各种操作行为,并通过 AI 技术进行智能分析和总结。

核心功能

📝 输入监控

  • 实时记录用户键盘输入内容
  • 捕获文本输入的时间戳和应用上下文
  • 支持多语言输入识别

🌐 网页活动追踪

  • 监控用户访问的网页 URL
  • 记录网页停留时间
  • 追踪浏览器标签页切换行为

📱 应用使用监控

  • 实时监控应用启动和关闭
  • 记录应用使用时长
  • 追踪应用间切换频率

🖱️ 交互行为记录

  • 捕获鼠标点击事件
  • 记录用户界面交互
  • 监控窗口焦点变化

📸 智能截图分析

  • 定时自动截取屏幕截图
  • AI 驱动的截图内容分析
  • 智能总结用户活动状态

🤖 AI 智能总结

  • 基于 Gemini AI 的数据分析
  • 活动模式智能识别
  • 个性化使用建议
  • 工作效率评估报告
  • 隐私保护的数据处理

技术架构

后端技术栈

  • 语言: Go
  • 框架: Gin (Web API)
  • 数据库: SQLite
  • AI 集成: Gemini 2.5 Flash (Google)
  • API 服务: AiHubMix 代理服务

前端技术栈

  • 原生应用: Swift + SwiftUI (macOS)
  • Web界面: HTML5 + CSS3 + JavaScript
  • 服务器: Python HTTP Server
  • UI设计: 响应式布局 + 现代化界面
  • 权限: Accessibility API (原生应用)

核心实现方案

1. 键盘输入监控

使用 macOS Accessibility API 和 CGEvent 监听全局键盘事件
实现实时输入捕获和文本重构

2. 应用和网页监控

通过 NSWorkspace 监听应用生命周期
使用 AppleScript 获取浏览器活动信息
实现跨应用的活动追踪

3. 智能截图系统

定时截图机制(可配置间隔)
AI 图像分析和内容识别
增量式活动总结更新

4. 本地文档维护

维护轻量级的活动摘要文档
实现增量更新机制,避免上下文溢出
智能压缩历史记录,保持文档精简

数据流架构

用户操作 → 系统监听器 → 数据预处理 → 本地存储
     ↓
定时截图 → AI 分析 → 活动总结 → 文档更新
     ↓
历史数据 → 智能压缩 → 长期存储

隐私和安全

  • 🔒 所有数据本地存储,不上传云端
  • 🛡️ 用户完全控制数据访问权限
  • 🔐 敏感信息自动过滤和加密
  • ⚙️ 可配置的监控级别和排除规则

系统要求

  • macOS 12.0 或更高版本
  • 至少 4GB RAM
  • 2GB 可用存储空间
  • 网络连接(用于 AI 分析,可选本地模式)

快速开始

🚀 启动后端服务器

cd backend
go run cmd/server/main.go

🌐 启动Web前端界面

# 启动Web服务器
python3 frontend/web/server.py

# 在浏览器中访问
open http://localhost:3000

📊 使用Web界面

  1. 打开浏览器访问 http://localhost:3000
  2. 点击 "🚀 启动监控" 开始数据收集
  3. 点击 "📊 生成活动总结" 或 "⌨️ 生成输入总结"
  4. 查看右侧实时活动记录

🤖 命令行测试AI功能

# 启动监控
curl -X POST http://localhost:8080/api/v1/monitor/start

# 生成活动总结
curl -X POST "http://localhost:8080/api/v1/ai/summary/activity?limit=10"

# 生成键盘输入总结
curl -X POST "http://localhost:8080/api/v1/ai/summary/keyboard?limit=5"

# 查看总结历史
curl "http://localhost:8080/api/v1/ai/summaries"

安装和配置

权限设置

  1. 系统偏好设置 → 安全性与隐私 → 辅助功能
  2. 添加 YourAiMemoryLog 到允许列表
  3. 授予屏幕录制权限

首次运行

  1. 下载并安装应用
  2. 完成权限配置
  3. 设置监控偏好
  4. 开始记录

配置选项

  • 截图间隔时间(默认:30秒)
  • 监控应用白名单/黑名单
  • AI 分析频率
  • 数据保留期限
  • 敏感词过滤规则

开发进度

✅ Phase 1: MVP 基础架构 (已完成)

  • 项目基础目录结构(backend/frontend分离)
  • Go后端基础框架和API结构
  • SQLite数据库和基础数据模型
  • Swift前端基础界面和权限请求
  • 前后端通信和基础数据展示
  • 模拟监控功能(键盘输入、应用切换)

当前状态: MVP版本已完成,服务器可正常运行在 http://localhost:8080

🚧 Phase 2: 真实监控功能 (进行中)

  • 实现真实的键盘输入监控(macOS CGEvent API)
  • 实现真实的应用活动追踪(NSWorkspace监听)
  • 网页浏览监控(浏览器集成)
  • 鼠标点击事件捕获
  • 权限管理优化

✅ Phase 2.5: AI 智能分析 (已完成)

  • 🤖 Gemini AI 集成
  • 活动数据智能总结
  • 键盘输入模式分析
  • AI 总结历史管理
  • 隐私保护的数据分析
  • AiHubMix API 集成和修复

✅ Phase 2.6: Web 前端界面 (已完成)

  • 🌐 响应式 Web 界面
  • 实时数据展示
  • AI 总结功能集成
  • 自动刷新和状态监控
  • 现代化 UI 设计

✅ Phase 2.7: AI 功能优化 (已完成)

  • 🔧 修复 Gemini API 响应解析问题
  • 📊 优化 Token 使用策略
  • ⚡ 提升 AI 总结响应速度
  • 🛠️ 增强错误处理和诊断
  • 📈 调整 MaxOutputTokens 至 6717

📋 Phase 3: 智能分析功能

  • 定时截图功能实现
  • AI 图像分析集成(OpenAI Vision API)
  • 智能活动总结生成
  • 本地文档维护和压缩
  • 上下文管理优化

🎨 Phase 4: 用户界面增强

  • 数据可视化图表
  • 活动时间线展示
  • 统计报告生成
  • 配置管理界面
  • 主题和个性化设置

🔧 Phase 5: 高级功能

  • 数据导出和备份
  • 云同步支持
  • 多设备协同
  • 插件系统
  • 性能优化和内存管理

技术里程碑

已实现功能

  • ✅ RESTful API 服务器(Gin框架)
  • ✅ SQLite 数据库集成
  • ✅ SwiftUI 原生应用界面
  • ✅ 🌐 响应式 Web 前端界面
  • ✅ 跨平台通信架构
  • ✅ 基础权限管理
  • ✅ 模拟数据生成和展示
  • ✅ 🤖 AI 智能总结功能(Gemini集成)
  • ✅ 活动数据智能分析
  • ✅ 键盘输入模式分析
  • ✅ 总结历史记录管理
  • ✅ 实时数据展示和自动刷新
  • ✅ 现代化 UI 设计和交互

核心API端点

基础功能

  • GET /api/v1/health - 健康检查
  • GET /api/v1/activities - 获取活动记录
  • POST /api/v1/keyboard - 键盘输入记录

监控控制

  • POST /api/v1/monitor/start - 启动监控
  • POST /api/v1/monitor/stop - 停止监控
  • GET /api/v1/monitor/status - 监控状态

🤖 AI 智能总结

  • POST /api/v1/ai/summary/activity - 生成活动总结
  • POST /api/v1/ai/summary/keyboard - 生成键盘输入总结
  • GET /api/v1/ai/summaries - 获取历史总结

🌐 访问地址

Web 前端界面

  • 地址: http://localhost:3000
  • 功能: 实时数据展示、AI总结生成、监控控制
  • 特性: 响应式设计、自动刷新、现代化UI

后端 API 服务

🐛 已知问题

🚨 紧急修复 (v0.3.0 优先)

  • 问题 #1: 点击生成活动总结按钮后显示为空

    • 状态:已识别,需进一步调试
    • 影响:用户无法获取活动分析结果
    • 优先级:🔴 最高
  • 问题 #2: 键盘输入监控使用测试数据

    • 现象:AI分析显示精确的23字符输入和10秒间隔
    • 原因:当前使用模拟数据而非真实键盘监控
    • 影响:无法提供真实的使用分析
    • 优先级:🔴 最高

下一个版本目标 (v0.3.0)

  • 🚨 紧急修复: 解决活动总结显示空白问题
  • 🚨 紧急修复: 实现真实键盘输入监控(替换测试数据)
  • 🎯 实现真实的系统监控功能(替换模拟数据)
  • 🎯 完善权限管理流程
  • 🎯 添加数据可视化图表
  • 🎯 优化 AI 总结算法
  • 🎯 增强 Web 界面功能
  • 🎯 添加定时自动总结功能
  • 🎯 支持数据导出和备份

贡献指南

欢迎提交 Issue 和 Pull Request!

许可证

MIT License

🔧 最新技术改进 (v0.2.7)

AI 功能优化

  1. API 响应解析修复

    • 修复了 Gemini API 响应结构不匹配问题
    • 新增 GeminiAPIResponse 结构体处理实际 API 格式
    • 解决了 "no content generated" 错误
  2. Token 使用优化

    • MaxOutputTokens: 1000 → 2048 → 6717
    • 减少输入数据量:20条记录 → 10条记录
    • 简化提示词和数据格式,提升响应效率
  3. 错误处理增强

    • 针对不同 finishReason 提供具体错误信息
    • 添加分步骤响应结构检查
    • 改进调试和诊断能力

性能提升

  • ⚡ AI 总结响应时间优化
  • 🛡️ 更稳定的 API 调用机制
  • 📊 更准确的数据分析结果

联系方式

如有问题或建议,请通过 GitHub Issues 联系我们。


注意: 本项目严格遵守用户隐私保护原则,所有数据处理均在本地进行,用户拥有完全的数据控制权。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published