Skip to main content
Glama

Capyra

让对话中的想法,在你自己的电脑上发生。

轻量、可组合的本机 AI 能力平台,为 ChatGPT 和其他 MCP 客户端提供工作区、文件、终端、Git、桌面控制、编码代理与插件能力。

License: MIT Node.js MCP Version

快速开始 · 连接 ChatGPT · 插件开发 · 安全模型 · 开发文档

Capyra 是什么

Capyra 在本机运行一个 MCP 服务和一个浏览器工作台。AI 客户端提出请求,Capyra 在你选择的工作区内执行,并按照本机设置进行逐次确认或自动批准。文件、命令、Git 状态和任务结果保留在你的电脑上;只有获准返回的内容会发送给客户端。

它适合这些场景:

  • 让 ChatGPT 浏览、搜索和修改本机项目。

  • 运行命令、交互终端和持续时间较长的任务。

  • 查看 Git 差异、历史和隔离 worktree。

  • 通过截图与鼠标键盘工具,让 ChatGPT 直接观察和操作 macOS 桌面。

  • 从同一个对话派发并继续 Codex、Claude、OpenCode、Pi、Cursor、Copilot 或 Grok 编码代理。

  • 用自然语言创建、检查、安装和组合 Capyra 插件。

  • 通过 stdio、本机 HTTP、Cloudflare Tunnel 或自托管固定 Relay 接入 MCP 客户端。

Related MCP server: Kastor

主要能力

模块

能力

工作区

注册多个目录、系统文件夹选择器、按对话绑定和切换工作区

文件

目录浏览、内容/路径搜索、分页读取、图片读取、SHA 前置条件、精确编辑、补丁、移动和上传

终端

命令执行、后台会话、分页输出、stdin、中断、取消和可选 PTY

桌面控制

macOS 主显示器截图、Retina 坐标映射、鼠标键盘与操作后截图;默认禁用

Git

状态、差异、历史、文件恢复、worktree、审阅快照和历史审阅恢复

项目上下文

根与嵌套规则、AGENTS/CLAUDE 指令、Skills 发现与资源读取

编码代理

多提供者角色、任务派发、后台进程、原生会话继续、结果和原始输出

插件

manifest、权限、依赖、配置、启停、资源释放、外部 MCP 与替换式存储/策略/UI

连接

OAuth、批准、撤销、暂停、Quick/Named Tunnel、固定 Relay 与分层诊断

快速开始

环境要求

  • Node.js 22.16 或更新版本。

  • npm 10 或更新版本。

  • Git;只使用文件和终端功能时可选。

从源码运行

git clone https://github.com/dxeledx/capyra.git
cd capyra
npm ci
npm run build
node dist/cli.js init
node dist/cli.js start --open

init 会在当前目录创建 capyra.json。start --open 启动 MCP 服务并打开带一次性本机认证的管理工作台:

  • 本机工作台:http://127.0.0.1:4318

  • MCP:http://127.0.0.1:4317/mcp

重新打开正在运行的工作台:

node dist/cli.js open

安装为全局命令:

npm install -g .
capyra init
capyra start --open

Capyra 尚未发布到 npm registry。请从本仓库源码安装;registry 中的同名包不代表本项目。

第一次使用

  1. 在顶部工作区菜单打开“管理工作区”。

  2. 点击“选择文件夹”,在系统目录面板中选择项目,然后注册。

  3. 在“插件组合”中启用需要的能力并检查权限。

  4. 打开“连接 ChatGPT”,复制固定 MCP 地址并完成一次 OAuth 授权。

  5. 默认个人模式会自动执行正常请求;多人共用 ChatGPT 账号时,再开启“共享账号保护”。

每个 ChatGPT 对话第一次调用 Capyra 时绑定当时的工作区。本机切换默认工作区只影响以后建立的对话;已有对话继续使用原项目。要改变当前对话,直接让 Capyra 列出并选择工作区,无需 reconnect 或新开对话。

连接 ChatGPT

ChatGPT 需要能够访问一个 HTTPS MCP 地址。Capyra 提供以下方式:

方式

适用场景

地址稳定性

Cloudflare Quick Tunnel

最快体验,不需要 Cloudflare 账号

重新建立后可能变化

自托管固定 Relay

长期使用;Relay 主动转发到本机

每台设备固定

Cloudflare Named Tunnel

已有域名和 Cloudflare 配置

固定

stdio

