捕获屏幕信息并用本地大模型总结:我的 Screenpipe 实践记录(一)
一、引言
最近一直想使用大模型技术做些什么,其中一个想法就是做一个私人助手,可以记录每天的行为(浏览了哪些APP、访问了什么网页),每天自动总结生成报告;
这个项目的痛点有:
- 隐私化:我的日常行为包含一些工作内容、个人密钥,不能联网上传;
- 上下文:大模型分析依赖上下文,包括屏幕截图、录音等,这些数据如何保存、喂给大模型。
基于此,使用Screenpipe+Ollama+Cron,实现可以7*24在本地运行的私人助手
二、技术栈介绍
Screenpipe

Screenpipe是一个离线项目,它可以对你的电脑进行 24 小时监控,通过屏幕录制、OCR、音频输入和转录收集信息等途径,保存到本地数据库。
包括以下功能
- 屏幕录制:24 小时全天候监控,实时录制屏幕,捕捉每一个操作画面。
- OCR 文字识别:内置强大的 OCR 功能,支持中文及其他语言,轻松提取屏幕中的文字内容。
- 音频输入与转录:支持捕获麦克风音频输入,并实时转录为文字,保存对话与语音笔记。
- 本地数据库存储:所有信息都被安全地保存到本地数据库,保障数据隐私和安全。
Ollama
Ollama 是一个开源的大型语言模型(LLM)平台,它支持在本地启动、管理、对话自己的大模型;它支持所有主流大模型在本地启动。
NodeJs+Cron
考虑到项目需要数据管理、本地API调用、开始暂停、Web页面,因此使用NodeJs搭建;
同时,完整的天级数据会很大,本地模型算力有限,我们可以使用Cron定时5分钟记录一次,自动分析并落盘。
三、系统架构

四、项目流程介绍
完整项目开源:https://github.com/LittleCoolguy/screen-mic-agent
安装Screenpipe
Mac本地安装Screenpipe
curl -fsSL get.screenpi.pe/cli | sh
执行
screenpipe
执行后,出现如下日志,说明Screenpipe已经成功启动,屏幕数据记录ing。

安装ollame,启动模型
官网安装::https://ollama.com/download
启动ollama
ollama serve # 新终端常驻;或在后台用 systemd/launchctl
安装模型,这里我选择的是qwen2.5:7b-instruct-q4_K_M
ollama run qwen2.5:7b-instruct-q4_K_M
测试一下,成功回答问题。

上下文+模型调用
这里主要是使用Screenpipe提供的SDK获取本地屏幕OCR数据、ollama的模型问答接口
模型调用逻辑示例
import {
NextResponse } from "next/server";
import {
buildPrompt } from "../../../lib/prompt";
import {
getRecentContext } from "../../../lib/screenpipe";
export const runtime = "nodejs";
export async function POST(req: Request<


1496

被折叠的 条评论
为什么被折叠?



