openyak/openyak

One chat. Every agent. A universal interface for AI agents running on your computer.

OpenYak – A local desktop workspace for AI agents

What it is

  • OpenYak is an open‑source desktop application (Electron + React) that lets you chat with large‑language‑model‑backed agents such as Codex and Claude Code while keeping all files, transcripts, and project state on your own machine.
  • It is not a model‑hosting service; you still need a working Codex or Claude Code runtime (the official CLI tools) and the corresponding account credentials.

Key capabilities

Feature What you get
Persistent conversation workspace Projects, tasks and chat transcripts are stored locally in a SQLite database, so you can revisit or switch agents without losing context.
Native runtime integration OpenYak talks directly to the official Codex App Server or Claude Agent SDK via stdio. An optional ACP compatibility layer is also supported.
File‑centric workflow When an agent references a file, OpenYak opens it in a persistent tab. It can render Markdown, HTML (sandboxed), PDFs, DOCX and syntax‑highlighted source code.
Shared browser view Using Playwright MCP and a dedicated Chrome instance, both the user and the agent can control the same web page. Taking control pauses the agent; releasing it hands the page back.
Cross‑platform UI Light/dark themes, resizable panels, macOS Dock icon and a menu‑bar shortcut. (Linux/Windows support is still in alpha.)
Extensible architecture The front‑end lives in app/ (Electron + React). Core data handling and runtime event normalization live in core/ (Rust + SQLite). Documentation describes the runtime contracts and the core‑protocol used between the two.

How to run it locally

  1. Install Node 26 and Rust 1.90 (the repo pins exact versions; mise install can set them up automatically).
  2. Clone the repo, run npm install, then npm run dev. This builds the Rust core, starts Electron, and enables hot‑reload.
  3. Point the app at your local Codex or Claude binaries via the environment variables OPENYAK_CODEX_BIN / OPENYAK_CLAUDE_BIN. Optionally set OPENYAK_DATA_DIR for an isolated workspace or OPENYAK_AGENT_TRANSPORT=acp to use the compatibility adapter.

What’s under the hood

  • app/ – Electron shell plus a React UI that shows the chat, file workbench, and shared‑browser panel.
  • core/ – Rust library that stores projects, tasks and transcripts in SQLite and normalizes events coming from the agent runtimes.
  • Docs – Architecture, runtime contracts, shared‑browser design and CI workflow are all documented in the docs/ folder.

Current status

  • The project is at v2 alpha. Core features work, but installers, full Windows/Linux validation, and broader agent support are still in progress.
  • The UI can render files and display a shared browser, but full computer‑use tooling (e.g., native desktop control) is not yet bundled.

License

  • Apache‑2.0.

All details above are taken directly from the repository’s README; no additional features are inferred.

Related

  • Project
  • Project
  • Project
  • Project
  • Project