本机 MCP 客户端

不使用公网地址

Quick Tunnel

在工作台的“连接 ChatGPT”中选择“快速直连”,让 Capyra 下载并校验官方 cloudflared,然后启动连接。页面会给出连接名称、HTTPS MCP 地址和认证方式。

在 ChatGPT 中启用开发者模式并添加自定义应用:

  1. 名称填写 Capyra。

  2. MCP 地址粘贴工作台生成的 HTTPS 地址。

  3. 认证方式选择 OAuth。

  4. 回到本机工作台批准首次连接。

  5. 在对话中选择 Capyra 并发送:“请使用 Capyra 浏览当前工作区,并告诉我有哪些文件。”

Quick Tunnel 的地址可能变化。地址不变时继续使用原连接;地址变化时更新 ChatGPT 中的应用连接。

固定 Relay

sites-relay/ 提供自托管固定入口的参考实现。它使用 D1 保存设备公钥、短时请求和防重放随机数;设备私钥、OAuth 令牌、工作区数据和批准操作留在本机。部署后,在工作台填写 Relay 首页地址和管理员生成的设备接入码。

Relay 地址、接入码和托管项目 ID 不包含在仓库中。详见固定连接说明和 Relay 部署说明。

本机 MCP 客户端

node /absolute/path/to/capyra/dist/cli.js start \
  --stdio \
  --workspace /path/to/project

stdio 模式只在 stdout 输出 MCP 协议;状态写入 stderr。stdin 关闭后实例会释放资源。

工作原理

flowchart LR
  Client[ChatGPT / MCP 客户端] -->|OAuth + MCP| MCP[MCP 服务 :4317]
  Browser[本机浏览器] -->|一次性入口 + HttpOnly 会话| Console[管理工作台 :4318]
  Console --> Runtime[Capyra Runtime]
  MCP --> Policy[授权与批准]
  Policy --> Runtime
  Runtime --> Plugins[插件与服务]
  Plugins --> Workspace[本机工作区]
  Plugins --> Terminal[终端 / Git / 编码代理]

MCP 入口与本机管理入口分别监听。公网连接只转发 MCP 与 OAuth 所需路由,不能调用批准设置或替用户批准请求。

批准与结果

  • 个人模式(默认):完成一次 OAuth 连接授权后自动执行正常请求;仍受工作区、插件权限、暂停和撤销约束。

  • 共享账号保护:一键开启后,读取、搜索、目录、命令和历史结果逐项在本机批准。

  • 仅留本机:任务可以执行,但完整结果不返回客户端。

  • 暂停与撤销:暂停拒绝新请求并中断远程后台任务;撤销使对应 OAuth 令牌和请求失效。

本机“更多功能 → 安全与授权”会列出每条 OAuth 连接,可以添加本机备注、查看创建时间/最后访问/请求数,并单独暂停、恢复或撤销。ChatGPT 不会把登录邮箱或 OpenAI 账号 ID 提供给 MCP 服务,因此备注用于区分个人、工作等连接,不能视为经过 OpenAI 验证的账号身份。

个人模式无法区分共享同一个 ChatGPT 账号的不同操作者。共享账号场景应开启“共享账号保护”,并在不使用时暂停或撤销连接。账号与设备认证继续作为可选高级插件,默认不启用。

插件开发

内置功能和外部插件使用同一套 API v1。插件可以注册工具、服务、指令和资源,并声明权限、依赖、配置 schema 与释放逻辑。

capyra plugin create paper-organizer \
  --prompt "按年份和主题整理论文,并生成索引"

capyra plugin spec --json
capyra plugin validate ./capyra-plugins/paper-organizer --json
capyra plugin install ./capyra-plugins/paper-organizer
capyra plugin enable paper-organizer

新插件安装后默认禁用。启用前由本机用户检查 manifest、权限和配置。可运行示例:

完整契约见插件开发指南。

用户明确要求安装和启用后,ChatGPT 可以在同一对话里完成预检、安装、授权与启用,不需要用户执行终端命令。若改动的是 Capyra 宿主自身,plugin-dev__host_update 会在本机逐次确认后安装精确 SHA-256 的本地包,短暂重启同一实例,并在失败时恢复旧包;原对话通过固定 MCP 地址继续。

编码代理

capyra agents targets
capyra agents run codex --prompt "Read the project and explain its structure"
capyra agents ls
capyra agents show AGENT_ID
capyra agents continue AGENT_ID --prompt "Continue the previous task"
capyra agents daemon status

