电脑使用时间统计的利器:ActivityWatch

img

前言

一直以来在电脑上寻找一个像手机一样的统计时间工具,最终我找到一款不错的Python工具:ActivityWatch。

github地址:https://github.com/ActivityWatch/activitywatch

到github下载有zip的版本和exe版本,exe版本就是安装到Program Files文件夹内,安装的内容和zip内含有的一模一样,只不过exe安装版本多了个zip版本里面启动exe的桌面快捷方式,方便普通用户快捷启动。

占用

这个软件由四部分组成:

aw-server或者aw-server-rust,aw-watcher-afk,aw-watcher-window,aw-qt。

分别对应当你查看记录时候在localhost地址生成数据网页的aw-server或者aw-server-rust,

查看你是否afk(没有键盘输入)的aw-watcher-afk,

追踪你现在正在使用的高亮窗口的aw-watcher-window

和主程序exe的aw-qt

全部由python开发,全部四个组件加起来的占用如图。

image-20230116140832954

image-20230116140929239

总共加起来最多也就100多M


具体使用体验

当你打开aw-qt.exe时,它会常驻在你的任务栏右下角,右键打开或者双击都可以打开统计数据。现在我们打开的是Activity页面,也就是活动页面。

image-20230116142007241

Top Applications是应用时间排名

Top Window Titles是高亮窗口的时间排名(但是chrome的高亮窗口切换后,比如我换个网页浏览,他计时依旧记在原来的高亮窗口里面。可能需要去设置调整一下)

Timeline (barchart)是时间轴条形图

Top Categories是类别的时间排名,但是我应用没设置类别因而写的是Uncategorized(非分类),可以到设置里设置。Category Tree是类别树,Category Sunburst是类别饼状图,这些类别的可视化数据都需要先设置好应用才能发挥真正的作用。

image-20230116143507191

顶部可以看每日的信息和筛选分类后的信息。


接下来是Timeline时间线的可视化,这里可以看到你每时每刻的时间都在干什么,有没有按下键盘。

image-20230116143609163

可以进行左右拖拽,放大缩小等操作

image-20230116143653830


Raw Data主要是一些记录的原始数据,在这里你可以进行查看,导出导入等操作

image-20230116143817385


设置页面主要就是一些程序的选项,比如记录多久的时间线,从什么时候开始记录,设置应用类别等image-20230116144019868


解决这个应用的bug

下面说说我对这个应用的遇到一些问题的解决。

第一个就是用着用着打开主页后按别的按钮反应很慢或者根本没反应,导致我看不了时间线。程序提示 timeouts 30000ms,明显是超时问题。经过一番查找,明白了是服务器问题。前面刚好说过有两个服务器分别是aw-server和aw-server-rust,程序默认使用aw-server,然而服务器不好有的时候就会加载不了数据或者加载的特别慢。我们要右键任务栏程序图标

image-20230116144545893

先将aw-server的勾去掉再点开一次图标选aw-server-rust,因为服务器网页功能只需一个组件,不能同时两个运行,且两个同用一个端口。

但是你可能下次发现重启的时候系统默认就还是启用原来的,怎么办呢?经过我在官方文档里面的寻找,总算找到了答案。首先你的config设置文件不在程序的安装目录,而在这里。

image-20230116144855977

官方文档链接:https://docs.activitywatch.net/en/latest/directories.html

另一个官方文档显示,有一个配置文件叫aw-qt.toml,可以设置默认启动的服务器是哪个,具体目录是

C:\Users\你的用户名\AppData\Local\activitywatch

image-20230116144945276

用记事本打开文件,按照上图的改好保存,记得去掉代码前面的#否则无效。

image-20230116145148388

然后你的程序就默认以aw-server-rust模式启动了。不过两者的数据不互通但是可以导入,我觉得太麻烦了就没有导,因为感觉以前的数据不是很重要就算了23333333。