{"adoption": {"forks": 356, "observed_at": "2026-08-28T04:07:37.509977+00:00", "stars": 3003}, "canonical_url": "https://ross.abutalabs.com/products/openocta", "card": {"archived": false, "artifact_type": "application", "description": "OpenOcta is an open-source AIOps Agent installed on Windows & macOS. ", "domain": ["monitoring", "artificial-intelligence", "self-hosted", "databases"], "enriched": true, "function": ["agent-framework", "monitoring", "alerting", "chatbot", "ssh", "workflow-automation", "developer-tools"], "health_score": 100, "homepage": "http://www.openocta.com", "language": "TypeScript", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["openocta/openocta"], "name": "openocta/openocta", "platform": ["windows", "cross-platform"], "pushed_at": "2026-08-24T11:56:21+00:00", "repo": "openocta/openocta", "stars": 3003, "tags": ["aiops", "itops", "sre", "chatops", "dbops", "zabbix", "prometheus", "kubernetes", "natural-language-ops", "desktop-agent", "devops", "ai-agents", "automation", "macos", "desktop"], "topics": ["itops", "aiops", "aiops-agent", "chatops", "dba", "devops", "sftp-client", "sreagent", "ssh", "terminal", "dbops"], "urls": [], "use_cases": ["analyze monitoring alerts with ai", "run server inspections from natural language", "ai agent for it operations and sre work", "query databases and logs conversationally", "automate kubernetes and prometheus troubleshooting", "desktop chatops tool for ops engineers", "get remediation suggestions for infrastructure incidents"], "what_it_is": "OpenOcta is an open-source desktop AIOps agent for Windows and macOS that lets ops engineers assign IT operations work in natural language. It connects to monitoring systems, logs, cloud platforms, and databases to automate inspection, alert analysis, data Q&A, and remediation across servers, networks, and cloud infrastructure.", "when_to_avoid": ["you need a Linux-native or headless/server-side agent, since installers target Windows and macOS", "you want a general-purpose coding or documentation agent rather than an ops-focused one", "you require a mature enterprise AIOps platform with long-term vendor support", "your monitoring stack is unsupported by its integrations"], "when_to_choose": ["you want an AI assistant embedded in real IT ops workflows rather than a generic chatbot", "you need a locally installed desktop agent that connects to monitoring, logs, cloud, and databases", "your team uses Zabbix, Prometheus, or Kubernetes and wants automated inspection and alert analysis", "you prefer a self-hosted, Apache-2.0 licensed ops tool"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/openocta", "repo": "openocta/openocta", "role": "main", "score": 82}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.509977+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:30:25.903798+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52ff099252af6ecfa6c8d90a1780ebc9e219446d848d27749c128c12340eb654", "fetched_at": "2026-08-28T04:07:37.509977+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openocta/openocta"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.509977+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:30:25.903798+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52ff099252af6ecfa6c8d90a1780ebc9e219446d848d27749c128c12340eb654", "fetched_at": "2026-08-28T04:07:37.509977+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openocta/openocta"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:30:25.903798+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52ff099252af6ecfa6c8d90a1780ebc9e219446d848d27749c128c12340eb654", "fetched_at": "2026-08-28T04:07:37.509977+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openocta/openocta"}], "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:07:37.509977+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.509977+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.509977+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:30:25.903798+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52ff099252af6ecfa6c8d90a1780ebc9e219446d848d27749c128c12340eb654", "fetched_at": "2026-08-28T04:07:37.509977+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openocta/openocta"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.509977+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.509977+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:30:25.903798+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52ff099252af6ecfa6c8d90a1780ebc9e219446d848d27749c128c12340eb654", "fetched_at": "2026-08-28T04:07:37.509977+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openocta/openocta"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.509977+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.509977+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.509977+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:30:25.903798+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52ff099252af6ecfa6c8d90a1780ebc9e219446d848d27749c128c12340eb654", "fetched_at": "2026-08-28T04:07:37.509977+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openocta/openocta"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.509977+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.509977+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:30:25.903798+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52ff099252af6ecfa6c8d90a1780ebc9e219446d848d27749c128c12340eb654", "fetched_at": "2026-08-28T04:07:37.509977+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openocta/openocta"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:30:25.903798+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52ff099252af6ecfa6c8d90a1780ebc9e219446d848d27749c128c12340eb654", "fetched_at": "2026-08-28T04:07:37.509977+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openocta/openocta"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:30:25.903798+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52ff099252af6ecfa6c8d90a1780ebc9e219446d848d27749c128c12340eb654", "fetched_at": "2026-08-28T04:07:37.509977+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openocta/openocta"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:30:25.903798+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52ff099252af6ecfa6c8d90a1780ebc9e219446d848d27749c128c12340eb654", "fetched_at": "2026-08-28T04:07:37.509977+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openocta/openocta"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 13, "rhythm": 99}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 188, "days_push": 9, "days_rel": 9, "gap_med": 1, "n_releases_24m": 26}, "score": 82, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}