代理提供者需要相应客户端、SDK 或合法登录。模型调用可能消耗提供者额度;Capyra 不附带第三方账号或 API Key。详见代理运维。

桌面控制(Computer Use)

在本机工作台打开“桌面控制”,添加 computer 内置插件,配置所需的 computer:read / computer:execute 权限,再在插件组合中启用。已有配置不会自动开放桌面权限。

ChatGPT 通过四个 MCP 工具形成视觉操作闭环:computer__prepare 明确准备本机组件,computer__status 检查环境,computer__screenshot 返回原生图片与坐标元数据,computer__act 根据最新截图执行一组鼠标键盘操作并返回新的截图。桌面控制本身不需要额外模型 API Key。用户要求安装和使用后,ChatGPT 可以通过 plugin-dev__install_builtin 完成受控安装、授权和启用,不需要用户执行终端命令。

当前实现面向 macOS 14 或更新版本的主显示器,需要本机编译工具与系统屏幕录制、辅助功能权限。首次准备原生组件、截图和键鼠操作分别受 computer:prepare、computer:read 与 computer:execute 控制;截图和动作默认跟随工作台的逐次确认或自动批准设置,也可由本机单独改为每次确认。桌面操作不受项目目录限制;截图可能包含其他应用的信息。安装、权限、工具示例与验收步骤见桌面控制指南。

安全模型

Capyra 运行在你的操作系统账号权限下,因此应把它当作本机开发工具:

  • 本机工作台使用一次性启动链接、HttpOnly cookie、Host 与同源检查。

  • OAuth、Capyra 账号、设备绑定和具体任务批准属于不同安全层。

  • 文件工具拒绝目录穿越、受保护配置、符号链接和硬链接别名。

  • 写入支持 SHA 前置条件,避免覆盖读取后已经变化的文件。

  • 远程请求在批准前不读取文件敏感预览;断连、超时和撤销会使批准失效。

  • 原生插件、命令和编码代理拥有当前系统用户可用的权限,批准前应检查目录、命令和内容。

  • 桌面控制可触及当前桌面的其他应用;会话与工作区隔离用于工具状态归属,不构成桌面沙箱。

  • 密钥、配置、任务状态与设备私钥存放在私有 .capyra/,不得提交到 Git。

漏洞报告方式见 SECURITY.md,实现边界见安全设计。

配置

默认配置文件是当前目录的 capyra.json。常用命令:

capyra init
capyra doctor
capyra start --open
capyra start --compact
capyra start --tunnel cloudflare
capyra local

CLI 完整列表:

capyra --help

项目结构

src/            核心运行时、插件、连接、身份和 MCP 传输
public/         本机浏览器工作台
tests/          Node 测试与协议/安全回归
examples/       外部插件与替换式服务示例
schemas/        插件 manifest JSON Schema
cloud/          可选账号与设备服务
sites-relay/    可选固定设备 Relay
docs/           使用、扩展和安全文档

开发

npm ci
npm run build
npm test
npm run check

提交补丁前请阅读 CONTRIBUTING.md。TypeScript 构建输出位于 dist/,不提交到仓库。

开发文档

项目状态

Capyra 仍处于 0.x 阶段,插件 API 为 v1。macOS 是当前主要开发环境;通用功能具有 Windows 和 Linux 代码路径,桌面控制目前仅实现 macOS 后端。跨平台发布前仍需要更多真实设备反馈。

项目的产品能力参考 DevSpace,插件化方向参考 DeepSeek Harness。Capyra 的实现、接口与用户体验均为独立设计。

贡献与许可证

欢迎提交 Issue 和 Pull Request。请勿在 Issue、日志或示例中附带真实令牌、私钥、设备地址或工作区内容。

Capyra 使用 MIT License。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Lets ChatGPT or MCP clients work with files on your machine, with tools for reading, editing, searching, git operations, and safety checks.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables ChatGPT or any MCP client to operate safely on a designated workspace by listing, reading, searching, writing, and trashing files, inspecting Git status/log/diff, and optionally running allowlisted executables without a shell.
    Apache 2.0
  • A
    license
    A
    quality
    B
    maintenance
    Connects ChatGPT to a local developer workspace through MCP, enabling bounded repository analysis, file and image inspection, direct edits, command verification, and Git-aware review.
    22
    MIT