{"adoption": {"forks": 492, "observed_at": "2026-08-28T04:08:30.430981+00:00", "stars": 3951}, "canonical_url": "https://ross.abutalabs.com/products/automate", "card": {"archived": false, "artifact_type": "application", "description": "Like Manus, Computer Use Agent(CUA) and Omniparser, we are computer-using agents.AI-driven local automation assistant that uses natural language to make computers work by themselves", "domain": ["developer-tools", "self-hosted"], "enriched": true, "function": ["agent-framework", "mcp", "workflow-automation", "search-engine", "developer-tools"], "health_score": 98, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["yuruotong1/autoMate"], "name": "yuruotong1/autoMate", "platform": ["python", "self-hosted", "cross-platform"], "pushed_at": "2026-08-25T23:14:46+00:00", "repo": "yuruotong1/autoMate", "stars": 3951, "tags": ["computer-use-agent", "mcp-server", "rpa", "local-first", "notes-and-memory", "omniparser", "deepseek", "ollama", "ai-agents", "automation", "desktop"], "topics": ["agent", "ai", "deepseek", "ollama", "omniparser", "rpa", "computeruse", "manus", "openai", "response", "openmanus"], "urls": [], "use_cases": ["give my AI assistant persistent memory across sessions", "let Claude Desktop or Cursor read and write my local notes and files", "schedule reminders from a chat client and push them to my phone", "search my notes and files with an AI agent", "connect an MCP tool server to multiple AI clients", "automate local computer tasks with natural language", "run a local AI agent loop without a cloud vendor"], "what_it_is": "autoMate is a self-hosted local automation assistant and MCP tool server that gives AI clients persistent notes, files, reminders, memory, and 40+ tools. It can run standalone via its own web chat or plug into clients like Claude Desktop, Cursor, Cline, and OpenClaw.", "when_to_avoid": ["you need a pure computer-vision GUI automation agent like the original Manus-style CUA focus", "you want a fully managed cloud service with no local setup", "you only need a simple one-off scripting tool without AI integration"], "when_to_choose": ["you want a self-hosted data and tool layer that survives switching AI chat clients", "you need MCP integration with Claude Desktop, Cursor, Cline, or OpenClaw", "you want local notes, files, reminders, and memory owned by you rather than a vendor"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/automate", "repo": "yuruotong1/autoMate", "role": "main", "score": 86}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.430981+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:24:32.075622+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "439d3774b3a7f170b5cab12f8fdab9f4f261b0fc316fce3b90a429ff6a85d0b8", "fetched_at": "2026-08-28T04:08:30.430981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yuruotong1/autoMate"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.430981+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:24:32.075622+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "439d3774b3a7f170b5cab12f8fdab9f4f261b0fc316fce3b90a429ff6a85d0b8", "fetched_at": "2026-08-28T04:08:30.430981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yuruotong1/autoMate"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:24:32.075622+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "439d3774b3a7f170b5cab12f8fdab9f4f261b0fc316fce3b90a429ff6a85d0b8", "fetched_at": "2026-08-28T04:08:30.430981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yuruotong1/autoMate"}], "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:08:30.430981+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.430981+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.430981+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:24:32.075622+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "439d3774b3a7f170b5cab12f8fdab9f4f261b0fc316fce3b90a429ff6a85d0b8", "fetched_at": "2026-08-28T04:08:30.430981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yuruotong1/autoMate"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.430981+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.430981+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:24:32.075622+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "439d3774b3a7f170b5cab12f8fdab9f4f261b0fc316fce3b90a429ff6a85d0b8", "fetched_at": "2026-08-28T04:08:30.430981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yuruotong1/autoMate"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.430981+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.430981+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.430981+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:24:32.075622+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "439d3774b3a7f170b5cab12f8fdab9f4f261b0fc316fce3b90a429ff6a85d0b8", "fetched_at": "2026-08-28T04:08:30.430981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yuruotong1/autoMate"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.430981+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.430981+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:24:32.075622+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "439d3774b3a7f170b5cab12f8fdab9f4f261b0fc316fce3b90a429ff6a85d0b8", "fetched_at": "2026-08-28T04:08:30.430981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yuruotong1/autoMate"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:24:32.075622+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "439d3774b3a7f170b5cab12f8fdab9f4f261b0fc316fce3b90a429ff6a85d0b8", "fetched_at": "2026-08-28T04:08:30.430981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yuruotong1/autoMate"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:24:32.075622+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "439d3774b3a7f170b5cab12f8fdab9f4f261b0fc316fce3b90a429ff6a85d0b8", "fetched_at": "2026-08-28T04:08:30.430981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yuruotong1/autoMate"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:24:32.075622+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "439d3774b3a7f170b5cab12f8fdab9f4f261b0fc316fce3b90a429ff6a85d0b8", "fetched_at": "2026-08-28T04:08:30.430981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yuruotong1/autoMate"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 68, "rhythm": 81}, "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": 956, "days_push": 8, "days_rel": 127, "gap_med": 0.0, "n_releases_24m": 29}, "score": 86, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}