[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-11710":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":9,"rankLanguage":9,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":9,"pushedAt":9,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":15,"starSnapshotCount":15,"syncStatus":13,"lastSyncTime":29,"discoverSource":30},11710,"hermes-desktop-os1","nickvasilescu\u002Fhermes-desktop-os1","nickvasilescu","Hermes Desktop - OS1 Edition: native macOS workspace for Hermes Agent on Orgo cloud computers and SSH hosts",null,"Swift",469,89,2,3,0,5,7,98,15,5.86,"MIT License",false,"main",true,[],"2026-06-12 02:02:33","# Hermes Desktop - OS1 Edition\n\n> **OS1 by Element Software** · powered by Orgo · forked from Hermes Desktop\n\nA native macOS interface for an AI agent that lives in a cloud computer.\nInspired by *Her* (2013): warm coral on cream, thin type, calm motion.\n\nProvision a cloud computer, hand it to the agent, and stay in one\nfocused workspace: sessions, kanban, files, skills, cron jobs, and a\nreal terminal. The infrastructure is Orgo; the agent on it is Hermes.\nThe product you touch is OS1.\n\n## What you get\n\n- **Cloud computers, end to end**: paste your API key once, pick a\n  workspace, pick a computer (or create one), save. The app talks\n  directly to the platform's HTTP API and the per-VM websocket\n  terminal — no SSH, no gateway, no helper service on the VM.\n- **One-click agent install** on a fresh computer. The first time you\n  open the workspace and the agent isn't there, the Overview screen\n  surfaces an \"Install Hermes Agent\" button. ~60–90 seconds later\n  Sessions, Kanban, Files, Skills, and Cron all populate.\n- **Real interactive shell** over the per-VM terminal websocket.\n  Bytes stream in real time; resize works; output and history reflow\n  cleanly.\n- **SSH connections still supported** for hosts you reach over SSH\n  today. Same flow as the upstream Hermes Desktop fork OS1 was built\n  on.\n- **Everything else** from the foundation: native Sessions browser\n  with full-text search, Kanban board, file editor with conflict\n  checks, skills viewer, cron job manager, profile-aware paths,\n  English \u002F Simplified Chinese \u002F Russian localization scaffolding.\n\n## Requirements\n\n- macOS 14 or newer (Apple Silicon or Intel — universal build)\n- One of:\n  - An **Orgo account** with an API key (the cloud-computer infra\n    powering OS1 — get a key at\n    [orgo.ai\u002Fsettings\u002Fapi-keys](https:\u002F\u002Fwww.orgo.ai\u002Fsettings\u002Fapi-keys)),\n    OR\n  - A host you already reach with `ssh` from this Mac without\n    interactive prompts (same flow as upstream Hermes Desktop)\n\nFor cloud computers, the app handles VM provisioning, agent\ninstallation, and the websocket terminal automatically. For SSH\nconnections, the host needs `python3` on the non-interactive SSH PATH\nand Hermes already installed.\n\n## Install\n\nDownload the latest `OS1.app.zip` from the GitHub Releases page,\nunzip it, drag `OS1.app` into `\u002FApplications`, and launch.\n\nThe build is universal (Apple Silicon + Intel) and ad-hoc signed.\nOn first launch macOS may say it can't verify the developer — right-click\nthe app, choose Open, and confirm.\n\n## Setup\n\n### Cloud computer (recommended)\n\n1. Open the **Connections** tab → click **Add Host**\n2. Switch the transport picker to **Orgo VM**\n3. Paste your API key → click **Verify & Save**. The key persists in\n   the macOS Keychain; subsequent connections reuse it.\n4. Pick a workspace from the dropdown.\n5. Pick a computer, or click **Create new computer…** to spin one up\n   inline (defaults: Linux, 8 GB RAM, 4 CPU, 50 GB disk).\n6. Save → the connection is selectable from the host list.\n7. If the agent isn't installed on the VM, the **Overview** screen\n   shows an install banner. One click runs the official Hermes\n   Agent installer. You can use the rest of the app while it runs.\n\n### SSH\n\nAdd a connection and switch the transport picker to **SSH**. Alias or\nhost, optional user\u002Fport, optional Hermes profile.\n\n## Build from source\n\n```sh\n.\u002Fscripts\u002Fbuild-macos-app.sh\n```\n\nThe bundle lands at `dist\u002FOS1.app`.\n\n```sh\nswift test\n```\n\n## Realtime voice mode\n\nOS1 includes a minimal WebRTC voice mode using OpenAI Realtime calls\nwith `gpt-realtime-2`. The app starts a loopback session endpoint when\nthe boot animation finishes. The bottom-left **Voice** row toggles the\nlive voice connection on or off; there is no separate voice control\npanel.\n\nThe browser surface in the app sends raw SDP to `POST \u002Fsession`. The\nSwift endpoint keeps `OPENAI_API_KEY` server-side, forwards the SDP to\n`https:\u002F\u002Fapi.openai.com\u002Fv1\u002Frealtime\u002Fcalls`, and uses multipart\n`FormData` fields named `sdp` and `session`.\n\nUse the **Providers** tab to save an OpenAI key in the macOS Keychain.\nFor local development, `OPENAI_API_KEY` is also supported as a fallback.\n\nRun from source with an environment fallback:\n\n```sh\nOPENAI_API_KEY=\"sk-...\" swift run OS1\n```\n\nRun the packaged app from a shell with an environment fallback:\n\n```sh\n.\u002Fscripts\u002Fbuild-macos-app.sh\nOPENAI_API_KEY=\"sk-...\" .\u002Fdist\u002FOS1.app\u002FContents\u002FMacOS\u002FOS1\n```\n\nThe packaging script signs ad-hoc with an explicit designated\nrequirement for `com.elementsoftware.os1`, which gives macOS a stable\nlocal app identity so privacy grants such as microphone access can\nsurvive rebuilds. For a stronger certificate-backed identity, set\n`OS1_CODESIGN_IDENTITY` \u002F `HERMES_CODESIGN_IDENTITY`, or set\n`OS1_AUTO_CODESIGN=1` to use the first available `Apple Development`\nidentity.\n\nAfter the boot animation completes, the hidden WebRTC view requests\nmicrophone access, opens the `oai-events` data channel, registers a sample\n`check_calendar(date, time)` function with `session.update`, and asks\nthe model to greet with `hello, can you hear me?`.\n\nThe same voice session also exposes Orgo MCP tools to the model as\nRealtime function tools. OS1 starts the MCP server locally, reads tools\nwith `tools\u002Flist`, registers them with `session.update`, and forwards\nmodel tool calls back to `tools\u002Fcall`; Orgo credentials stay in the\nSwift app and are never sent to the browser or model. By default the\nRealtime voice bridge exposes `core,screen,files`, disables file upload,\nuses the saved Orgo API key in OS1 or `ORGO_API_KEY` if no key is saved,\nand passes the active Orgo connection's computer ID as\n`ORGO_DEFAULT_COMPUTER_ID`.\n\nVoice mode runs `npx -y @orgo-ai\u002Fmcp` by default. You can override the\nbridge with:\n\n```sh\nOS1_ORGO_MCP_JS_PATH=\"\u002Fabsolute\u002Fpath\u002Fto\u002Fdist\u002Findex.js\"\nOS1_ORGO_MCP_PACKAGE=\"@orgo-ai\u002Fmcp\"\nOS1_REALTIME_ORGO_TOOLSETS=\"core,screen,files\"\nOS1_REALTIME_ORGO_DISABLED_TOOLS=\"orgo_upload_file\"\nOS1_REALTIME_ORGO_READ_ONLY=\"true\"\n```\n\n`shell` and `admin` are opt-in through `OS1_REALTIME_ORGO_TOOLSETS`.\nOnly enable them for agents and computers you are comfortable letting a\nvoice model operate.\n\nLive integration tests (skipped by default) hit a real cloud computer:\n\n```sh\nORGO_LIVE_TESTS=1 \\\nORGO_API_KEY=\"sk_live_...\" \\\nORGO_DEFAULT_COMPUTER_ID=\"\u003Cuuid>\" \\\nswift test --filter OrgoTransportLiveTests\n```\n\n## How it routes\n\nFor cloud connections:\n\n1. **HTTP ops** (`\u002Fbash`, `\u002Fexec`) try the platform proxy at\n   `https:\u002F\u002Fwww.orgo.ai\u002Fapi\u002Fcomputers\u002F{id}\u002F...` first. On a 5xx\n   that looks like a routing failure (ECONNREFUSED, gateway timeout,\n   stale port), the transport falls back to the direct VM URL\n   `https:\u002F\u002F\u003Cfly_instance_id>.orgo.dev\u002F...` with the VNC password as\n   bearer. Long-running ops (e.g. the agent installer) skip the\n   proxy entirely since its 30s request timeout would always trip\n   first.\n2. **Terminal** opens a websocket directly to\n   `wss:\u002F\u002F\u003Cfly_instance_id>.orgo.dev\u002Fterminal?token=\u003CvncPassword>`,\n   feeding bytes into SwiftTerm.\n\nVM clock drift, missing system git, stale apt locks from earlier\nattempts — all handled in the install path so you don't have to wrestle\nwith the VM by hand.\n\n## Acknowledgements\n\nOS1 builds on two layers of generous prior work:\n\n- The original native macOS application code is forked from\n  [dodo-reach\u002Fhermes-desktop](https:\u002F\u002Fgithub.com\u002Fdodo-reach\u002Fhermes-desktop),\n  the SSH-first companion for the Hermes Agent. The conventions, panels,\n  discovery model, and most of the SSH-side code are that author's\n  design.\n- The cloud-computer transport, websocket terminal, agent auto-install,\n  and connection picker were added on top to make OS1 work directly\n  with Orgo VMs.\n\nThe visual design language (coral on cream, DM Sans, OS¹ wordmark) is\nthe **Element Software** product theme — see [`OS-1`](https:\u002F\u002Fgithub.com\u002Fnickvasilescu\u002FOS-1)\nfor the canonical palette and motion vocabulary that this app borrows.\n\nLicense: [MIT](LICENSE). All upstream copyrights are preserved.\n\n## Status\n\nThis is an early build. Translation polish, GitHub Pages site, and\nsigning\u002Fnotarization are still in progress. Open issues in this repo\nfor bugs and feature requests.\n","Hermes Desktop - OS1 Edition 是一个为 macOS 设计的原生界面，用于在云端计算机上运行的人工智能代理。项目采用 Swift 语言开发，提供了一键式代理安装、实时交互式终端等功能，支持直接与 Orgo 平台的 HTTP API 和每台虚拟机的 WebSocket 终端通信，无需 SSH 或其他网关服务。此外，它还兼容现有的 SSH 主机连接，并集成了会话浏览器、看板、文件编辑器等工具。适用于需要在单一工作空间内管理云计算机资源、执行任务调度及进行远程开发的场景。","2026-06-11 03:32:23","CREATED_QUERY"]