Pensieve 快速上手指南:4 条命令搭好本地屏幕记忆,找回你两周前看过的每一屏
Pensieve 快速上手指南:4 条命令搭好本地屏幕记忆,找回你两周前看过的每一屏
【免费下载链接】pensieveA passive recording project allows you to have complete control over your data. Automatically take screenshots of all your screens, index them, and save them locally.项目地址: https://gitcode.com/GitHub_Trending/pen/pensieve
你一定有过这种时刻:明明上周看过一篇很解决问题的网页,现在却怎么都搜不回那个链接;昨天在终端里敲过的某段代码,今天想复用时只记得个大概。Pensieve 就是为这个场景准备的:它是一个隐私优先的本地屏幕记录工具,自动截图、提取文字并建索引,之后你在浏览器里输入关键词,就能搜回过去任意一天的屏幕画面——所有数据都留在你自己的电脑上。
🔍 它是怎么运作的:从屏幕到可搜索
把 Pensieve 想象成"摄像头 + 搜索引擎"的组合。后台其实同时跑着三个进程:memos record负责每隔几秒截一帧(默认 4 秒,record_interval可调),memos watch盯着新产生的截图文件,memos serve提供搜索用的 Web 服务。
截下来的图不是原样堆着就完事。每帧会先被 OCR 插件读出画面里的文字,再由 embedding 模型算出一个语义向量,两者连同时间戳、应用名、网页 URL 等元数据一起写进本地 SQLite 数据库。所以检索时你有两条路:关键词走全文索引,找"画面里出现过这几个字";自然语言问句走向量索引,找"画面在讲这件事"。
连续几帧内容几乎没变时只会保留一帧,这是它控制磁盘占用的第一道闸门。整条链路的源码都在 memos/ 目录下,插件机制在 memos/plugins/,想改任何一环都可以直接读代码。
🚀 从零到第一次用起来:4 条命令跑通
前置条件:Mac 或 Windows,装好 Python(README 建议用 conda,因为依赖的 SQLite 扩展在部分系统 Python 里不可用)。
第一步,安装。PyPI 上的包名仍是memos(项目原名,后来改叫 Pensieve),命令叫memos:
pip install memosWindows 上建议改用uv tool install memos或pipx install memos,避免装进全局 site-packages 造成解释器路径漂移。
第二步,初始化,生成配置和数据库,数据目录落在~/.memos:
memos init第三步,启动并设为开机自启:
memos enable memos start这一步会同时开始截屏、启动 Web 服务、注册开机启动。macOS 第一次会弹录屏授权,点允许即可;之后不确定授权是否还在,跑memos doctor会告诉你该去"系统设置 → 隐私与安全性 → 屏幕与系统音频录制"里找哪一条。
第四步,打开浏览器访问http://localhost:8839。服务默认只监听 127.0.0.1,局域网里别的设备访问不到。
打开页面后输入关键词就能搜,直接按 Enter 则浏览最新记录。所有设置也可以在http://localhost:8839/config的网页配置面板里改,不用手编 YAML。
🎯 用它来干什么:三个典型场景
找回几周前看过的那个页面
这是最核心的用法。在搜索框输入当时页面上的任何片段——一个报错信息、一个函数名、一段标题——全文索引会在你所有已建索引的截图里匹配。找不到的时候换个说法再试:向量检索走的是语义,"帮我查一下那个关于并发限制的文档"这种问句也能召回相关画面。
还原"那天我到底在干什么"
点进任意一条搜索结果,会打开实体详情页:底部有一条按时间排序的上下文栏,可以逐帧翻看那一屏的前后画面,旁边列出浏览器 URL、应用名、时间戳和提取出的文本。配合它记录时捕获的元数据,把某个时间点前后的工作过程串起来,比翻聊天记录快得多。
让 AI 助手替你搜屏幕记忆
从 v0.33.0 起,仓库自带一份 Agent Skill(skills/pensieve-search/SKILL.md)。把它交给 Claude Code、Codex 这类支持 Skill 的 AI 工具,你就能用"找一下上周那个 Mastra 集成的截图"这种自然语言提问,助手会翻译成对本地/api/search接口的调用,并把每条命中直接链接到/entities/<id>详情页,方便点开核对原图。
🔒 你的数据去了哪里
所有数据都在本地~/.memos一个目录里:原始截图按天存在~/.memos/screenshots/YYYYMMDD/,数据库是database.db,运行日志在~/.memos/logs/memos.log。没有任何数据离开你的机器,OCR 和 embedding 默认都跑在本地,机器学习模型由你自己选。
macOS 用户需要授予屏幕录制权限,下面是系统设置里对应的位置:
要彻底退出也很干脆:memos stop && memos disable停掉服务,pip uninstall memos卸载程序,删掉~/.memos目录,全部数据清零。
有一点必须如实说:它录的是你屏幕上的所有东西,银行页面、密码管理器、聊天窗口都包含在内。如果担心个别应用被录进去,用配置里的app_blacklist把应用名加进黑名单即可(v0.30.0 起支持,录屏和文件监听两个环节都会检查)。
⚡ 进阶玩法:三个真正管用的可选配置
数据量大了之后:换 PostgreSQL
默认 SQLite 够用,但截图累积到十万张级别(参考值:10 万张索引约占 2.2GB 数据库)后,官方推荐换 PostgreSQL。先装pip install memos[postgresql],用官方 pgvector 镜像起一个带向量扩展的库,然后把~/.memos/config.yaml里的连接串改掉:
database_path: postgresql://postgres:mysecretpassword@localhost:5432/postgres已有 SQLite 数据的,用memos migrate --sqlite-url ... --pg-url ...一键迁移,原数据库不会被改动。仓库里连启动 Postgres 的命令都替你想好了,见 run_pg.sh。
按你的主要语言选 embedding 模型
向量检索准不准,一半取决于模型语言是否匹配。以中文为主就换 zh 模型,改~/.memos/config.yaml的 embedding 段:
embedding: use_local: true model: jinaai/jina-embeddings-v2-base-zh num_dim: 768改完memos stop && memos start,再跑一次memos reindex --force重建索引(旧向量与新模型不兼容,必须重建)。
控制处理频率,旧截图也能补上索引
Pensieve 是算力密集型应用,默认采样策略偏保守:它盯着"处理一张要多久"和"截图来得多快",算不过来就跳过部分帧,等系统空闲(5 分钟无新截图、插着电源、落在默认 00:00–07:00 的处理窗口内)再补。想全量重建索引,随时跑memos scan,该命令是幂等的,重复执行不会重复索引。硬件富余的话(N 卡 8GB 显存或 Apple Silicon),还可以接 Ollama 跑minicpm-v视觉模型(约 5.5GB)开启builtin_vlm插件,让无文字的画面也能被语义检索——注意纯 CPU 跑不推荐,会明显卡。
⚖️ 边界与取舍:谁不适合用
先把账算清楚:
- 平台:正式支持 Mac 和 Windows,Linux 仍在开发中。
- 磁盘:按每天使用 10 小时、2560x1440 单屏估算,截图约 400MB/天,20 个工作日约 8GB/月;多屏会成倍增加,内容变化少的场景(阅读、改文档)因去重会明显更低。
- 算力:OCR 跑在 CPU 上,embedding 会优先用 N 卡或 Mac 的 Metal;电池供电时自动降频,意味着移动办公时索引会滞后,靠空闲补录或
memos scan追平。 - 已知坑:部分 Python 环境的 sqlite3 不支持加载扩展,遇到报错换 conda 环境最省事;Windows 上别用 WSL 跑(截不到宿主机画面)、别用 Microsoft Store 版 Python、也别让
%USERPROFILE%被 OneDrive 同步(否则每天 400MB 截图会被传上云,把base_dir改到本地路径即可)。 - 心理层面:它确实 7x24 在录你的屏。数据虽在本地,但"有个东西一直在看我的屏幕"这件事本身就能劝退一部分人;公司配发的、和别人共用的机器,别装。
🚦 下一步
现在就pip install memos,10 分钟后你会有一个能搜的屏幕记忆。想继续深入:中文文档看 README_ZH.md,设计思路与设计文档在 docs/,Web 前端源码在 web/src/。也可以把仓库克隆到本地,照着 memos/ 里的三个入口命令memos serve、memos record、memos watch前台跑起来,逐段读日志,比任何文档都直观。
git clone https://gitcode.com/GitHub_Trending/pen/pensieve【免费下载链接】pensieveA passive recording project allows you to have complete control over your data. Automatically take screenshots of all your screens, index them, and save them locally.项目地址: https://gitcode.com/GitHub_Trending/pen/pensieve
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
