Skip to content

Cai643/flow-state

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

126 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌊 (Flow State)

智能化的深度专注力辅助工具

Flow State 是一个旨在帮助用户量化心流状态、识别注意力模式并提供实时反馈的桌面应用。它不仅仅是一个时间追踪器,更是一个能够“理解”你正在做什么的智能助手。通过 AI 模型,它将无形的“专注力”转化为可视化的数据指标,引导你进入并维持高效的心流状态。

✨ 核心亮点

  • 🧠 AI 驱动的语义理解 区别于传统的黑白名单机制,Flow State 利用本地大模型(Ollama)深度理解你的屏幕活动。它能区分你在 GitHub 上是在“查阅文档”还是在 Bilibili 上“观看教程”,而非简单地屏蔽整个浏览器。

  • 🎯 全景行为捕捉与量化

    • 实时监控:精准记录当前活跃窗口与进程。
    • 多维指标:独创“意志力胜利”、“效能指数”、“碎片率”等高阶指标,全方位评估工作质量。
  • 🧘 沉浸式无感交互

    • 桌面悬浮球:便捷式桌面交互功能,极简且不打扰。
    • 专注卡片:鼠标悬停即可查看详细的任务摘要与持续时长。
    • 智能干预:在检测到长时间娱乐或过度疲劳时,提供柔性的提醒。
  • 🔒 隐私优先,完全本地化 所有数据存储在本地 SQLite 数据库中,AI 分析可选择通过本地 Ollama 服务完成。你的屏幕活动隐私完全掌握在自己手中,无需上传云端。

  • 📊 深度复盘报告 自动生成每日专注度报告,提供可视化的时间轴回顾和 AI 生成的每日洞察,帮助你复盘当日工作状态。

🚀 使用指南

1. 环境准备

  • Python 3.8+
  • Ollama: 请确保已安装 Ollama 并下载了相应的模型(例如 qwen2.5llama3)(建议没注册ollama的可以去注册一下,才可以用项目默认的云端模型)。

2. 安装依赖

克隆项目到本地后,在项目根目录下运行:

pip install -r requirements.txt

3. 启动与配置

  1. 运行程序: 在项目根目录下执行启动脚本:

    python run.py
  2. 服务自检: 程序会自动检查本地 Ollama 服务状态。如果服务未运行,程序将尝试自动在后台启动它(Windows 下无弹窗干扰)。

  3. 选择 AI 模型:

    • 启动时会弹出模型选择窗口
    • 系统会自动列出你本地 Ollama 已安装的所有模型,以及默认配置的云端模型。
    • 选择你希望使用的模型(建议使用参数量适中且响应速度快的模型),点击“启动项目”即可。

4. 功能交互

  • 1. 桌面悬浮球与状态卡片 (核心交互)

    • 启动成功后,桌面会出现一个清新绿色的水滴状悬浮球(常驻入口)。
    • 鼠标悬停:即可呼出详细状态卡片,查看当前任务摘要、持续时长及今日核心指标(快速概览)。
  • 2. 每日复盘报告 (深度回顾)

    • 点击卡片上的“历史”图标,打开桌面端的每日复盘界面。
    • 核心功能: 可视化的时间轴回顾、AI 生成的“致追梦者”成长寄语。
    • Web 扩展: 点击界面底部的“历史回溯”按钮,可跳转至Web 看板 (localhost:8080),查看更长周期的历史趋势和复杂图表。

🛠️ 技术架构

本项目采用模块化和面向服务的架构设计:

  • UI 层 (PySide6): 负责悬浮球、卡片、报表等界面展示。
  • 业务层 (Services):
    • monitor_service.py: 后台监控进程,采集窗口数据。
    • detector_logic.py: 调用 AI 进行行为分析。
  • 数据层 (SQLite): 统一的数据持久化管理。
  • AI 引擎: 通过本地 Ollama API 进行自然语言处理。

详细目录结构请参阅 PROJECT_STRUCTURE.md

📝 许可证

MIT License


让专注成为一种习惯,让心流成为一种常态。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors