{"id":48340858,"url":"https://github.com/DeadWaveWave/opencove","last_synced_at":"2026-04-20T18:00:59.188Z","repository":{"id":344004329,"uuid":"1176808813","full_name":"DeadWaveWave/opencove","owner":"DeadWaveWave","description":"Your infinite canvas workspace for agents, tasks, knowledge, and research. An infinite canvas for Claude Code, Codex, terminals, tasks, and notes.","archived":false,"fork":false,"pushed_at":"2026-04-19T20:41:55.000Z","size":11621,"stargazers_count":1143,"open_issues_count":18,"forks_count":88,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-04-19T22:33:51.067Z","etag":null,"topics":["agents","ai","ai-agents","canvas","claude-code","codex","desktop-app","electron","gemini","infinite-canvas","react","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DeadWaveWave.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":"CLA.md"}},"created_at":"2026-03-09T11:56:55.000Z","updated_at":"2026-04-19T15:38:54.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/DeadWaveWave/opencove","commit_stats":null,"previous_names":["deadwavewave/opencove"],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/DeadWaveWave/opencove","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeadWaveWave%2Fopencove","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeadWaveWave%2Fopencove/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeadWaveWave%2Fopencove/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeadWaveWave%2Fopencove/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DeadWaveWave","download_url":"https://codeload.github.com/DeadWaveWave/opencove/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeadWaveWave%2Fopencove/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32059139,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T11:35:06.609Z","status":"ssl_error","status_checked_at":"2026-04-20T11:34:48.899Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agents","ai","ai-agents","canvas","claude-code","codex","desktop-app","electron","gemini","infinite-canvas","react","typescript"],"created_at":"2026-04-05T05:00:23.421Z","updated_at":"2026-04-20T18:00:59.183Z","avatar_url":"https://github.com/DeadWaveWave.png","language":"TypeScript","readme":"\u003cdiv align=\"center\"\u003e\n\n# OpenCove 🌌\n\n**An infinite canvas for Claude Code, Codex, terminals, tasks, and notes.**\n\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)\n[![Status](https://img.shields.io/badge/status-alpha-orange.svg)]()\n[![Platform](https://img.shields.io/badge/platform-macOS%20%7C%20Windows%20%7C%20Linux-lightgrey)]()\n[![简体中文](https://img.shields.io/badge/Language-%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87-blue)](./README_ZH.md)\n\nKeep every agent, terminal, task, and note on one infinite canvas.\n\nSee parallel work at a glance, keep context visible, and resume exactly where you left off.\n\n[Download the latest builds](https://github.com/DeadWaveWave/opencove/releases) · [Read the Chinese README](./README_ZH.md)\n\n\u003cimg src=\"./assets/images/opencove_header_readme.jpg\" alt=\"OpenCove Header\" width=\"100%\" /\u003e\n\n\u003c/div\u003e\n\n## 📖 What is OpenCove?\n\nOpenCove is a **spatial development workspace** for people who work with AI coding agents every day.\n\nInstead of burying work inside tabs, sidebars, and long chat threads, OpenCove puts your **AI agents**, **terminals**, **tasks**, and **notes** on the same infinite 2D canvas, so the full state of your work stays visible.\n\nIt is built for workflows like:\n\n- Running multiple `Claude Code` or `Codex` sessions side by side\n- Keeping task plans, notes, and terminal output in one shared workspace\n- Switching projects without losing layout, context, or execution history\n\n\u003cimg src=\"./assets/images/opencove_app_preview_readme.jpg\" alt=\"OpenCove App Preview\" width=\"100%\" /\u003e\n\n## ✨ Highlights\n\n- **🌌 Infinite spatial canvas**: Arrange terminals, notes, tasks, and agent sessions the way you actually think.\n- **🤖 Built for CLI agents**: Optimized for `Claude Code`, `Codex`, and similar terminal-native agent workflows.\n- **🧠 Context stays visible**: Planning, execution, and results live together instead of getting buried in linear chat history.\n- **💾 Persistent workspaces**: Restore your viewport, layout, terminal output, and agent state after restarts.\n- **🗂️ Space archives**: Snapshot and revisit previous workspace states when you need to jump back into old contexts.\n- **🖼️ Rich media and smart layouts**: Paste images, multi-select nodes, use label colors, and tidy messy boards quickly.\n- **🔍 Global search and control center**: Search across the canvas and terminal output, then manage active sessions from one place.\n- **🗂️ Workspace isolation**: Separate projects cleanly with directories and git worktrees.\n\n## 💡 Why OpenCove?\n\nOpenCove is designed around a simple idea: **agent workflows are easier to reason about when context is spatial, not hidden**.\n\n| Pain Point (Traditional) | The OpenCove Workspace |\n| :--- | :--- |\n| **Linear amnesia**: context disappears into long chat histories. | **Spatial context**: important tasks, notes, and execution stay visible on the canvas. |\n| **Single-pane bottlenecks**: tabs and split panes force constant context switching. | **Parallel execution**: compare and monitor multiple agents without losing your place. |\n| **Opaque automation**: background agent work feels like a black box. | **Transparent actions**: terminals and side effects stay visible while work is happening. |\n\n## 🚀 Getting Started\n\n*OpenCove is currently in Alpha. We recommend it for early adopters and power users who want to explore spatial AI workflows.*\n\n### Download\n\nPrebuilt binaries are available on the [GitHub Releases](https://github.com/DeadWaveWave/opencove/releases) page.\n\nAt the moment, most public builds are **nightly / prerelease builds**, which means:\n\n- You get the newest features first\n- You should expect rough edges\n- Feedback and bug reports are especially valuable\n\nDownloads are available for macOS, Windows, and Linux.\n\n\u003e **⚠️ macOS note**\n\u003e Current macOS builds are **not signed or notarized** with an Apple Developer ID. If Gatekeeper blocks the app, run this in your terminal:\n\u003e ```bash\n\u003e xattr -dr com.apple.quarantine /Applications/OpenCove.app\n\u003e ```\n\n### Building from Source\n\n#### Prerequisites\n- Node.js `\u003e= 22`\n- pnpm `\u003e= 9`\n- (Recommended) Globally install `Claude Code` or `Codex` to experience full agent workflows.\n\n#### Build Instructions\n\n```bash\n# 1. Clone the repository\ngit clone https://github.com/DeadWaveWave/opencove.git\ncd opencove\n\n# 2. Install dependencies\npnpm install\n\n# 3. Start the dev environment\npnpm dev\n```\n\n\u003e See [RELEASING.md](docs/RELEASING.md) for more packager and build documentation.\n\n### Web UI (Experimental)\n\nOpenCove includes an **experimental Worker-hosted Web UI** so you can open the canvas from a browser (including other devices on your LAN).\n\n- In **Settings → Experimental → Worker Web UI**, turn on **Enable Web UI** (optionally set a fixed port), then start the Local Worker.\n- By default it is loopback-only (`127.0.0.1`). For LAN access, enable **LAN Access** and set a Web UI password.\n- Dev note: LAN access uses the built `out/renderer` bundle (no HMR). Run `pnpm build` after UI changes.\n\nMore details:\n- `docs/CONTROL_SURFACE.md`\n- `docs/WEB_UI_TROUBLESHOOTING.md`\n\n## 🏗️ Technical Architecture\n\nOpenCove is built with modern, high-performance web standards:\n\n- **Framework**: Electron + React + TypeScript (via `electron-vite`)\n- **Canvas Engine**: `@xyflow/react` for buttery smooth infinite canvas interactions.\n- **Underlying Terminal**: `xterm.js` and `node-pty` powering full-fledged PTY runtimes.\n- **Testing**: `Vitest` and `Playwright` for robust unit and E2E regression testing.\n\n## 🤝 Contributing\n\nOpenCove is open source. We need your help to define what the IDE of the AI intelligence era should look like.\nRead our guidelines below:\n\n- [Contributing Guidelines (CONTRIBUTING.md)](./CONTRIBUTING.md)\n- [Code of Conduct (CODE_OF_CONDUCT.md)](./CODE_OF_CONDUCT.md)\n- [Support (SUPPORT.md)](./SUPPORT.md)\n- [Trademarks \u0026 Brand Guidelines (TRADEMARKS.md)](./TRADEMARKS.md)\n\n## 💬 Community Group\n\nScan the QR code below to join the OpenCove community group and chat with other users.\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"./assets/images/opencove_qrcode.png\" alt=\"OpenCove Community Group QR Code\" width=\"320\" /\u003e\n\u003c/div\u003e\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n\u003cp\u003eRedefining dev environments for the modern web.\u003cbr\u003eBuilt with ❤️ by the OpenCove Team.\u003c/p\u003e\n\n[![MIT License](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE)\n\n\u003c/div\u003e\n","funding_links":[],"categories":["🚀 AI Tools for Vim, Neovim, and Terminal"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDeadWaveWave%2Fopencove","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FDeadWaveWave%2Fopencove","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDeadWaveWave%2Fopencove/lists"}