{"data":{"slug":"openyak-openyak","name":"openyak","tagline":"Open-source local-first AI agent for desktop work","github_url":"https://github.com/openyak/openyak","owner":"openyak","repo":"openyak","owner_avatar_url":"https://avatars.githubusercontent.com/u/269497421?v=4","primary_language":"TypeScript","stars":708,"forks":61,"topics":["acp","agent","agent-client-protocol","agentic-ai","ai-agent","claude-code","codex","desktop-application","electron","local-first","open-source","rust"],"archived":false,"github_pushed_at":"2026-09-05T03:12:28+00:00","maintenance_label":"Active","stars_delta_30d":4,"url":"https://www.graphcanon.com/tools/openyak-openyak","markdown_url":"https://www.graphcanon.com/tools/openyak-openyak.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/openyak-openyak","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=openyak-openyak","description":"One chat. Every agent. A universal interface for AI agents running on your computer.","homepage_url":"https://open-yak.com/","license":"Apache-2.0","open_issues":9,"watchers":7,"ai_summary":"A privacy-focused, self-hosted Python-based tool that supports local integration of large language models and alternative provider keys for coding assistance on the desktop.","readme_excerpt":"<p align=\"center\"><img src=\"brandkit/banners/readme-dark.png\" alt=\"OpenYak — One chat. Every agent.\" /></p>\n\n<p align=\"center\">\n  <a href=\"README.zh-CN.md\">简体中文</a> · <a href=\"#run-locally\">Run locally</a> · <a href=\"docs/native-agent-runtime.md\">Runtime architecture</a> · <a href=\"CONTRIBUTING.md\">Contribute</a>\n</p>\n<p align=\"center\">\n  <img src=\"https://img.shields.io/badge/status-v2%20alpha-orange?style=flat-square\" alt=\"v2 alpha\" />\n  <a href=\"LICENSE\"><img src=\"https://img.shields.io/badge/license-Apache--2.0-blue?style=flat-square\" alt=\"Apache-2.0\" /></a>\n</p>\n\n**Your agents. Your conversation. One desktop workspace.**\n\nOpenYak is a local desktop GUI for Codex and Claude Code. Keep the conversation, inspect the files, and work alongside your agent in a shared browser—without making the terminal your workspace.\n\n> **This is v2, on `main`, and still alpha.** The original v1 is preserved on [`legacy/v1`](https://github.com/openyak/openyak/tree/legacy/v1) and in the [v1.5.0 release](https://github.com/openyak/openyak/releases/tag/v1.5.0). OpenYak integrates supported runtime interfaces; it does not reproduce every private feature of Codex Desktop or Claude Desktop.\n\n## See the work, not just the answer\n\n\n\n*Real OpenYak v2, dark mode. The fictional Orbit project is isolated demo data; Codex generated the report during capture.*\n\n- **A conversation that stays yours.** Projects, tasks, and transcripts live locally. Switch providers within a task; OpenYak replays conversation context, not a provider's private internal state.\n- **Native runtimes by default.** Codex App Server and Claude Agent SDK drive the agents. ACP remains an explicit compatibility option.\n- **Files you can actually open.** Persistent tabs for Markdown, HTML, PDF, DOCX, and syntax-highlighted code.\n- **Visible progress and decisions.** Streaming activity, runtime-reported subagents, scoped approvals, and structured questions.\n- **A browser you can share.** Watch the agent, take control of the same page, then return control.\n- **A desktop home.** Light and dark appearance, resizable workbench panels, a macOS Dock icon, and a menu-bar shortcut.\n\n## Files are part of the conversation\n\n\n\nOpen file references directly from a response. Read Markdown as a document, preview sandboxed HTML, view PDFs and DOCX documents, or inspect code with highlighting and line numbers. Opening another file keeps existing tabs available.\n\nThe runtime boundary normalizes supported structured artifact and file outputs; the frontend does not need to guess tool names or turn arbitrary code blocks into artifacts. Ordinary file references are resolved through a separate file-opening path.\n\n*The dashboard above is a hand-authored fixture rendered by the real app—not a generated screenshot or a claim that the agent built the dashboard.*\n\n## Pick the runtime, keep the workspace\n\n\n\nUse your existing provider authentication. Choose the models and session options the runtime exposes, without copying private Desktop system prompts into OpenYak.\n\n| Provider | Default integration | Optional compatibility path |\n| --- | --- | --- |\n| Codex | Native App Server over stdio | Codex ACP adapter |\n| Claude Code | Claude Agent SDK driving its CLI | Claude ACP adapter |\n\nModel availability, usage limits, and provider features depend on your account and installed runtime versions. OpenYak does not supply model access.\n\n## Browse together\n\n\n\nThe shared browser uses Playwright MCP and a dedicated Chrome session. The agent and the user operate the same page. Taking control blocks new agent browser actions and waits for in-flight work; resuming returns browser access without sending another chat prompt.\n\nThe panel uses lossless HiDPI frames. It is a shared remote view, not an embedded native browser or a promise of 60 fps. The pictured flow was exercised through Codex in the real GUI. External computer-use tools and native desktop control are separate capabilities; this screenshot does not certify those integrat","github_created_at":"2026-03-20T18:51:13+00:00","created_at":"2026-07-15T10:58:54.350084+00:00","updated_at":"2026-09-20T05:01:13.263921+00:00","categories":[{"slug":"ai-agents","name":"AI Agents","url":"https://www.graphcanon.com/categories/ai-agents","markdown_url":"https://www.graphcanon.com/categories/ai-agents.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/ai-agents"},{"slug":"developer-tools","name":"Developer Tools","url":"https://www.graphcanon.com/categories/developer-tools","markdown_url":"https://www.graphcanon.com/categories/developer-tools.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/developer-tools"}],"tags":[{"slug":"code-assistant","name":"code-assistant"},{"slug":"desktop-agent","name":"desktop-agent"},{"slug":"local-llm","name":"local-llm"},{"slug":"open-source","name":"open-source"}],"trust":{"provenance":{"is_fork":false,"github_id":1187461911,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-09-20T05:01:11.226Z","maintenance":{"label":"Active","score":82,"methodology":"github_public_v1","releases_90d":3,"days_since_push":15,"last_release_at":"2026-08-05T18:33:56Z","stars_delta_30d":4,"open_issues_delta_30d":-21},"security_summary":{"status":"findings","scanner":"osv@v1","low_count":29,"high_count":0,"last_scan_at":"2026-07-19T04:00:25.608Z","medium_count":0,"scan_profile":"deps","critical_count":0}},"capability_facts":{"mcp":{"source":"repo_scan","observed_at":"2026-09-20T05:01:12.269Z","server_manifest":false},"scan":{"source":"repo_scan","observed_at":"2026-09-20T05:01:12.269Z"},"languages":{"value":["typescript","javascript"],"source":"github.language+package.json","observed_at":"2026-09-20T05:01:12.269Z"},"license_spdx":{"value":"Apache-2.0","source":"github.license","observed_at":"2026-09-20T05:01:12.269Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":null,"constraints":null,"when_to_use":["When you need coding assistance from an AI on your desktop without relying on cloud services","If you require a self-hosted solution to handle sensitive or proprietary code in offline mode"],"when_not_to_use":["Avoid if you have high computational demands that cannot be met by local resources such as limited GPU power"],"source":"enrich:decision_facts","observed_at":"2026-07-17T12:26:20.181Z"},"constraint_facets":null,"decision_summary":[{"label":"Adopt for","value":"Openyak is an open-source AI agent designed for desktop work that emphasizes local deployment and privacy, integrating with various large language models."}]}}