{"adoption": {"forks": 158, "observed_at": "2026-08-28T04:05:16.260111+00:00", "stars": 1646}, "canonical_url": "https://ross.abutalabs.com/products/ghost-os", "card": {"archived": false, "artifact_type": "framework", "description": "Full computer-use for AI agents. Self-learning workflows. Native macOS. No screenshots required.", "domain": ["operating-systems", "accessibility", "developer-tools"], "enriched": true, "function": ["agent-framework", "mcp", "workflow-automation", "computer-vision", "gui"], "health_score": 82, "homepage": "https://ghostwright.dev/ghost-os", "language": "Swift", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["ghostwright/ghost-os"], "name": "ghostwright/ghost-os", "platform": ["cli"], "pushed_at": "2026-03-23T22:41:44+00:00", "repo": "ghostwright/ghost-os", "stars": 1646, "tags": ["computer-use", "accessibility-tree", "mcp-server", "self-learning-recipes", "apple-silicon", "cg-event", "chrome-devtools-protocol", "on-device-llm", "ai-agents", "automation", "macos", "swift"], "topics": ["accessibility", "ai-agents", "automation", "claude-code", "computer-use", "llm-tools", "macos", "mcp", "recipes", "swift"], "urls": [], "use_cases": ["let an AI agent click buttons and fill forms in native macOS apps", "automate sending emails or organizing files via an LLM agent", "record a workflow once and have the agent replay it forever", "give Claude Code or other MCP clients control of the Mac UI", "control web apps through Chrome DevTools Protocol instead of screenshots", "run on-device visual grounding when accessibility data is unavailable"], "what_it_is": "Ghost OS is a native macOS framework that gives AI agents full computer-use capabilities by exposing the macOS accessibility tree, Chrome DevTools Protocol, an on-device vision model, and synthetic input through an MCP-compatible interface. It includes self-learning recipes that record a user performing a task once and replay it, letting agents click buttons, fill forms, and operate any app without screenshots.", "when_to_avoid": ["you need computer-use on Linux or Windows", "your automation is browser-only and a browser automation tool suffices", "you need a screenshot-pixel-based approach for non-native rendering environments", "you cannot grant macOS accessibility and input permissions"], "when_to_choose": ["you need computer-use automation on macOS without screenshot-based vision loops", "you want an MCP server that exposes native app control to any agent", "you want fast, structured UI interaction via the accessibility tree", "you want self-learning recorded workflows", "you prefer on-device inference on Apple Silicon"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/ghost-os", "repo": "ghostwright/ghost-os", "role": "main", "score": 61}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.260111+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:45:22.973464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f933d76ede39ce6b25f35e0414a35bee9f7ed376f6d02a889b688928b87f3cab", "fetched_at": "2026-08-28T04:05:16.260111+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ghostwright/ghost-os"}, {"content_hash": "3bbb122749ec6e635dcc02196dfd4f3f44acc07255005083cc7a41cbe65b6d46", "fetched_at": "2026-08-29T11:18:41.449278+00:00", "kind": "homepage", "missing": false, "url": "https://ghostwright.dev/ghost-os"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.260111+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:45:22.973464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f933d76ede39ce6b25f35e0414a35bee9f7ed376f6d02a889b688928b87f3cab", "fetched_at": "2026-08-28T04:05:16.260111+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ghostwright/ghost-os"}, {"content_hash": "3bbb122749ec6e635dcc02196dfd4f3f44acc07255005083cc7a41cbe65b6d46", "fetched_at": "2026-08-29T11:18:41.449278+00:00", "kind": "homepage", "missing": false, "url": "https://ghostwright.dev/ghost-os"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:45:22.973464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f933d76ede39ce6b25f35e0414a35bee9f7ed376f6d02a889b688928b87f3cab", "fetched_at": "2026-08-28T04:05:16.260111+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ghostwright/ghost-os"}, {"content_hash": "3bbb122749ec6e635dcc02196dfd4f3f44acc07255005083cc7a41cbe65b6d46", "fetched_at": "2026-08-29T11:18:41.449278+00:00", "kind": "homepage", "missing": false, "url": "https://ghostwright.dev/ghost-os"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.260111+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.260111+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.260111+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:45:22.973464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f933d76ede39ce6b25f35e0414a35bee9f7ed376f6d02a889b688928b87f3cab", "fetched_at": "2026-08-28T04:05:16.260111+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ghostwright/ghost-os"}, {"content_hash": "3bbb122749ec6e635dcc02196dfd4f3f44acc07255005083cc7a41cbe65b6d46", "fetched_at": "2026-08-29T11:18:41.449278+00:00", "kind": "homepage", "missing": false, "url": "https://ghostwright.dev/ghost-os"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.260111+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.260111+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:45:22.973464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f933d76ede39ce6b25f35e0414a35bee9f7ed376f6d02a889b688928b87f3cab", "fetched_at": "2026-08-28T04:05:16.260111+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ghostwright/ghost-os"}, {"content_hash": "3bbb122749ec6e635dcc02196dfd4f3f44acc07255005083cc7a41cbe65b6d46", "fetched_at": "2026-08-29T11:18:41.449278+00:00", "kind": "homepage", "missing": false, "url": "https://ghostwright.dev/ghost-os"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.260111+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.260111+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.260111+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:45:22.973464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f933d76ede39ce6b25f35e0414a35bee9f7ed376f6d02a889b688928b87f3cab", "fetched_at": "2026-08-28T04:05:16.260111+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ghostwright/ghost-os"}, {"content_hash": "3bbb122749ec6e635dcc02196dfd4f3f44acc07255005083cc7a41cbe65b6d46", "fetched_at": "2026-08-29T11:18:41.449278+00:00", "kind": "homepage", "missing": false, "url": "https://ghostwright.dev/ghost-os"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.260111+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:16.260111+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:45:22.973464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f933d76ede39ce6b25f35e0414a35bee9f7ed376f6d02a889b688928b87f3cab", "fetched_at": "2026-08-28T04:05:16.260111+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ghostwright/ghost-os"}, {"content_hash": "3bbb122749ec6e635dcc02196dfd4f3f44acc07255005083cc7a41cbe65b6d46", "fetched_at": "2026-08-29T11:18:41.449278+00:00", "kind": "homepage", "missing": false, "url": "https://ghostwright.dev/ghost-os"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:45:22.973464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f933d76ede39ce6b25f35e0414a35bee9f7ed376f6d02a889b688928b87f3cab", "fetched_at": "2026-08-28T04:05:16.260111+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ghostwright/ghost-os"}, {"content_hash": "3bbb122749ec6e635dcc02196dfd4f3f44acc07255005083cc7a41cbe65b6d46", "fetched_at": "2026-08-29T11:18:41.449278+00:00", "kind": "homepage", "missing": false, "url": "https://ghostwright.dev/ghost-os"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:45:22.973464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f933d76ede39ce6b25f35e0414a35bee9f7ed376f6d02a889b688928b87f3cab", "fetched_at": "2026-08-28T04:05:16.260111+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ghostwright/ghost-os"}, {"content_hash": "3bbb122749ec6e635dcc02196dfd4f3f44acc07255005083cc7a41cbe65b6d46", "fetched_at": "2026-08-29T11:18:41.449278+00:00", "kind": "homepage", "missing": false, "url": "https://ghostwright.dev/ghost-os"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:45:22.973464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f933d76ede39ce6b25f35e0414a35bee9f7ed376f6d02a889b688928b87f3cab", "fetched_at": "2026-08-28T04:05:16.260111+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ghostwright/ghost-os"}, {"content_hash": "3bbb122749ec6e635dcc02196dfd4f3f44acc07255005083cc7a41cbe65b6d46", "fetched_at": "2026-08-29T11:18:41.449278+00:00", "kind": "homepage", "missing": false, "url": "https://ghostwright.dev/ghost-os"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 73, "longevity": 13, "rhythm": 74}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 195, "days_push": 163, "days_rel": 174, "gap_med": 0.0, "n_releases_24m": 9}, "score": 61, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}