[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-74735":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":36,"readmeContent":37,"aiSummary":38,"trendingCount":16,"starSnapshotCount":16,"syncStatus":39,"lastSyncTime":40,"discoverSource":41},74735,"ghost-os","ghostwright\u002Fghost-os","ghostwright","Full computer-use for AI agents. Self-learning workflows. Native macOS. No screenshots required.","https:\u002F\u002Fghostwright.dev\u002Fghost-os",null,"Swift",1501,146,9,5,0,10,27,53,30,19.5,"MIT License",false,"main",[26,27,28,29,30,31,32,33,34,35],"accessibility","ai-agents","automation","claude-code","computer-use","llm-tools","macos","mcp","recipes","swift","2026-06-12 02:03:27","\u003Cp align=\"center\">\n  \u003Cimg src=\"logo-animated.svg\" width=\"160\" alt=\"Ghost OS\">\n  &nbsp;&nbsp;&nbsp;&nbsp;\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fghostwright\u002Fshadow\">\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fghostwright\u002Fshadow\u002Fmain\u002Flogo-animated.svg\" width=\"160\" alt=\"Shadow\">\u003C\u002Fa>\n  &nbsp;&nbsp;&nbsp;&nbsp;\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fghostwright\u002Fspecter\">\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fghostwright\u002Fspecter\u002Fmain\u002Flogo-animated.svg\" width=\"160\" alt=\"Specter\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Ch1 align=\"center\">Ghost OS\u003C\u002Fh1>\n\u003Cp align=\"center\">\u003Cem>Full computer-use for AI agents.\u003C\u002Fem>\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"LICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue.svg\" alt=\"MIT License\">\u003C\u002Fa>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fplatform-macOS%2014%2B-black.svg\" alt=\"macOS 14+\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fswift-6.2-orange.svg\" alt=\"Swift 6.2\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FMCP-compatible-green.svg\" alt=\"MCP Compatible\">\n\u003C\u002Fp>\n\n---\n\nYour AI agent can write code, run tests, search files. But it can't click a button, send an email, or fill out a form. It lives inside a chat box.\n\nGhost OS changes that. One install, and any AI agent can see and operate every app on your Mac.\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"120\" align=\"center\">\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fghostwright\u002Fspecter\">\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fghostwright\u002Fspecter\u002Fmain\u002Flogo-animated.svg\" width=\"80\" alt=\"Specter\">\u003C\u002Fa>\n\u003C\u002Ftd>\n\u003Ctd>\n\n### Meet [Specter](https:\u002F\u002Fgithub.com\u002Fghostwright\u002Fspecter)\n\nGhost OS gives AI agents eyes and hands. Shadow gives them memory. Specter gives them a home.\n\nDeploy persistent AI agents to dedicated VMs in 90 seconds. Automatic DNS, TLS, systemd hardening. Interactive TUI dashboard. You own the infrastructure.\n\n*AI agents that earn your trust.*\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"120\" align=\"center\">\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fghostwright\u002Fshadow\">\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fghostwright\u002Fshadow\u002Fmain\u002Flogo-animated.svg\" width=\"80\" alt=\"Shadow\">\u003C\u002Fa>\n\u003C\u002Ftd>\n\u003Ctd>\n\n### Meet [Shadow](https:\u002F\u002Fgithub.com\u002Fghostwright\u002Fshadow)\n\nShadow is the other half of the story. Ghost OS gives AI agents eyes and hands on your Mac. Shadow gives them memory and intelligence.\n\n14-modality capture. Proactive suggestions. Episode generation. On-device LLM inference. Computer-use training data. All local, all open source.\n\n*Your computer was paying attention the whole time.*\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n---\n\n### What's New &nbsp; \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fv2.2.1-March%202026-brightgreen.svg\" alt=\"v2.2.1\">\n\n**Self-learning recipes.** Show Ghost OS how to do something once, and it remembers forever.\n\n- **`ghost_learn_start`** -- Begin watching the user perform a task\n- **`ghost_learn_stop`** -- Stop and return the enriched action sequence\n- **`ghost_learn_status`** -- Check recording progress\n\nThe user performs the task manually (clicking, typing, switching apps). Ghost OS observes every action through a CGEvent tap enriched with accessibility tree context. Claude synthesizes the raw observation into a parameterized, replayable recipe.\n\nNo screenshots needed. No vision model. Just the accessibility tree and your keyboard\u002Fmouse.\n\n```\nUser:    \"Watch me send an email.\"\nAgent:   ghost_learn_start task_description:\"send email in Gmail\"\n         ...user performs the task...\nAgent:   ghost_learn_stop\n         -> 8 actions with full AX context\n         -> Synthesizes recipe with 3 parameters: recipient, subject, body\n         -> ghost_recipe_save\nUser:    \"Send an email to bob about the Q4 report\"\nAgent:   ghost_run recipe:\"gmail-send-learned\" params:{...}\n```\n\nRequires Input Monitoring permission (System Settings > Privacy & Security > Input Monitoring). Run `ghost setup` to configure.\n\n\u003Cdetails>\n\u003Csummary>Previous: v2.1.2\u003C\u002Fsummary>\n\n4 new tools. ghost_annotate, ghost_hover, ghost_long_press, ghost_drag. Pinned vision sidecar dependencies, fixed vision model download, Chinese\u002FCJK input support (thanks [@junshi5218](https:\u002F\u002Fgithub.com\u002Fjunshi5218)).\n\n\u003C\u002Fdetails>\n\nThank you to the 500+ people who have starred this project. You are why we keep building. If you want to contribute directly, we would love that. See [CONTRIBUTING.md](CONTRIBUTING.md).\n\n```\nYou:     \"Send an email to sarah@company.com about the Q4 report\"\nAgent:   ghost_run recipe:\"gmail-send\" params:{recipient, subject, body}\n         → Compose opens, fields fill, email sends. Done.\n```\n\n### Setup\n![Ghost OS Setup Demo](demo.gif)\n\n### Recipes in Action\nSend emails and download papers. Any app. Any workflow.\n\n![Ghost OS Recipes Demo](demo-recipes.gif)\n\n### Beyond the Browser\nSlack messages, Finder folders — Ghost OS operates native macOS apps, not just browsers.\n\n![Ghost OS Slack + Finder Demo](demo-slack-finder.gif)\n\n## Why Ghost OS?\n\nOther computer-use tools take screenshots and guess what's on screen. Ghost OS reads the macOS accessibility tree — structured, labeled data about every element in every app. When the AX tree isn't enough (web apps, dynamic content), it falls back to a local vision model (ShowUI-2B) for visual grounding.\n\nAnd when it figures out a workflow, it saves it. Other tools repeat the same expensive reasoning every time.\n\n- **Self-learning** — A frontier model figures out the workflow once. A small model runs it forever.\n- **Transparent** — Recipes are JSON. Read every step before running. No black box.\n- **Native** — Accessibility tree first. Vision fallback when needed. Structured data over pixel guessing.\n- **Any app** — Not just browsers. Slack, Finder, Messages — anything on your Mac.\n- **Local** — Your data never leaves your machine.\n- **Open** — MCP protocol. Works with Claude Code, Cursor, VS Code, or any MCP client.\n\n| | | Ghost OS | Anthropic Computer Use | OpenAI Operator | OpenClaw |\n|:---:|------|:--:|:--:|:--:|:--:|\n| 👀 | **How it sees** | Accessibility tree + local VLM | Screenshots only | Screenshots only | Browser DOM |\n| 🖥️ | **Native apps** | Any macOS app | Any (via pixels) | Browser only | Browser only |\n| 🧠 | **Learns workflows** | JSON recipes | No | No | No |\n| 🔒 | **Data stays local** | Yes | Depends on setup | No (cloud) | Yes |\n| 📖 | **Open source** | MIT | No | No | MIT |\n\n## Install\n\n```bash\nbrew install ghostwright\u002Fghost-os\u002Fghost-os\nghost setup\n```\n\nThat's it. `ghost setup` handles permissions, MCP configuration, recipe installation, and vision model setup.\n\n\u003Cdetails>\n\u003Csummary>macOS beta? Use the manual install instead.\u003C\u002Fsummary>\n\nHomebrew has a known issue on macOS developer betas where it demands an Xcode version that doesn't exist yet. If `brew install` fails, install directly:\n\n```bash\ncurl -sL https:\u002F\u002Fgithub.com\u002Fghostwright\u002Fghost-os\u002Freleases\u002Flatest\u002Fdownload\u002Fghost-os-2.2.1-macos-arm64.tar.gz | tar xz\nsudo cp ghost \u002Fopt\u002Fhomebrew\u002Fbin\u002F\nsudo cp ghost-vision \u002Fopt\u002Fhomebrew\u002Fbin\u002F\nsudo mkdir -p \u002Fopt\u002Fhomebrew\u002Fshare\u002Fghost-os\nsudo cp GHOST-MCP.md \u002Fopt\u002Fhomebrew\u002Fshare\u002Fghost-os\u002F\nsudo cp -r recipes \u002Fopt\u002Fhomebrew\u002Fshare\u002Fghost-os\u002F\nsudo cp -r vision-sidecar \u002Fopt\u002Fhomebrew\u002Fshare\u002Fghost-os\u002F\nghost setup\n```\n\n\u003C\u002Fdetails>\n\n## How It Works\n\nGhost OS connects to your AI agent through [MCP](https:\u002F\u002Fmodelcontextprotocol.io) and gives it 29 tools to see and operate your Mac. It reads the macOS accessibility tree for structured data about every app. For web apps where the AX tree falls short (Gmail, Slack), a local vision model (ShowUI-2B) finds elements visually. Click, type, hover, drag, scroll, press keys, manage windows. Any app, not just browsers.\n\n```\nYou:     \"Download the latest paper on chain-of-thought prompting from arXiv\"\nAgent:   ghost_run recipe:\"arxiv-download\" params:{query:\"chain of thought prompting\"}\n         → Navigates to arXiv, searches, opens PDF, downloads to Desktop. Done.\n```\n\nWorks with Claude Code, Cursor, VS Code, or anything that speaks MCP.\n\n## Recipes\n\nWhen your agent figures out a workflow, it saves it as a recipe. A recipe is a JSON file with steps, parameters, and wait conditions. Transparent and auditable.\n\n**A frontier model figures out the workflow once. A small model runs it forever.**\n\n```bash\n# One command sends an email\nghost_run recipe:\"gmail-send\" params:{\"recipient\":\"hello@example.com\",\"subject\":\"Hello\",\"body\":\"World\"}\n\n# 7 steps, 30 seconds, 100% reliable\n```\n\n- Recipes are just JSON. Read every step before running.\n- Share with your team. One person learns the workflow, everyone benefits.\n- Chain recipes together. The agent knows when to call what.\n- Write once with Claude or GPT-4. Run forever with Haiku.\n\n## 29 Tools\n\n| | Tool | What it does |\n|:---:|------|-------------|\n| 🔍 | `ghost_context` | Get the current app, window title, URL, focused element, and all interactive elements on screen |\n| 🔍 | `ghost_state` | List every running app with its windows, positions, and sizes |\n| 🔍 | `ghost_find` | Search for elements by name, role, DOM id, or CSS class across the entire UI |\n| 🔍 | `ghost_read` | Extract text content from any app, with depth control for nested content |\n| 🔍 | `ghost_inspect` | Get complete metadata for one element: role, position, actions, DOM id, editable state |\n| 🔍 | `ghost_element_at` | Identify what element is at a specific screen coordinate |\n| 📸 | `ghost_screenshot` | Capture a window screenshot for visual debugging |\n| 📸 | `ghost_annotate` | Screenshot with numbered labels on interactive elements and click coordinates |\n| 👁️ | `ghost_ground` | Find element coordinates using vision (ShowUI-2B). Works when AX tree can't find web elements |\n| 👁️ | `ghost_parse_screen` | Detect all interactive elements via vision |\n| 🎯 | `ghost_click` | Click an element by name, DOM id, or screen coordinates |\n| 🎯 | `ghost_hover` | Move cursor to an element or position to trigger tooltips and hover effects |\n| 🎯 | `ghost_long_press` | Press and hold for context menus, Force Touch previews, and drag initiation |\n| 🎯 | `ghost_drag` | Drag from one point to another for file moves, sliders, list reordering, text selection |\n| ⌨️ | `ghost_type` | Type text into a specific field by name, or at the current cursor |\n| ⌨️ | `ghost_press` | Press a single key like Return, Tab, Escape, or arrow keys |\n| ⌨️ | `ghost_hotkey` | Press key combinations like Cmd+L, Cmd+Return, Cmd+Shift+P |\n| 🎯 | `ghost_scroll` | Scroll up, down, left, or right in any app window |\n| 🪟 | `ghost_focus` | Bring any app or specific window to the front |\n| 🪟 | `ghost_window` | Minimize, maximize, close, move, or resize any window |\n| ⏳ | `ghost_wait` | Wait for a URL change, element to appear or disappear, or title change |\n| 📦 | `ghost_recipes` | List all installed recipes with descriptions and parameters |\n| ▶️ | `ghost_run` | Execute a recipe with parameter substitution |\n| 📦 | `ghost_recipe_show` | View the full steps and configuration of a recipe |\n| 📦 | `ghost_recipe_save` | Install a new recipe from JSON |\n| 📦 | `ghost_recipe_delete` | Remove an installed recipe |\n| 🎓 | `ghost_learn_start` | Start observing the user's actions for workflow learning |\n| 🎓 | `ghost_learn_stop` | Stop observing and return the enriched action sequence |\n| 🎓 | `ghost_learn_status` | Check if learning mode is active and recording stats |\n\n## Diagnostics\n\n```bash\n$ ghost doctor\n\n  [ok] Accessibility: granted\n  [ok] Screen Recording: granted\n  [ok] Input Monitoring: granted (for learning mode)\n  [ok] Processes: 1 ghost MCP process\n  [ok] MCP Config: ghost-os configured\n  [ok] Recipes: 5 installed\n  [ok] AX Tree: 12\u002F12 apps readable\n  [ok] ghost-vision: \u002Fopt\u002Fhomebrew\u002Fbin\u002Fghost-vision\n  [ok] ShowUI-2B model: ~\u002F.ghost-os\u002Fmodels\u002FShowUI-2B (3.0 GB)\n  [ok] Vision Sidecar: not running (auto-starts when needed)\n\n  All checks passed. Ghost OS is healthy.\n```\n\n## Build From Source\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fghostwright\u002Fghost-os.git\ncd ghost-os\nswift build\n.build\u002Fdebug\u002Fghost setup\n```\n\nRequires Swift 6.2+ and macOS 14+.\n\n## Architecture\n\n```\nAI Agent (Claude Code, Cursor, any MCP client)\n    │\n    │ MCP Protocol (stdio)\n    │\nGhost OS MCP Server (Swift)\n    │\n    ├── Perception ──── see what's on screen (AX tree)\n    ├── Vision ──────── visual grounding (ShowUI-2B, local)\n    ├── Actions ─────── click, type, scroll, keys\n    ├── Recipes ─────── self-learning workflows\n    └── AXorcist ────── macOS accessibility engine\n```\n\n~7,000 lines of Swift + Python vision sidecar. Built on [AXorcist](https:\u002F\u002Fgithub.com\u002Fsteipete\u002FAXorcist) by [@steipete](https:\u002F\u002Fgithub.com\u002Fsteipete).\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md). We need recipes for more apps, testing on different setups, and bug reports. If you're building AI agents that do real things, this is the project.\n\n## Contributors\n\nThanks to everyone who has contributed to Ghost OS.\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fghostwright\u002Fghost-os\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Fcontrib.rocks\u002Fimage?repo=ghostwright\u002Fghost-os\" \u002F>\n\u003C\u002Fa>\n\n## License\n\nMIT\n","Ghost OS 是一个为AI代理提供完整计算机使用能力的项目。它允许AI代理在macOS上执行点击按钮、发送邮件或填写表单等操作，而不仅仅是局限于文本交互。该项目采用Swift语言编写，支持自学习工作流程，用户只需演示一次任务，Ghost OS就能永久记住并重复执行。此外，通过与Shadow和Specter等组件结合使用，Ghost OS还能为AI代理提供记忆功能及持久化部署环境。适用于需要自动化日常计算任务、提高工作效率的场景。",2,"2026-06-11 03:50:33","high_star"]