OpenRecall自定义配置教程:如何调整截屏频率和相似度阈值
OpenRecall是一款完全开源、注重隐私保护的数字记忆工具,作为Microsoft Windows Recall等专有解决方案的替代选择,它能帮助你轻松访问数字历史记录,增强记忆力和生产力,同时不会泄露隐私。本文将详细介绍如何自定义配置OpenRecall的截屏频率和相似度阈值,让你根据个人需求优化使用体验。
为什么需要自定义截屏频率和相似度阈值
在使用OpenRecall时,截屏频率和相似度阈值是两个关键参数。截屏频率决定了工具捕捉屏幕内容的间隔时间,频率过高会占用较多存储空间和系统资源,频率过低则可能错过重要信息。相似度阈值则用于判断两张截图是否相似,合适的阈值可以避免存储大量重复或相似的截图,节省空间并提高检索效率。
准备工作
在进行自定义配置前,请确保你已经安装了OpenRecall。如果尚未安装,可以通过以下命令克隆仓库并进行安装:
git clone https://gitcode.com/gh_mirrors/op/openrecall
cd openrecall
pip install .
调整截屏频率
找到截屏频率设置位置
OpenRecall的截屏逻辑主要在openrecall/screenshot.py文件中实现。打开该文件,我们可以看到截屏线程的相关代码。
修改截屏间隔时间
在openrecall/screenshot.py中,搜索time.sleep(3)语句。这个语句控制着两次截屏之间的等待时间,单位为秒。当前默认的等待时间是3秒,你可以根据需要修改这个数值。
例如,如果你希望将截屏频率降低,即延长截屏间隔时间,可以将time.sleep(3)修改为time.sleep(5),这样工具将每5秒进行一次截屏。反之,如果你希望提高截屏频率,可以将数值改小,如time.sleep(2)。
以下是相关代码片段:
# 在record_screenshots_thread函数中
while True:
if not is_user_active():
time.sleep(3) # 用户不活跃时的等待时间
continue
# ... 其他代码 ...
time.sleep(3) # 两次截屏之间的等待时间
你可以根据实际需求,分别调整用户活跃和不活跃时的等待时间。
调整相似度阈值
了解相似度判断函数
OpenRecall使用结构相似性指数(MSSIM)来判断两张截图的相似度,相关函数在openrecall/screenshot.py中定义。is_similar函数用于检查两张图片是否相似,其中similarity_threshold参数就是相似度阈值。
修改相似度阈值
默认的相似度阈值为0.9,你可以根据需要调整这个值。如果希望减少相似截图的存储,可以提高阈值,如0.95;如果希望捕捉更多细节变化,可以降低阈值,如0.85。
以下是is_similar函数的定义:
def is_similar(
img1: np.ndarray, img2: np.ndarray, similarity_threshold: float = 0.9
) -> bool:
"""Checks if two images are similar based on MSSIM.
Args:
img1: The first image as a NumPy array.
img2: The second image as a NumPy array.
similarity_threshold: The threshold above which images are considered similar.
Returns:
True if the images are similar, False otherwise.
"""
similarity: float = mean_structured_similarity_index(img1, img2)
return similarity >= similarity_threshold
你可以直接修改similarity_threshold的默认值,或者在调用is_similar函数时传入自定义的阈值。
保存修改并重启服务
完成上述修改后,保存openrecall/screenshot.py文件。然后重启OpenRecall服务,使新的配置生效。
总结
通过调整OpenRecall的截屏频率和相似度阈值,你可以根据自己的使用习惯和需求,优化工具的性能和存储占用。希望本教程能帮助你更好地使用OpenRecall,提升数字记忆管理效率。如果你想了解更多关于OpenRecall的功能和配置,可以查阅项目的官方文档。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



