openyak/openyak
One chat. Every agent. A universal interface for AI agents running on your computer.
OpenYak – 用于 AI 代理的本地桌面工作区
它是什么
- OpenYak 是一个开源桌面应用程序 (Electron + React),让您能与由大型语言模型支持的代理(如 Codex 和 Claude Code)进行对话,同时将所有文件、对话记录和项目状态保留在您自己的机器上。
- 它不是模型托管服务;您仍然需要一个可运行的 Codex 或 Claude Code 运行环境(官方 CLI 工具)以及对应的账户凭证。
主要功能
| 功能 | 您将获得什么 |
|---|---|
| 持久化对话工作区 | 项目、任务和对话记录存储在本地的 SQLite 数据库中,因此您可以重新访问或切换代理而不会丢失上下文。 |
| 原生运行环境集成 | OpenYak 通过 stdio 直接与官方 Codex App Server 或 Claude Agent SDK 通讯。亦支持选用的 ACP 兼容层。 |
| 以文件为中心的工作流程 | 当代理参考文件时,OpenYak 会在持久化标签页中打开它。它可以渲染 Markdown、HTML (沙盒化)、PDF、DOCX 和语法高亮的源代码。 |
| 共享浏览器视图 | 使用 Playwright MCP 和专用的 Chrome 实例,用户和代理皆可控制同一个网页。取得控制权会暂停代理;释放控制权则将页面交还。 |
| 跨平台 UI | 浅色/深色主题、可调整大小的面板、macOS Dock 图标和菜单栏快捷方式。(Linux/Windows 支持仍在 alpha 阶段。) |
| 可扩展架构 | 前端位于 app/ (Electron + React)。核心数据处理和运行环境事件标准化位于 core/ (Rust + SQLite)。文档描述了运行环境合约以及两者之间使用的 core-protocol。 |
如何在本地执行
- 安装 Node 26 和 Rust 1.90(仓库锁定了确切版本;
mise install可以自动设置它们)。 - 克隆仓库,运行
npm install,然后运行npm run dev。这会构建 Rust 核心、启动 Electron 并启用热重载。 - 通过环境变量
OPENYAK_CODEX_BIN/OPENYAK_CLAUDE_BIN将应用程序指向您的本地 Codex 或 Claude 二进制文件。可选设置OPENYAK_DATA_DIR以建立隔离的工作区,或设置OPENYAK_AGENT_TRANSPORT=acp以使用兼容性适配器。
技术细节
app/– Electron 外壳加上 React UI,显示对话、文件工作台和共享浏览器面板。core/– Rust 库,将项目、任务和对话记录存储在 SQLite 中,并标准化来自代理运行环境的事件。- Docs – 架构、运行环境合约、共享浏览器设计和 CI 工作流程皆记录在
docs/文件夹中。
目前状态
- 项目处于 v2 alpha 阶段。核心功能可运行,但安装程序、完整的 Windows/Linux 验证以及更广泛的代理支持仍在进行中。
- UI 可以渲染文件并显示共享浏览器,但完整的计算机使用工具(例如原生桌面控制)尚未整合。
授权
- Apache-2.0。
以上所有细节均直接取自仓库的 README;未推断任何额外功能。
相关
- 项目
- 项目
- 项目
- 项目
- 项目