{"adoption": {"forks": 48, "observed_at": "2026-08-28T04:03:48.341982+00:00", "stars": 1157}, "canonical_url": "https://ross.abutalabs.com/products/macospilot-ai-assistant", "card": {"archived": false, "artifact_type": "application", "description": "Voice + Vision powered AI assistant that answers questions about any application, in context and in audio.", "domain": ["artificial-intelligence", "developer-tools", "desktop-applications", "large-language-models"], "enriched": true, "function": ["speech-recognition", "tts", "llm-inference", "ocr", "chatbot"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": null, "license_family": "other", "maturity": "experimental", "member_repos": ["elfvingralf/macOSpilot-ai-assistant"], "name": "elfvingralf/macOSpilot-ai-assistant", "platform": [], "pushed_at": "2023-12-21T19:48:09+00:00", "repo": "elfvingralf/macOSpilot-ai-assistant", "stars": 1157, "tags": ["voice-assistant", "screen-context", "openai", "gpt-vision", "keyboard-shortcut", "audio-answers", "macos", "electron", "nodejs", "desktop"], "topics": [], "urls": [], "use_cases": ["ask questions about any app on screen without switching windows", "get voice answers about what's displayed in the current application", "trigger an AI assistant with a global keyboard shortcut", "get in-context help for unfamiliar software UIs", "hands-free AI assistant while working on macOS", "screenshot-based question answering with GPT Vision"], "what_it_is": "macOSpilot is a macOS desktop AI assistant built with Electron that answers spoken or typed questions about whatever application is currently active. It screenshots the active window, transcribes your voice via OpenAI Whisper, queries GPT Vision with the screenshot, and replies as text overlay plus audio via OpenAI TTS.", "when_to_avoid": ["you need Windows or Linux support - it's macOS only", "you don't want to pay for OpenAI API usage or send screenshots to the cloud", "you need a polished, packaged product - it requires manual setup and has no license"], "when_to_choose": ["you're on macOS and want a context-aware assistant for any active application", "you prefer speaking questions and hearing audio answers", "you want a self-hosted Electron app wired to your own OpenAI API key"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/macospilot-ai-assistant", "repo": "elfvingralf/macOSpilot-ai-assistant", "role": "main", "score": 26}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:48.341982+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:32:02.305643+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "297f45e2ba9a612b9798dec5e8593fecb9a88b3aa7026ceec621c7844a1f1e0c", "fetched_at": "2026-08-28T04:03:48.341982+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elfvingralf/macOSpilot-ai-assistant"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:48.341982+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:32:02.305643+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "297f45e2ba9a612b9798dec5e8593fecb9a88b3aa7026ceec621c7844a1f1e0c", "fetched_at": "2026-08-28T04:03:48.341982+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elfvingralf/macOSpilot-ai-assistant"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:32:02.305643+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "297f45e2ba9a612b9798dec5e8593fecb9a88b3aa7026ceec621c7844a1f1e0c", "fetched_at": "2026-08-28T04:03:48.341982+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elfvingralf/macOSpilot-ai-assistant"}], "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:03:48.341982+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:48.341982+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:48.341982+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:32:02.305643+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "297f45e2ba9a612b9798dec5e8593fecb9a88b3aa7026ceec621c7844a1f1e0c", "fetched_at": "2026-08-28T04:03:48.341982+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elfvingralf/macOSpilot-ai-assistant"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:48.341982+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:48.341982+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:32:02.305643+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "297f45e2ba9a612b9798dec5e8593fecb9a88b3aa7026ceec621c7844a1f1e0c", "fetched_at": "2026-08-28T04:03:48.341982+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elfvingralf/macOSpilot-ai-assistant"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:48.341982+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:48.341982+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:48.341982+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:32:02.305643+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "297f45e2ba9a612b9798dec5e8593fecb9a88b3aa7026ceec621c7844a1f1e0c", "fetched_at": "2026-08-28T04:03:48.341982+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elfvingralf/macOSpilot-ai-assistant"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:48.341982+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:48.341982+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:32:02.305643+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "297f45e2ba9a612b9798dec5e8593fecb9a88b3aa7026ceec621c7844a1f1e0c", "fetched_at": "2026-08-28T04:03:48.341982+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elfvingralf/macOSpilot-ai-assistant"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:32:02.305643+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "297f45e2ba9a612b9798dec5e8593fecb9a88b3aa7026ceec621c7844a1f1e0c", "fetched_at": "2026-08-28T04:03:48.341982+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elfvingralf/macOSpilot-ai-assistant"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:32:02.305643+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "297f45e2ba9a612b9798dec5e8593fecb9a88b3aa7026ceec621c7844a1f1e0c", "fetched_at": "2026-08-28T04:03:48.341982+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elfvingralf/macOSpilot-ai-assistant"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:32:02.305643+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "297f45e2ba9a612b9798dec5e8593fecb9a88b3aa7026ceec621c7844a1f1e0c", "fetched_at": "2026-08-28T04:03:48.341982+00:00", "kind": "readme", "missing": false, "url": "https://github.com/elfvingralf/macOSpilot-ai-assistant"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 71, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1002, "days_push": 986, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 26, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}