项目简介

cubby 是一个基于 Rust 构建的桌面应用,能够实时捕获屏幕活动、进行光学字符识别 (OCR)、语音转文本 (STT),并管理外部 "Pipe" 插件。它作为一个 MCP 服务器,可以为 LLM(大型语言模型)客户端提供上下文信息和桌面交互能力,例如在屏幕上搜索文本、打开应用程序或 URL。

主要功能点

  • 桌面上下文捕获: 实时捕获屏幕截图,支持多显示器和窗口过滤。
  • 智能识别: 对捕获的图像进行 OCR (光学字符识别),提取屏幕文本;对音频进行 STT (语音转文本)。
  • 工具调用: 提供多种 LLM 可调用的工具,如在屏幕内容中搜索、打开指定应用程序、在浏览器中打开 URL。
  • Pipe 扩展: 支持加载和运行外部 JavaScript/TypeScript "Pipe" 插件,扩展功能。
  • 跨平台兼容: 支持 macOS、Windows 和 Linux 系统。
  • MCP 服务器: 通过 JSON-RPC 协议提供标准化的上下文服务,供 LLM 客户端集成。

安装步骤

  1. 安装 Bun (JavaScript 运行时): 如果您的系统中没有安装 Bun,安装脚本会自动尝试安装。确保 Bun 已正确安装并可在命令行中使用。
  2. 安装 FFmpeg (媒体处理工具): 如果您的系统中没有安装 FFmpeg,它将在首次运行时自动下载并安装到 '.local/bin' (macOS/Linux) 或应用程序目录 (Windows)。确保 FFmpeg 可用。
  3. 下载并安装 cubby CLI:
    curl -fsSL https://get.cubby.sh/cli | sh
  4. 启动本地服务器:
    cubby start
    服务器将在 'localhost:3030' 启动。

服务器配置 (供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' 工具打开一个网页。

信息

分类

桌面与硬件