最完整的Selfspy使用指南:从安装到个人数据分析全攻略

最完整的Selfspy使用指南:从安装到个人数据分析全攻略

【免费下载链接】selfspy Log everything you do on the computer, for statistics, future reference and all-around fun! 【免费下载链接】selfspy 项目地址: https://gitcode.com/gh_mirrors/se/selfspy

读完你将掌握

  • 3分钟完成跨平台安装(Linux/macOS/Windows)
  • 10个核心命令玩转个人活动追踪
  • 5类统计报表生成效率分析报告
  • 数据加密与隐私保护实战方案
  • 自定义SQL查询挖掘隐藏行为模式

为什么需要Selfspy?

你是否曾经历过:

  • 加班后想不起上午处理过的文档标题?
  • 周报时无法准确统计各项目耗时占比?
  • 想优化工作流却缺乏客观行为数据支持?

Selfspy作为一款开源的个人活动记录工具,通过后台数据采集,帮助你量化电脑使用行为。它不同于普通键盘记录器,而是构建了完整的个人活动数据库,支持从进程、窗口、键盘、鼠标等多维度进行事后分析。

mermaid

安装指南:3步搞定全平台部署

系统兼容性矩阵

操作系统支持版本核心依赖安装难度
Ubuntu18.04+python-xlib★☆☆☆☆
macOS10.9+PyObjC★★☆☆☆
Windows7/10pyHook★★★☆☆
Arch滚动更新AUR包★☆☆☆☆

Linux快速安装

# Ubuntu/Debian
sudo apt-get install python-tk subversion
svn checkout https://python-xlib.svn.sourceforge.net/svnroot/python-xlib/tags/xlib_0_15rc1/
cd xlib_0_15rc1
sudo python setup.py install
cd ..
git clone https://gitcode.com/gh_mirrors/se/selfspy
cd selfspy
sudo python setup.py install

macOS特殊配置

# 安装依赖
brew install python
pip install pyobjc-framework-Quartz
# 启用辅助功能
open "x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility"
# 复制启动项
cp com.github.gurgeh.selfspy.plist ~/Library/LaunchAgents/
launchctl load ~/Library/LaunchAgents/com.github.gurgeh.selfspy.plist

Windows预编译依赖

由于Windows平台编译pyHook和pyCrypto困难,推荐使用预编译包:

  1. 下载pyHook: SourceForge
  2. 下载pyCrypto: Voidspace
  3. 安装pyWin32: SourceForge

核心功能详解:5个维度掌控使用方法

1. 启动参数全解析

selfspy [选项]
  -h, --help           显示帮助信息
  -c FILE              指定配置文件路径
  -p PASSWORD          加密密码(留空则不加密)
  -d DATA_DIR          数据存储目录(默认~/.selfspy)
  -n, --no-text        不记录输入文本(提高隐私性)
  -r, --no-repeat      不记录重复特殊字符
  --change-password    修改数据库加密密码

2. 数据库架构探秘

Selfspy使用SQLite数据库存储所有活动,核心表结构如下:

mermaid

3. 数据加密机制

默认情况下,Selfspy使用Blowfish算法加密敏感文本数据:

# 加密实现(models.py)
def maybe_encrypt(s, other_encrypter=None):
    if other_encrypter is not None:
        s = pad(s, 8)
        s = other_encrypter.encrypt(s)
    elif ENCRYPTER:
        s = pad(s, 8)
        s = ENCRYPTER.encrypt(s)
    return s

4. 活动记录流程

  1. 屏幕变化检测:通过sniffer模块监控窗口切换
  2. 输入捕获:记录键盘事件和鼠标动作
  3. 数据缓存:临时存储事件直到达到提交阈值
  4. 事务提交:定期将缓存数据写入数据库

5. 进程间通信

mermaid

selfstats数据分析:10个实用案例

基础统计命令

# 显示今日活动概览
selfstats --back 24 h --ratios

