Study Time Tracker:在 Agent 里统计本机应用使用时长

前言

自学或备考时,时间往往花在 IDE、文档和浏览器之间切换,事后很难说清楚「这一周到底学了多久」。手工记番茄钟或表格能记账,但和真实前台进程对不上,维护成本也高。下面介绍 SkillHub 上的 Study Time Tracker(坐标 @user_8187aa71/study-time-tracker-pro):以通用 SKILL.md 形式交给 Agent,用自然语言触发,依赖本机进程采样做学习 / 编程 / 休闲等场景归类,并输出可保存的时间报告。

这是什么

Study Time Tracker 是社区来源(community)、分类为 education 的 Agent Skill,当前版本 1.0.0,发布者为 SkillHub 用户 user_8187aa71,页面标注作者为黄诗乐。SkillHub 上该条目标记 requires_api_key=false,无需额外 API Key。

一句话定位:自动监测电脑应用使用情况,统计学习、编程、休闲等类别时长,支持按日 / 周 / 月维度生成分析报告(说明见技能包内 SKILL.md 与 skill.json)。

核心功能

依据技能包文档,已核实的能力包括:

  1. 进程级监测:通过 psutil 枚举运行中的进程名称,按秒采样并累计出现次数(技能包 main.py 中的实现方式)。
  2. 场景归类:内置 APP_CLASSIFY 词表,将进程名匹配到 study、code、entertain、social,未命中则归入 other。
  3. 报告输出:生成包含生成时间、统计周期标签、各场景耗时(单位为秒)的 JSON 结构;若指定有效本地目录,可写入 time_report.json。
  4. 自然语言触发:支持「统计学习时长」「生成时间报告」「查看作息分配」「分析使用时间」等触发语(见 SKILL.md)。

可选参数(SKILL.md / skill.json 一致):

参数名 类型 必填 默认值 说明
cycle_type string 否 week 统计周期:day / week / month
store_dir string 否 无 报告本地保存路径;不填则不写文件

安装与启用

1. 安装 SkillHub CLI(若尚未安装)

按 SkillHub 安装说明 检查或安装:

command -v skillhub && skillhub --version

未安装时可执行完整安装脚本(文档推荐):

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash

2. 安装 Study Time Tracker

安装时必须用 --dir 指向当前 Agent 的 skills 目录,否则默认落在 ./skills/ 且可能不被识别。常用路径如下(摘自官方安装文档):

  • Cursor:~/.cursor/skills/
  • Claude Code:~/.claude/skills/
  • Codex:~/.codex/skills/ 或项目下的 .agents/skills/

示例(Cursor):

skillhub install study-time-tracker-pro --namespace user_8187aa71 --dir ~/.cursor/skills/

SkillHub 页面也支持将下面提示交给 AI,由其按同一安装文档完成安装:

请根据 https://skillhub.cn/install/skillhub.md,安装 `@user_8187aa71/study-time-tracker-pro`。

安装完成后,技能目录名一般为 @user_8187aa71/study-time-tracker-pro。按你所用客户端要求重启或重新加载 Agent 后,再使用触发语。

3. Python 依赖

技能包 requirements.txt 声明:

psutil>=5.9.0

在技能目录或你的运行环境中执行:

pip install -r requirements.txt

典型用法

SKILL.md 给出的可复现流程如下。

  1. 对 Agent 说:统计学习时长,按周生成报告(或改用 day / month 对应周期语义)。
  2. Agent 按技能说明调用监测与统计逻辑,输出分类结果。
  3. 需要落盘时指定保存路径,例如:store_dir: "C:/Users/你的名字/Documents"(路径需为已存在的目录,技能包 main.py 中仅在 os.path.isdir(save_path) 为真时写入文件)。

技能包入口脚本在本地直接运行时的行为(便于自测):

cd ~/.cursor/skills/@user_8187aa71/study-time-tracker-pro
python main.py

默认会执行约 10 分钟采样(time_statistics 默认 monitor_min=10),随后在标准输出打印 JSON 报告。

适用场景与注意

适合谁:需要在对话里快速看一眼「当前机器前台进程大致落在学习 / 写代码 / 娱乐哪一类」的个人用户;分类 education,SkillHub 统计(以页面抓取为准)下载约 823 次,评分 100000,安装计数为 0 仅表示商店侧记录,不代表不可用。

使用上需注意:

  1. 监测范围:实现依赖本机进程名与内置关键词表,未收录的应用会进入 other;部分进程可能因权限出现 AccessDenied 而被跳过(psutil 行为)。
  2. 周期参数:cycle_type 会写入报告字段 stat_cycle;技能包自带的 main.py 采样窗口由 monitor_min 控制,与「日 / 周 / 月」历史回溯不是同一套长期后台采集,使用前请按你的目标确认是否满足。
  3. 隐私与权限:进程枚举发生在本机,报告内容可能暴露使用习惯;store_dir 请指向你信任的路径。
  4. 无 API Key:标签 requires_api_key=false,不依赖外部付费接口,但仍需本机 Python 与 psutil 可用。

结尾

Study Time Tracker 把「看进程、分场景、出报告」封装成 Agent 可读的 Skill,适合用几句自然语言触发,而不是单独维护一套 GUI 计时器。官方 SkillHub 页面:https://www.skillhub.cn/skills/user_8187aa71/study-time-tracker-pro;API 坐标页:https://api.skillhub.cn/user_8187aa71/study-time-tracker-pro。版本与参数以技能包内 SKILL.md、skill.json 为准。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye