## 项目概述

screenpipe 是一款本地优先、源码可用的桌面应用，持续记录屏幕与音频，将真实工作转化为可搜索的记忆、标准操作流程（SOP）和 AI 代理自动化。它由 YC S26 支持，是 Rewind.ai、Microsoft Recall 等云服务的开源替代品，强调隐私与数据自主权。

## 核心功能

- **事件驱动屏幕捕获**：监听应用切换、点击、输入暂停等事件，仅在屏幕变化时捕获截图，并配对可访问性树或 OCR 文本，降低 CPU 与存储占用。
- **音频转录**：捕获系统音频与麦克风输入，支持本地 Whisper 或云端 Deepgram 实时转录，含说话人识别与分离。
- **AI 搜索**：自然语言搜索屏幕文本、OCR 内容与音频转录，支持按应用、窗口、URL、时间过滤。
- **时间线视图**：可视化回放屏幕历史，支持点击任意时刻查看截图与文本，并可回放音频。
- **插件系统（Pipes）**：基于 Markdown 的定时 AI 代理，可自动生成会议摘要、每日回顾、站会更新等，支持自定义数据权限。
- **MCP 服务器**：作为 Model Context Protocol 服务器，供 Claude Desktop、Cursor 等 AI 助手查询屏幕历史。
- **开发者 API**：提供本地 REST API（默认端口 3030）与 JavaScript/TypeScript SDK。

## 适用与不适用场景

**适用场景：**
- 知识工作者需要回忆电脑上看到或听到的任何内容。
- 开发者希望为 AI 编程助手提供工作上下文。
- 研究人员需要搜索大量屏幕信息。
- 远程工作者希望自动记录会议并生成笔记。
- 团队或企业希望部署 AI 代理并控制数据权限。

**不适用场景：**
- 需要实时字幕或实时屏幕共享的场景（当前设计为搜索历史）。
- 需要云端同步或跨设备访问的场景（默认本地存储，云同步为付费功能）。
- 对资源占用敏感的环境（最低要求 8GB RAM，每月约 5-10GB 存储）。
- 需要完全离线且无任何网络请求的场景（默认启用产品分析与崩溃报告，可关闭）。

## 技术架构与依赖

- **语言**：Rust（核心引擎）、TypeScript（桌面 UI，基于 Tauri）。
- **存储**：本地 SQLite 数据库（含 FTS5 全文搜索），截图以 JPEG 存储。
- **音频处理**：Whisper（本地）或 Deepgram（云端）语音转文字，含说话人识别。
- **屏幕捕获**：事件驱动，优先使用操作系统可访问性树，回退到 OCR（macOS Vision、Windows OCR、Linux Tesseract）。
- **视频编码**：HEVC/H.265 分片 MP4（旧版），新版采用 JPEG 快照。
- **AI 集成**：支持 Ollama 等本地模型，或任意 OpenAI 兼容 API。
- **插件执行**：使用 Pi 编码代理（或 Claude Code）执行 Pipes。

## 安装与快速开始

**桌面应用**：从 [screenpipe.com/how-to-install](https://screenpipe.com/how-to-install?download=1) 下载安装包（macOS、Windows、Linux）。

**CLI 方式**：
```bash
npx screenpipe record
```

**配置 MCP**：
```bash
npx screenpipe setup
# 或
claude mcp add screenpipe -- npx -y screenpipe-mcp@latest
```

**从源码构建**：参考 [CONTRIBUTING.md](CONTRIBUTING.md)，需要 Rust、Bun、FFmpeg 等依赖。

## 典型使用方法

**搜索屏幕内容**：
```
GET http://localhost:3030/search?q=meeting+notes&content_type=all&limit=10
```

**搜索音频转录**：
```
GET http://localhost:3030/search?q=budget+discussion&content_type=audio&limit=10
```

**JavaScript SDK 示例**：
```javascript
import { pipe } from "@screenpipe/js";

const results = await pipe.queryScreenpipe({
  q: "project deadline",
  contentType: "all",
  limit: 20,
  startTime: new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString(),
});
```

**创建 Pipe**：在 `~/.screenpipe/pipes/` 下编写 `pipe.md`，包含 YAML frontmatter 与提示词，即可创建定时 AI 代理。

## 配置与部署要点

- **数据目录**：默认 `~/.screenpipe/`，可通过 `--data-dir` 参数修改。
- **端口**：默认 3030，可通过 `--port` 修改。
- **隐私设置**：可在设置中关闭遥测（PostHog、Sentry），选择本地转录与本地 AI 模型。
- **音频排除**：macOS 可通过 `~/.screenpipe/audio-exclusions.json` 排除特定应用的系统音频捕获。
- **团队部署**：支持中央配置管理、共享 Pipes、每 Pipe 数据权限（YAML 控制），兼容 MDM（Intune、SCCM）。
- **数据库恢复**：提供 `screenpipe db recover` 命令，需停止服务后执行。

## 限制、风险与许可证

- **许可证**：Screenpipe Commercial License（源码可用；个人非商业用途免费，商业使用需付费订阅，桌面应用订阅从 $25/月起）。
- **数据隐私**：默认本地存储，但桌面应用默认启用产品分析（PostHog）与崩溃报告（Sentry），可关闭。云同步、云转录为付费功能。
- **资源占用**：CPU 5-10%，内存 0.5-3GB，存储约 20GB/月（事件驱动后约 5-10GB/月）。
- **平台限制**：Linux 仅支持从源码构建，且 HEVC 浏览器支持有限（时间线视频回退到 FFmpeg）。
- **风险**：屏幕捕获可能涉及敏感信息，需注意 PII 过滤与权限控制；插件系统执行外部 AI 代理，需谨慎配置数据权限。

## 官方链接

- **官网**：https://screenpi.pe
- **文档**：https://docs.screenpi.pe
- **Discord**：https://discord.gg/screenpipe
- **Twitter/X**：https://twitter.com/screenpipe
- **YouTube**：https://www.youtube.com/@screen_pipe
- **Reddit**：https://www.reddit.com/r/screen_pipe
- **GitHub Releases**：https://github.com/screenpipe/screenpipe/releases

## 信息来源和分析时间

- **主要来源**：GitHub 仓库 README、CONTRIBUTING.md、docs/ 目录下的架构与规范文档（EVENT_DRIVEN_CAPTURE_SPEC.md、VISION_PIPELINE_SPEC.md、PIPE_EXECUTION_SPEC.md 等）。
- **分析时间**：2026-08-10（基于最新 release 日期）。
- **注意**：部分文档日期为 2026 年，可能包含未来信息，请以实际仓库为准。