项目简介
cubby 是一个基于 Rust 构建的桌面应用,能够实时捕获屏幕活动、进行光学字符识别 (OCR)、语音转文本 (STT),并管理外部 "Pipe" 插件。它作为一个 MCP 服务器,可以为 LLM(大型语言模型)客户端提供上下文信息和桌面交互能力,例如在屏幕上搜索文本、打开应用程序或 URL。
主要功能点
- 桌面上下文捕获: 实时捕获屏幕截图,支持多显示器和窗口过滤。
- 智能识别: 对捕获的图像进行 OCR (光学字符识别),提取屏幕文本;对音频进行 STT (语音转文本)。
- 工具调用: 提供多种 LLM 可调用的工具,如在屏幕内容中搜索、打开指定应用程序、在浏览器中打开 URL。
- Pipe 扩展: 支持加载和运行外部 JavaScript/TypeScript "Pipe" 插件,扩展功能。
- 跨平台兼容: 支持 macOS、Windows 和 Linux 系统。
- MCP 服务器: 通过 JSON-RPC 协议提供标准化的上下文服务,供 LLM 客户端集成。
安装步骤
- 安装 Bun (JavaScript 运行时): 如果您的系统中没有安装 Bun,安装脚本会自动尝试安装。确保 Bun 已正确安装并可在命令行中使用。
- 安装 FFmpeg (媒体处理工具): 如果您的系统中没有安装 FFmpeg,它将在首次运行时自动下载并安装到 '.local/bin' (macOS/Linux) 或应用程序目录 (Windows)。确保 FFmpeg 可用。
- 下载并安装 cubby CLI:
curl -fsSL https://get.cubby.sh/cli | sh - 启动本地服务器:
服务器将在 'localhost:3030' 启动。cubby start
服务器配置 (供MCP客户端参考)
MCP服务器会在 'http://localhost:3030/mcp' 提供服务。您的 MCP 客户端需要配置以下信息以连接到 'cubby' 服务器:
- 服务器名称 (server_name): 一个描述性的名称,例如 "Cubby Local MCP Server"。
- 启动命令 (command): 启动 'cubby' 服务器的命令行程序,例如 'cubby'。
- 启动参数 (args): 传递给启动命令的参数,例如 '["start"]'。
- MCP 端点 (endpoint): 服务器暴露 MCP 服务的 URL,例如 'http://localhost:3030/mcp'。
- 描述 (description): 对服务器功能进行简要描述。
- 可用工具 (tools): 一个列表,包含服务器向 LLM 客户端暴露的所有工具。每个工具包括 'name'(工具名称)和 'description'(工具用途描述),例如:
- 'search-content': 在屏幕 OCR 文本、音频转录、UI 元素中进行搜索。
- 'open-application': 按名称打开应用程序(仅限 macOS)。
- 'open-url': 在浏览器中打开指定 URL(跨平台)。 客户端应根据这些配置信息来初始化与 'cubby' MCP 服务器的连接,并利用其提供的功能与桌面环境进行交互。
基本使用方法
一旦 'cubby' 服务器启动,您就可以配置任何支持 MCP 协议的 LLM 客户端(例如 Claude Desktop)来连接到 'http://localhost:3030/mcp'。LLM 将能够发现并调用 'search-content', 'open-application', 'open-url' 等工具,从而实现与桌面环境的交互。例如,LLM 可以通过 'search-content' 工具查找屏幕上的特定信息,然后通过 'open-url' 工具打开一个网页。
信息
分类
桌面与硬件