ScreenPipe 完整入门指南:一个"电脑记忆"开源项目的结构、入口与配置速览
【免费下载链接】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 是一个 100% 本地运行的开源项目:它在你电脑上持续记录屏幕、音频与操作行为,把数据存进本地 SQLite,再通过 MCP、CLI 等接口把这些"记忆"喂给 Claude、Codex 等 AI Agent。整个仓库是典型的 Rust 工作区 + Tauri 桌面应用 + JS/TS 包组合,代码量不小,但目录划分相当规整。下面按"先认识项目、再看地图、再跑起来、最后看配置"的顺序带你逛一遍仓库。
ScreenPipe 是什么:给电脑装一块 24 小时记忆
它干的事可以浓缩成一句话:屏幕 + 音频 → 本地存储 → 供 AI 查询。
- 持续采集:录屏、录音,并抓取无障碍树(界面控件信息)、OCR 兜底、说话人分离、键盘输入与应用切换;
- 本地存储:数据只落在你自己的机器上,约每月 20GB 存储,支持静态加密;
- 喂给 Agent:通过 MCP 服务 或 CLI,你可以问"我最近 5 分钟看了什么"、"总结今天的对话",甚至创建自动化的"管道"(Pipe)。
资源占用方面,官方口径是 5–10% CPU、0.5–3GB 内存,可以离线工作。项目是 source-available 授权,见 LICENSE.md。
先看地图:ScreenPipe 目录结构解析
仓库根目录不算杂乱,四大板块是crates/(Rust 核心)、apps/(桌面应用)、packages/(JS 生态包)、docs/(文档)。带注释的目录树如下:
screenpipe/ ├── apps/ │ └── screenpipe-app-tauri/ # Tauri 桌面应用:Rust 壳(src-tauri/)+ Next.js 前端(app/、components/、lib/) ├── crates/ # 27 个 Rust crate,各自独立、组合成完整采集引擎 │ ├── screenpipe-core/ # 主入口与核心逻辑,可执行二进制 screenpipe 在这里 │ ├── screenpipe-screen/ # 屏幕捕获 │ ├── screenpipe-audio/ # 音频捕获、转写、说话人识别 │ ├── screenpipe-a11y/ # 无障碍树捕获(macOS/Windows/Linux 平台实现) │ ├── screenpipe-db/ # SQLite 数据库层,含大量 .sql 迁移脚本 │ ├── screenpipe-engine/ # Pipe 自动化引擎及其 JSON Schema │ ├── screenpipe-semantic/ # 语义理解与检索 │ ├── screenpipe-redact/ # 敏感信息打码/擦除 │ ├── screenpipe-sync/ # 数据同步 │ └── ... # 其余:事件、密钥保险库、团队记忆、遥测等 ├── packages/ │ ├── screenpipe-mcp/ # MCP 服务器,把 ScreenPipe 接进各家 Agent │ ├── sdk/ # 多语言 SDK(Swift、JS/TS、Electron、Tauri) │ ├── cli/ # npm 上的 screenpipe CLI 包(npx screenpipe) │ ├── browser-extension/ # 浏览器扩展 │ └── ai-gateway/ # AI 网关(Cloudflare Worker) ├── docs/ # 设计规范、规格文档、多语言 README 翻译 ├── infra/ # 各平台发布 Runner、Windows 开发镜像等 CI 基建 ├── scripts/ # 开发辅助脚本:基准测试、开发 VM、权限授予 ├── evals/ # 编码 Agent 的评测用例与评分器 ├── Cargo.toml # Rust 工作区根配置,声明成员与公共依赖 ├── Cargo.lock # 依赖锁文件("下单收据",保证构建可复现) ├── rust-toolchain.toml # 固定 Rust 1.94.0 及四个目标平台 ├── CONTRIBUTING.md # 三大平台的安装与构建指南(最重要的文档) └── ONBOARDING.md / TESTING.md # 新人上手路线图 / 测试指南记住一条主线就够了:crates/是引擎,apps/screenpipe-app-tauri/是引擎的 GUI 外壳,packages/是引擎对外输出的各种"插座"。
怎么把它跑起来:三种入口与最快路径
🚀 按你的目标选一条路,三条入口互不冲突。
入口一:直接当用户用(推荐第一次接触时)
- 桌面应用:官网下载即可,自动更新;
- 纯命令行:执行
npx screenpipe record启动后台录制,再npx screenpipe setup一键把技能与 MCP 配置注入到本机的各编程 Agent。之后直接在 Claude 等工具里用自然语言查自己的屏幕历史。
入口二:编译出独立 CLI(macOS / Linux)
在仓库根目录执行cargo build --release(macOS 建议加--features metal启用 GPU 加速),然后运行./target/release/screenpipe。前置依赖见 CONTRIBUTING.md:macOS 需要完整 Xcode 与 FFmpeg 等,Linux 需要 tesseract、libpipewire 等系统库,另外都要装 Bun。
入口三:构建桌面应用(Windows 特别注意)
桌面应用是独立的 Cargo 工作区,有自己的src-tauri/target,不要先在根目录跑cargo build --release,那不会给它"热身",只会拖慢首次构建。正确流程是进入apps/screenpipe-app-tauri/,bun install后执行bun tauri build(开发态用bun run dev:tauri,前端起在 1420 端口)。首次构建会自动下载 FFmpeg、OpenBLAS 等原生依赖并缓存到~/.cache/screenpipe/native-deps,Windows 上请预留至少 10GB 磁盘。
跑起来之后,用npx screenpipe status之类的命令确认录制健康,就完成从克隆到跑通的全过程了。
什么时候才需要动配置文件:四处关键点
配置文件平时不用碰,但改到对应模块前,先看清下面这份"谁管什么"清单:
- Cargo.toml:工作区根配置。声明
crates/*为成员、统一版本号(当前 0.4.46)与公共依赖(tokio、reqwest、serde 等)。只有新增 crate 或统一升级依赖时才动它;Cargo.lock 是锁定收据,不要手改。 - rust-toolchain.toml:钉死 Rust 1.94.0,并预装四个目标平台(macOS 双架构、Windows MSVC、Linux)。装好 rustup 后首次进目录就会自动对齐版本,无需操心。
- tauri.conf.json:桌面外壳的"身份证"——产品名、打包目标(dmg/nsis/appimage/deb)、图标、
screenpipe://深链 scheme、自动更新密钥都在这。要改窗口行为、分发渠道或深链协议才需要编辑;旁边还有一组tauri.macos.conf.json等按平台的覆盖配置。 - biome.json 与 lefthook.yml:前者管 JS/TS 的 lint 与格式化,后者定义 git 钩子(提交前检查)。它们保证你提交的代码风格不跑偏,改完前端跑一次
bun run test即可验证。
另外两个值得知道但不必动的位置:crates/screenpipe-config/ 负责运行时配置读写,apps/screenpipe-app-tauri/package.json里几十个test:e2e:*脚本则是回归测试的开关。更多细节与贡献规范见 CONTRIBUTING.md、ONBOARDING.md 和 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),仅供参考