ScreenPipe 完整教程:10 分钟看懂本地屏幕记忆与 AI Agent 上下文
【免费下载链接】screenpipeYC (S26) | Open Computer History | Record your screen continuously locally and provide context to your agents (Claude, Codex, Openclaw, Hermes, Runner...)项目地址: https://gitcode.com/GitHub_Trending/sc/screenpipe
ScreenPipe 是什么
ScreenPipe 是一款本地运行的屏幕与音频记录工具:它持续捕捉你屏幕上的画面和语音,存到本机数据库,再把这段「工作记忆」喂给 Claude、Codex 等 AI Agent 当上下文。你不用再手动喂资料,Agent 可以直接问你「刚才那 5 分钟我看到了什么」。数据 100% 留在本机,支持离线使用。
项目地图:5 分钟看懂仓库目录
整个仓库就是一个 Rust 工作区加一批外围包:
screenpipe/ ├── apps/screenpipe-app-tauri/ # Tauri 桌面应用(Next.js 前端 + Rust 后端) ├── crates/screenpipe-engine/ # 核心引擎,调度整条采集索引链路 ├── crates/screenpipe-a11y/ # 可访问性树采集,拿不到时回退 OCR ├── crates/screenpipe-screen/ # 屏幕帧捕获 ├── crates/screenpipe-audio/ # 音频录制、转写、说话人识别 ├── crates/screenpipe-db/ # SQLite 存储与查询 ├── crates/screenpipe-connect/ # 对接日历、Notion 等外部服务 ├── crates/screenpipe-gateway/ # 网络服务层 ├── packages/screenpipe-mcp/ # MCP 服务器,让 Agent 查询历史 ├── packages/cli/ # 命令行录制器 ├── packages/sdk/ # 给第三方集成的 SDK └── docs/ # 设计规格文档阅读思路按依赖方向来:a11y、screen、audio 三个 crate 负责「抓」,db 负责「存」,engine 把两者串起来。桌面应用只是 engine 的可视化外壳,MCP、CLI、SDK 则是对同一份本地数据的三种访问入口。可以把它理解成项目的「录音棚」:engine 7×24 小时录屏收音,其余模块要么处理它的产物,要么帮它录得更准。
从 0 到 1:一键克隆并启动
最快路径是克隆源码后直接构建 Rust 核心,跳过桌面壳:
git clone https://gitcode.com/GitHub_Trending/sc/screenpipe cd screenpipecargo build --release./target/release/screenpipe注意两件事:构建前装好系统依赖(ffmpeg、cmake 等,macOS 用 brew 一行装齐,Linux 用 apt);首次 release 编译可能要等十几分钟,耐心一点。跑起来后数据会写入~/.screenpipe。想要带界面的桌面版,就进apps/screenpipe-app-tauri/执行bun install和bun run dev:tauri——该项目前端用 bun 而不是 npm,CONTRIBUTING.md 里分平台写清了完整步骤。
关键模块速览
挑四个最值得先看的模块,都带内联路径,点开就能读:
可访问性树:screenpipe-a11y
优先读取屏幕应用的无障碍树拿到结构化文本,读不到再走 OCR,这是屏幕「读懂」而非「拍下来」的关键。入口在 crates/screenpipe-a11y/。
音频管线:screenpipe-audio
管录音、语音转写、说话人识别和会议检测,crates/screenpipe-audio/ 里还有 VAD 和模型加载的独立子模块。
存储层:screenpipe-db
所有画面、音频、事件最终都落在它的 SQLite 里,内置 50 多个集成测试,crates/screenpipe-db/ 是理解数据模型的最佳起点。
外部连接:screenpipe-connect
把屏幕记忆接进日历、Notion、Linear 等服务,界面上长这样:
源码在 crates/screenpipe-connect/。
配置与依赖:改之前先看这几个文件
动配置前先认得这几个文件,改错地方会白调半天:
- 根目录 Cargo.toml:Rust 工作区清单,声明成员 crate 和共享依赖版本。要新增 crate 或统一升某个依赖版本时才动它。
- apps/screenpipe-app-tauri/src-tauri/ 下的 tauri.conf.json 系列:桌面应用的窗口、图标、打包配置,且按平台分了 tauri.macos.conf.json、tauri.windows.conf.json 等多份。调界面行为或打包产物才需要碰。
- rust-toolchain.toml:锁定 Rust 工具链版本,保证团队编译环境一致。你换环境编译报错时,先看它。
JS/TS 侧还有 biome.json 管 lint 风格,日常开发不用关心,提交前工具会自动跑。
下一步
想继续深入,按这个顺序看:CONTRIBUTING.md 覆盖三大平台的完整构建步骤;ONBOARDING.md 是从零到合入第一个 PR 的新手走查,里面特别提醒过:开发时别把 dev 实例指到你日常正在录制的~/.screenpipe数据上;docs/ 目录下还有各功能的规格文档,值得按兴趣翻。
【免费下载链接】screenpipeYC (S26) | Open Computer History | Record your screen continuously locally and provide context to your agents (Claude, Codex, Openclaw, Hermes, Runner...)项目地址: https://gitcode.com/GitHub_Trending/sc/screenpipe
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考