# 按进程统计活动时间
selfstats --pactive --back 7 d

# 按窗口标题统计键盘输入
selfstats --tkeys --back 1 w

案例1:恢复丢失的文本

# 查找30分钟内的所有输入文本
selfstats --back 30 m --showtext --human-readable

# 筛选特定窗口内容(如Chrome中的编辑框)
selfstats -P "Google-chrome" -T "编辑" --showtext

案例2:生成周活动报告

# 每周一发送上周报告到邮箱
0 9 * * 1 selfstats --back 7 d --pactive --tactive | mail -s "上周活动报告" your@email.com

案例3:按键频率分析

# 分析Emacs中C++开发的按键使用频率
selfstats --key-freqs -P Emacs -T "cpp" --back 30 d

案例4:效率分析看板

mermaid

高级应用:自定义查询与扩展

直接操作数据库

-- 查找最活跃的工作时段
SELECT strftime('%H', created_at) as hour, COUNT(*) as events
FROM keys
WHERE created_at > date('now', '-7 days')
GROUP BY hour
ORDER BY events DESC;

Python查询脚本示例

from selfspy import models

# 初始化数据库连接
session = models.initialize("/home/user/.selfspy/selfspy.sqlite")()

# 查询今日Emacs使用时间
emacs_process = session.query(models.Process).filter_by(name="Emacs").first()
if emacs_process:
    keys = session.query(models.Keys).filter(
        models.Keys.process_id == emacs_process.id,
        models.Keys.created_at >= datetime.datetime.today().replace(hour=0, minute=0, second=0)
    ).all()
    total_keys = sum(len(k.load_timings()) for k in keys)
    print(f"今日Emacs按键次数: {total_keys}")

数据可视化扩展

import matplotlib.pyplot as plt
from selfspy import models

# 绘制每小时活动曲线
hourly_data = [0]*24
for key in session.query(models.Keys):
    hour = key.created_at.hour
    hourly_data[hour] += len(key.load_timings())

plt.plot(hourly_data)
plt.xlabel('Hour of day')
plt.ylabel('Keystrokes')
plt.savefig('hourly_activity.png')

隐私与安全:保护你的数据

加密设置最佳实践

  1. 密码策略:使用强密码并定期更换
    selfspy --change-password
    
  2. 选择性记录:使用--no-text选项仅记录元数据
  3. 数据备份:定期加密备份数据库文件
    gpg -c ~/.selfspy/selfspy.sqlite
    

安全风险防范

  • 物理访问控制:确保终端锁定
  • 网络防护:数据库文件禁止共享
  • 审计日志:定期检查异常访问模式

常见问题解决

安装问题

错误解决方案
pyHook安装失败安装预编译版本或升级setuptools
RECORD extension not found安装xorg-dev包并重启X服务器
辅助功能权限问题在系统偏好设置中手动添加权限

运行时问题

  • 高CPU占用:检查是否有异常窗口切换
  • 数据库损坏:执行sqlite3 selfspy.sqlite "PRAGMA integrity_check"
  • 时区问题:确保系统时区设置正确

总结与展望

Selfspy不仅是一款活动记录工具,更是个人数据分析的强大平台。通过本文介绍的方法,你可以:

  1. 建立个人行为数据库
  2. 量化评估工作效率
  3. 发现隐藏的时间浪费
  4. 优化电脑使用习惯

未来发展方向:

  • 机器学习行为模式识别
  • 实时效率建议
  • 多设备同步分析
  • 更强大的数据可视化

立即开始你的量化自我之旅,用数据驱动个人效率提升!

点赞+收藏+关注,不错过后续高级技巧分享!下期预告:《Selfspy数据可视化高级教程》

【免费下载链接】selfspy Log everything you do on the computer, for statistics, future reference and all-around fun! 【免费下载链接】selfspy 项目地址: https://gitcode.com/gh_mirrors/se/selfspy

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值