openvetta /open-vetta

Open-source, local-first AI agent for coding and real work. BYOK models, MCP, skills, plugins, workflows, and private knowledge bases.

★ 300⑂ 50👁 1⑃ 15● 57▤ 19◈ 7
TypeScriptApache-2.0Created 2026-08-03www.openvetta.com
300
stars
50
forks
1
watchers
15
prs
57
issues
19
releases
7
discussions

README

Open Vetta


  面向真实工作的开源桌面 AI Agent——本地优先、可扩展,由你掌控。



  
  
  
  
  
  



  English ·
  简体中文 ·
  下载 ·
  快速开始 ·
  社区讨论 ·
  Discord ·
  参与贡献


---

Open Vetta 把模型、项目文件、本机工具和可复用能力放进同一个桌面工作区。它适用于编码、文档、数据、研究、创意生产和可重复工作流,同时让工作继续发生在你选择的环境中。

它不只是聊天界面:Vetta 能理解工作区、在可见的权限边界内调用工具、交付真实文件,并保留可供检查的执行过程。


  


 为什么选择 Open Vetta

| | 对你意味着什么 |
|---|---|
| 本地优先的工作区 | 项目、会话、文件与执行过程留在你选择的环境中。 |
| 自带模型 | 通过 BYOK 连接受支持的 Provider、OpenAI 兼容端点或本地推理服务。 |
| 真实工具与产物 | 在同一条任务流中处理代码、文档、表格、媒体、命令和生成文件。 |
| 过程可检查 | 工具调用、计划、权限、进度、结果和恢复路径都有记录。 |
| 方法可复用 | 使用技能、MCP、插件、主题、知识库、批量任务和自动化持续积累能力。 |
| 开放的客户端栈 | 桌面端、CLI、SDK、插件系统、主题、移动端与 IM 网关都在本仓库开发。 |

 从这里开始

| 我想要…… | 从这里开始 |
|---|---|
| 使用桌面应用 | 下载 macOS、Windows 或 Linux 客户端,然后完成安装与首次设置。 |
| 跑通一个真实任务 | 跟随第一个任务教程。 |
| 理解产品能力 | 阅读使用指南和安全与数据边界。 |
| 开发扩展 | 在技能、MCP、插件、主题、SDK、RPC 与 CLI之间选择正确入口。 |
| 参与代码开发 | 阅读 QUICKSTART.zh-CN.md 与 CONTRIBUTING.zh-CN.md。 |

 从源码运行

需要 Bun 1.3+ 与 Node.js 20+。

bash
git clone https://github.com/openvetta/open-vetta.git
cd open-vetta
git switch dev
bun install
cd apps/desktop
bun run dev


开发应用默认使用 ~/.vetta-dev,不会改动正式安装版位于 ~/.vetta 的数据。仓库根目录的 bun run dev 只监听核心库,不会启动 Electron。完整环境准备与检查命令见 QUICKSTART.zh-CN.md。

 可以用它做什么

- 在项目和会话中工作。 把任务历史、文件、上下文、产物和执行详情放在一起。
- 使用本机与外部工具。 运行命令、检查文件、连接 MCP 服务,并显式批准敏感操作。
- 处理专业产物。 预览和处理源码、PDF、Office 文件、表格、图片、音视频、SVG 与生成式 UI。
- 放大已经跑通的任务。 用批量任务处理多个目录,或把稳定流程交给自动化定时执行。
- 复用组织知识。 建立本地知识库,安装可复用的技能。
- 离开电脑也能继续。 使用受支持的 IM 桥接、Webhook、通知、快捷输入和桌面原生集成。

公开文档持续维护当前任务指南与截图:浏览全部产品能力。

 扩展模型

Vetta 提供不同重量的扩展入口,简单流程不必被做成完整插件:

| 扩展 | 适合做什么 | 指南 |
|---|---|---|
| 技能 | 让 Agent 遵循可重复的领域方法或工作流。 | 能力管理 |
| MCP | 通过标准协议连接外部工具与数据。 | MCP 连接器 |
| 插件 | 扩展桌面 UI、文件、消息、工具与宿主动作。 | 插件开发 |
| 主题 | 替换视觉系统并提供主题专属页面。 | 主题开发 |
| SDK / RPC / CLI | 在其他应用或进程中嵌入、驱动 Agent。 | 开发与集成路径 |

