Gaze
简介
Gaze 通过定时截图、视频合成和 AI 分析,自动追踪和记录你的工作活动。支持多显示器、隐私保护、日历同步等功能,帮助你更好地了解时间使用情况。
核心特性
- 自动监控: 每秒截图,定时合成视频(可配置间隔)
- AI 分析: 支持 Google Gemini 和 Ollama 本地模型
- 工作日报: 一键生成结构化日报(Markdown 格式)
- 隐私保护: OCR 关键词检测 + 自动马赛克模糊
- 日历集成: 支持 Google Calendar 和 CalDAV 订阅
- Web 界面: 实时查看统计和时间线
- 云端备份: 可选的 S3 视频存储(生成预签名 URL)
快速开始
1. 前置依赖
# macOS
brew install go ffmpeg
# Ubuntu/Debian
sudo apt-get install golang ffmpeg
# 可选:隐私保护功能(需要 Tesseract OCR)
brew install tesseract leptonica # macOS
必需:
- Go 1.24+
- FFmpeg(视频合成)
可选:
- Tesseract OCR(隐私保护)
- Google Gemini API Key(获取地址)
2. 安装 Gaze
# 方式一:直接安装(推荐)
go install github.com/gaze-org/gaze@latest
# 方式二:从源码编译
git clone https://github.com/gaze-org/gaze.git
cd gaze
go install .
3. 首次配置
# 启动程序,自动生成配置文件
gaze
编辑配置文件 ~/.gaze/config.yaml:
# 基础配置
ai_provider: "gemini" # "gemini" 或 "ollama"
gemini_api_key: "your-api-key" # 必填
video_interval: 60 # 视频合成间隔(秒)
# 可选:代理配置
http_proxy: "http://127.0.0.1:7890"
再次运行 gaze,点击托盘图标开始监控。
核心功能
系统托盘控制
点击托盘图标 👁️ 可快速访问:
- 开始/停止监控: 控制截图和分析
- 生成日报: 生成今日工作总结
- 打开 Web UI: 查看统计和日志
- 手动汇总: 指定时间段生成汇总
Web 管理界面
访问 http://localhost:8888(默认):
- 实时工作统计和时间线
- 历史日志浏览
- CalDAV 日历订阅管理
工作日志
日志自动保存为 Markdown 格式(~/.gaze/logs/):
## 15:04:05 至 15:05:05 - 显示器 0
**分析:**
在 VS Code 中编写 Go 代码,实现视频管理功能。
[视频链接](https://s3.example.com/...)
配置指南
配置文件位置:~/.gaze/config.yaml
基础配置
# AI 配置
ai_provider: "gemini" # "gemini" 或 "ollama"
gemini_api_key: "" # Gemini API Key
ollama_url: "http://localhost:11434"
model_name: "llava" # Ollama 模型名称
# 监控配置
video_interval: 60 # 视频合成间隔(秒)
auto_screenshot: false # 自动开始截图
# Web UI
web_enabled: true
web_port: 8888
隐私保护
privacy_enabled: true # 启用隐私保护
privacy_keywords: # 敏感关键词列表
- "password"
- "密码"
- "token"
- "secret"
privacy_blur_intensity: 20 # 模糊强度(1-100)
工作原理: 截图合成视频前,使用 Tesseract OCR 检测敏感关键词,对匹配区域应用马赛克模糊。
Google Calendar 集成
google_calendar_enabled: true
google_credentials_file: "/path/to/credentials.json"
google_calendar_id: "your-calendar-id@group.calendar.google.com"
# 自动汇总时间点
summary_time_points:
- "09:00"
- "10:00"
- "12:00"
- "15:00"
- "18:00"
获取凭证:
- 访问 Google Cloud Console
- 创建项目并启用 Calendar API
- 创建服务账号,下载 JSON 凭证
- 将日历共享给服务账号邮箱(编辑权限)
CalDAV 日历订阅
caldav_enabled: true
caldav_username: "gaze"
caldav_password: "gaze123"
订阅地址: http://gaze:gaze123@localhost:8888/calendar.ics
支持 Apple Calendar、Outlook、Google Calendar 等标准日历客户端。
S3 云存储
s3_enabled: true
s3_region: "us-east-1"
s3_bucket: "your-bucket"
s3_access_key_id: "your-key"
s3_secret_access_key: "your-secret"
视频分析后自动上传,生成 30 天有效期的预签名 URL。支持 AWS S3、阿里云 OSS、MinIO 等兼容服务。
系统架构
截图管理器 → 视频合成 → 隐私保护 → AI 分析 → 日志记录
↓ ↓ ↓ ↓
多显示器支持 定时合成 S3 上传 日历同步
↓
CalDAV 服务
↓
Web UI
工作流程
- 每秒捕获所有显示器截图
- 按间隔为每个显示器独立合成视频
- OCR 检测并模糊敏感信息(可选)
- AI 分析视频内容
- 写入 Markdown 日志
- 上传到 S3(可选)
- 定时汇总并同步到日历
- 提供 CalDAV 订阅服务
目录结构
~/.gaze/
├── config.yaml # 配置文件
├── screenshots/ # 截图(按日期组织)
├── videos/ # 临时视频(分析后删除)
├── logs/ # 工作日志(Markdown)
├── reports/ # 生成的日报
└── caldav/ # CalDAV 日历数据
故障排查
FFmpeg 未安装
# 检查安装
which ffmpeg ffprobe
# 安装
brew install ffmpeg # macOS
sudo apt-get install ffmpeg # Linux
AI 分析失败
- 确认 API Key 配置正确
- 检查网络连接(可能需要代理)
- 确认视频文件大小 < 50MB(Gemini 限制)
- 查看日志详细错误信息
屏幕录制权限(macOS)
- 系统偏好设置 → 安全性与隐私 → 隐私
- 选择"屏幕录制"
- 添加终端应用并授权
- 重启终端和 Gaze
高级用法
使用 Ollama 本地模型
# 安装 Ollama
curl -fsSL https://ollama.com/install.sh | sh
# 拉取视觉模型
ollama pull llava
# 启动服务
ollama serve
配置文件:
ai_provider: "ollama"
ollama_url: "http://localhost:11434"
model_name: "llava"
自定义 AI 提示词
# 视频分析提示词
video_analysis_prompt: |
请分析这段视频,总结工作内容。
要求:中文回答,200字以内,不使用markdown格式。
# 汇总提示词
summary_prompt: |
请将以下工作片段汇总成连贯的总结。
{content}
要求:简洁明了,150字以内。
# 日报生成提示词
daily_report_prompt: |
根据以下工作记录生成日报。
{content}
要求:Markdown格式,按项目分类,500-800字。
交叉编译
# Windows
GOOS=windows GOARCH=amd64 go build -o gaze.exe .
# Linux
GOOS=linux GOARCH=amd64 go build -o gaze .
# 精简版(减小文件大小)
go build -ldflags="-s -w" -o gaze .
隐私与安全
- ✅ 本地优先: 所有数据默认本地存储
- ✅ 可选云端: S3 上传完全可选
- ✅ 隐私保护: OCR 检测 + 自动模糊
- ✅ 数据清理: 视频分析后自动删除
- ⚠️ 网络通信: AI 分析调用 Gemini API(或使用 Ollama 本地模型)
项目结构
gaze/
├── main.go # 主程序
├── internal/
│ ├── ai/ # AI 分析(Gemini/Ollama)
│ ├── caldav/ # CalDAV 服务
│ ├── config/ # 配置管理
│ ├── logger/ # 日志记录
│ ├── monitor/ # 监控管理
│ ├── ocrmasker/ # OCR 隐私保护
│ ├── report/ # 日报生成
│ ├── scheduler/ # 定时任务
│ ├── screenshot/ # 截图管理
│ ├── storage/ # S3 存储
│ ├── tray/ # 系统托盘
│ ├── video/ # 视频合成
│ └── web/ # Web UI
└── README.md
许可证
本项目采用 MIT License 开源。
致谢
- Google Gemini - AI 分析
- Ollama - 本地 AI 运行时
- FFmpeg - 视频编码
- Tesseract OCR - 文字识别
- systray - 系统托盘
- Gin - Web 框架