ContextPulse
Official开发者预览版(v0.1-alpha)。 ContextPulse 正在积极开发中。API 和配置可能在版本之间发生变化。报告问题。
ContextPulse 是一个桌面守护进程,可实时捕获您的屏幕、语音和键盘/鼠标活动,然后通过模型上下文协议(MCP)将其传递给 AI 智能体。一个进程、一个托盘图标、35 个 MCP 工具、零云端依赖。
一切都在本地完成。无云端。无遥测。您的数据永远不会离开您的机器。
┌─────────────────────────────────────────────────┐
│ ContextPulse Daemon │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Sight │ │ Voice │ │ Touch │ │
│ │ Screen │ │ Dictate │ │ Keys + │ │
│ │ OCR │ │ Whisper │ │ Mouse │ │
│ │ Clipboard│ │ Vocab │ │ Bursts │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
│ └──────────────┼──────────────┘ │
│ ▼ │
│ ┌──────────────┐ │
│ │ EventBus │ │
│ │ (Spine) │ │
│ └──────┬───────┘ │
│ ▼ │
│ ┌──────────────┐ │
│ │ activity.db │ │
│ │ SQLite+FTS5 │ │
│ └──────────────┘ │
└────────────────────┬────────────────────────────┘
│ MCP (streamable-http :8420)
┌────────────┼────────────┐
▼ ▼ ▼
Claude Code Cursor Any MCP
Client快速演示
> You: "What am I looking at right now?"
Claude calls get_screenshot → get_screen_text:
Active window: VS Code, src/auth/middleware.ts
OCR text: "export async function validateToken(req: Request)..."
Clipboard: "Bearer eyJhbGciOiJIUzI1NiIs..."
> Claude: "You're editing the auth middleware in VS Code.
> I can see the validateToken function, and you have
> a Bearer token in your clipboard. Want me to help
> debug the token validation?"> You hold Ctrl+Space and say: "refactor this to use the new auth provider"
ContextPulse Voice transcribes → pastes into editor
Claude calls get_recent_transcriptions → get_screen_text:
> Claude: "I can see your dictation and the current file.
> Here's the refactored middleware using AuthProvider..."> You: "What was I working on before lunch?"
Claude calls get_activity_summary(hours=4) → search_history("auth"):
10:15 AM VS Code, auth/middleware.ts (45 min)
11:00 AM Chrome, JWT.io (12 min)
11:15 AM VS Code, auth/tests/test_middleware.py (30 min)
11:45 AM Slack, #backend channel (15 min)
> Claude: "You spent the morning on auth middleware: writing
> the implementation, checking JWT specs, then adding
> tests. You were in Slack #backend right before lunch."Related MCP server: screen-memory-mcp
为什么选择 ContextPulse?
AI 编程助手功能强大但却是"盲人"。它们看不到您的屏幕、听不到您的语音笔记,也不知道您刚才在做什么。ContextPulse 弥合了这一差距:
本地优先,零云端依赖。 您的屏幕、语音和输入数据永远不会离开您的机器。无需账户、无需订阅、无需第三方服务器。隐私由架构保障,而非政策承诺。
从第一天起就是 MCP 原生。 ContextPulse 将所有上下文以 MCP 工具的形式暴露。任何 MCP 客户端(Claude Desktop、Cursor、Windsurf、VS Code)无需自定义集成即可获得完整上下文。
单守护进程实现真正的多模态。 屏幕捕获、语音听写、键盘/鼠标输入和语义记忆在同一个轻量级进程中运行(<1% CPU)。无需拼接多个工具。
开源(AGPL-3.0)。 完全可审计、可自托管、可扩展。无供应商锁定、无 SaaS 依赖、无被收购后关停的风险。
ContextPulse 的与众不同之处
能力 | ContextPulse | 通常是否可用? |
屏幕捕获 + OCR | 是,原生分辨率 | 常见 |
语音听写 | 是,本地 Whisper | 作为集成功能较为罕见 |
键盘 + 鼠标追踪 | 是 | 罕见 |
语义记忆 | 是,三层架构配合混合搜索 | 罕见 |
所有模态集成于一个守护进程 | 是,单个轻量级进程 | 否,通常是独立工具 |
MCP 原生 | 是,35 个工具 | 新兴 |
100% 本地,零云端 | 是,隐私由架构保障 | 不常见 |
开源 | AGPL-3.0 | 各有不同 |
平台支持
平台 | 状态 |
Windows 10+ | 完全支持 |
macOS 13+(Apple Silicon 和 Intel) | 完全支持 |
Linux | 欢迎社区贡献——核心抽象已就位,平台模块需要实现 |
安装
git clone https://github.com/ContextPulse/contextpulse
cd contextpulse
# Windows
pip install -e packages/core -e packages/screen -e packages/voice -e packages/touch -e packages/project
# macOS — the [macos] extras are REQUIRED, not optional niceties. They pull in
# pyobjc (clipboard, window, caret, session monitor), rumps (menu bar) and
# mlx-whisper (Apple Silicon transcription). Without them the install succeeds
# and then fails at runtime.
pip install -e "packages/core[macos]" -e "packages/screen[macos]" -e "packages/voice[macos]" \
-e packages/touch -e packages/project
# Optional: persistent memory + semantic search
pip install -e packages/memory配置您的 AI 智能体并安装配套技能:
contextpulse --setup claude-code # configures MCP + installs skills
# or: contextpulse --setup gemini # for Gemini CLI
# or: contextpulse --setup all # both启动 ContextPulse:
contextpulse # starts the background daemon
contextpulse-mcp # starts the MCP server on port 8420就这样。您的 AI 智能体现在拥有了读取屏幕、语音、活动和记忆的工具。
添加到 ~/.claude.json:
{
"mcpServers": {
"contextpulse": {
"type": "http",
"url": "http://127.0.0.1:8420/mcp"
}
}
}MCP 工具
视觉(11 个免费工具)
工具 | 功能 |
| 捕获屏幕(活动显示器、所有显示器或指定区域) |
| 滚动缓冲区中的最近帧(带差异过滤) |
| 以原生分辨率对当前屏幕进行 OCR |
| 所有显示器的轻量级文本摘要(低 token 消耗) |
| 守护进程健康检查 + 缓冲区统计 |
| 过去 N 小时的应用使用情况细分 |
| 跨窗口标题 + OCR 文本的全文搜索 |
| N 分钟前的帧 + 元数据 |
| 最近的剪贴板条目 |
| 按文本内容搜索剪贴板 |
| 哪些 MCP 客户端在消费上下文,以及消费频率 |
语音(3 个免费工具)
工具 | 功能 |
| 最近的语音听写历史(原始 + 清洗后) |
| 听写次数、时长、准确率统计 |
| 当前词语纠正条目 |
触控(3 个免费工具)
工具 | 功能 |
| 打字爆发、点击、滚动、拖拽 |
| 击键次数、WPM、点击/滚动总数 |
| 语音转打字纠正检测 |
项目(5 个免费工具)
工具 | 功能 |
| 将文本与所有项目进行评分,返回最佳匹配 |
| 从 CWD 或窗口标题检测当前项目 |
| 所有已索引项目及其概览 |
| 获取项目的完整 PROJECT_CONTEXT.md |
| 将洞察路由到项目日志 |
记忆(5 个免费 + 2 个 Pro 工具)
基础记忆永久免费。无需许可证。
工具 | 层级 | 功能 |
| 免费 | 存储带可选标签和 TTL 的键值记忆 |
| 免费 | 按精确键检索记忆 |
| 免费 | 列出记忆,可选按标签过滤 |
| 免费 | 按键删除记忆 |
| 免费 | 存储统计(条目数、数据库大小、层级) |
| Pro | 跨所有已存储记忆的混合/关键词/语义搜索 |
| Pro | 使用 all-MiniLM-L6-v2 嵌入的纯向量搜索 |
记忆采用三层热/温/冷架构:内存 LRU 缓存 → SQLite WAL + FTS5 → 压缩归档。可选的 pip install contextpulse-memory 包提供这些工具。
Pro(4 个工具,需要许可证或 30 天试用)
工具 | 功能 |
| 跨已存储记忆的混合/关键词/语义搜索 |
| 使用句子嵌入的纯向量搜索 |
| 跨屏幕、语音、剪贴板、按键的跨模态全文搜索 |
| 所有模态下所有事件的时间视图 |
永久免费: 27 个工具(视觉 × 11,语音 × 3,触控 × 3,项目 × 5,记忆 × 5) Pro: 增加 4 个搜索工具:语义记忆搜索以及跨模态事件查询 试用: 首次使用提供 30 天 Pro 试用,无需信用卡
此外,ContextPulse 还包含几个后台学习工具(词汇整合、纠正检测),可自动运行以随时间提高转录质量。
架构
ContextPulse 是一个包含模块化包的 monorepo:
包 | 用途 |
| 守护进程、EventBus(主干)、配置、许可、设置 |
| 屏幕捕获、OCR、剪贴板监控 |
| 按住说话、Whisper 转录、词汇 |
| 键盘/鼠标活动捕获、纠正检测 |
| 项目检测和日志路由 |
| 带语义搜索的持久化键值记忆(可选) |
所有模块都向共享的 EventBus("主干")发出事件,该总线写入带有 FTS5 全文搜索的本地 SQLite 数据库。MCP 服务器是查询此数据库的只读进程。
开发
git clone https://github.com/ContextPulse/contextpulse
cd contextpulse
uv venv
.venv\Scripts\activate
uv pip install -e "packages/core[dev]" -e packages/screen -e packages/voice -e packages/touch -e packages/project
pytest packages/ -x -q参见 CONTRIBUTING.md 获取指南。
Canary 健康检查
一个 canary 脚本会调用每个暴露的 MCP 工具并报告通过/失败。它按 cron/任务计划程序计划自动运行,以便在用户遇到问题之前捕获回归。
# Run manually
python scripts/canary_health_check.py
# Verbose (shows each tool as it runs)
python scripts/canary_health_check.py --verbose
# JSON output (for CI or external monitoring)
python scripts/canary_health_check.py --json它的功能:
如果 ContextPulse 守护进程尚未运行,则自动启动它
使用最小有效参数调用所有主要 MCP 工具
打印带各服务器细分的可读摘要
将结果追加到
logs/canary_results.json(保留最近 100 次运行)如果所有工具通过则退出
0,如果任何工具失败则退出1
计划(Windows 任务计划程序):
打开任务计划程序 → 创建基本任务
触发器:每天,每 4 小时重复一次
操作:启动程序
程序:
<path-to-contextpulse>\.venv\Scripts\python.exe参数:
scripts/canary_health_check.py起始于:
<path-to-contextpulse>
许可证
ContextPulse 根据 GNU Affero 通用公共许可证 v3.0(AGPL-3.0)授权。
您可以自由使用、修改和分发 ContextPulse
如果您修改并将其作为服务部署,则必须开源您的更改
提供用于嵌入专有产品的商业许可
有关商业许可咨询,请访问 contextpulse.ai。
专利声明
ContextPulse 的统一多模态上下文交付系统正在申请专利。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityAmaintenanceA macOS utility that captures screenshots and analyzes them with AI vision, enabling AI assistants to see and interpret what's on your screen.31,5485,030MIT
- AlicenseNot gradedqualityCmaintenanceEnables Claude to remember and search everything that appeared on your screen using local OCR and embeddings. Provides tools for semantic search, activity timeline, and code change tracking.MIT
- FlicenseNot gradedqualityBmaintenanceA local autonomous AI agent that watches your screen, understands the visual layout, and executes native OS commands (clicking, typing) without cloud APIs.2
- AlicenseAqualityAmaintenanceGive your AI assistant eyes and ears — analyze any video, audio, or image, entirely on your machine.2612Apache 2.0
Related MCP Connectors
Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.
Your portable context layer — load it into any AI.
A personal RAG database you build from chat, so AI creates work that sounds like you.
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ContextPulse/contextpulse'
If you have feedback or need assistance with the MCP directory API, please join our Discord server