插件通过 plugin.json 声明能力;高权限操作由宿主授权,并在运行时再次检查。插件运行在桌面渲染进程中,应被视为经过策展的代码,而不是任意代码沙箱。分发插件前请阅读插件信任与权限模型。

 数据与构建模式

源码检出默认生成 lite 构建,不依赖 Vetta 运营的后端:不要求账号、订阅、远程管理或托管市场。模型请求直达你配置的端点,凭据保存在本地凭据存储中。

官方安装包可能启用可选的 Vetta Serv 集成,用于账号、订阅和托管市场。该能力在构建期选择,不会在 lite 构建中被静默打开。

本地优先不等于完全没有网络流量。模型 Provider、MCP、插件、Webhook、IM、更新源和可选遥测分别形成自己的数据边界。使用前请阅读:

- 安全与数据边界
- 配置与数据路径
- 构建模式与环境变量
- 安全策略

 仓库结构

本仓库是 Bun/TypeScript Monorepo,同时包含 Kotlin 与 Go 应用。依赖从应用指向可复用包,packages/ 不反向依赖 apps/。

| 范围 | 职责 |
|---|---|
| apps/desktop | Electron 桌面宿主与渲染层 |
| apps/cli-host | Coding Agent 的 CLI 宿主 |
| apps/docs-site | 发布到 docs.openvetta.com 的 Next.js 文档站 |
| apps/mobile/client-apple | Swift/SwiftUI 原生 iOS 客户端 |
| apps/mobile/client-android | Kotlin Multiplatform Android 客户端(冻结在协议 v1) |
| apps/im-gateway | Go 编写的 IM 旁路网关 |
| packages/ai · packages/agent | Provider 抽象与 Agent Loop |
| packages/coding-agent · packages/runtime- | 产品组合、运行时合同、工具、存储、MCP 与宿主适配 |
| packages/plugins · packages/themes | 扩展 SDK、内置扩展与主题 |

架构细节与公共集成合同见开发者架构文档和 docs/adr/。

 开发与贡献

统一使用 Bun 和仓库脚本;不要在这个 Monorepo 中运行裸 bun test。

bash
bun run check:quick               检查改动文件与架构边界
bun run check                     完整 lint、类型和架构守卫
bun run test:pkg    定向包测试
bun run test:changed              运行当前 diff 影响的测试


Pull Re

Top issues

Discussions

Latest release

Vetta 0.5.75 v0.5.75 2026-11-11
Vetta 0.5.75


 新增

- 新增「从 Git 仓库导入」:填入仓库地址并选好存放目录,Vetta 会把仓库克隆到本机并自动作为项目打开;克隆中可随时停止,失败时会显示 Git 给出的原因。需要本机已安装 Git,且暂不弹出账号密码输入,私有仓库请先在系统里配好凭据或 SSH 密钥。
- 新增「管理会话」:在项目上右键,或点侧栏「对话」区右上角的「更多」,选「管理会话」会打开一个居中面板,可以搜索会话;「对话」下有标签时,顶部会固定一排标签页,按 Tab 在其间切换并只看该标签的会话;带标签的会话在行首以标签色点代替图标;鼠标悬停时行尾有「更多」按钮,不用键盘也能打开更多操作;用 Control + X 直接删除选中的会话(不再逐条确认,删完选中项停在相邻一行,可连续删;只有被「同一会话」自动化绑定的会话仍会先确认),用 Control + K 打开更多操作(重命名、置顶、在访达中打开、移动到标签,标签只对「对话」里的会话提供),底部的「清空全部」可清空该项目或「对话」下的全部会话,有会话在运行时不可用。Claw 记录仍是只读,只能置顶、在访达中打开或清空。
- 新增「版本介绍」:设置 → 通用 → 应用更新一行的「版本介绍」按钮,或「已是最新」对话框里的「查看版本介绍」,可查看当前正在运行版本的更新说明;说明随安装包一起带上,离线也能看,内容与 GitHub Rel

Snapshot: 2026-11-11T15:31:17Z · Data license Apache-2.0 · JSON