{"adoption": {"forks": 119, "observed_at": "2026-08-28T04:05:26.754771+00:00", "stars": 1721}, "canonical_url": "https://ross.abutalabs.com/products/mindfs", "card": {"archived": false, "artifact_type": "application", "description": "Access your personal AI agents and workstation data anywhere, anytime through MindFS.", "domain": ["developer-tools", "self-hosted", "web-development"], "enriched": true, "function": ["agent-framework", "chat-interface", "web-framework", "developer-tools", "file-system", "terminal-ui"], "health_score": 99, "homepage": "https://relay.a9gent.com/", "language": "TypeScript", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["a9gent/mindfs"], "name": "a9gent/mindfs", "platform": ["self-hosted", "cross-platform", "windows", "cli"], "pushed_at": "2026-08-20T13:07:26+00:00", "repo": "a9gent/mindfs", "stars": 1721, "tags": ["ai-agent-gateway", "remote-access", "claude-code", "codex", "gemini-cli", "relay", "pwa", "session-management", "worktree", "self-hosted", "ai-agents", "web-server", "macos", "linux", "android"], "topics": [], "urls": [], "use_cases": ["access my claude code sessions from my phone", "remotely control ai coding agents on my workstation", "run multiple agent tasks in parallel with git worktrees", "continue an agent cli session in the browser and sync both ways", "browse and edit project files on my home machine from anywhere", "expose local agent workstation to the internet without port forwarding", "switch between different ai agents sharing the same conversation context", "schedule agents to run tasks at specific times"], "what_it_is": "MindFS is a self-hosted web gateway that lets you access personal AI coding agents (Claude Code, Codex, Gemini CLI, Cursor, and many others) and workstation files from any browser or mobile device. It provides real-time streaming agent sessions, a task board with parallel worktree-isolated execution, file browsing, shell command execution, and remote access via a relay without opening firewall ports.", "when_to_avoid": ["you only use a single agent's native IDE integration and never work remotely", "you need a fully managed cloud service rather than self-hosting", "you require non-AGPL licensing for commercial redistribution"], "when_to_choose": ["you use multiple AI coding agent CLIs and want a unified web/mobile interface", "you need remote access to your dev workstation's agents and files without VPN or open ports", "you want self-hosted storage of agent sessions and data in your own project directories", "you run parallel agent tasks that benefit from isolated git worktrees"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mindfs", "repo": "a9gent/mindfs", "role": "main", "score": 81}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.754771+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:34:01.186754+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a236b7c877ca8239efa8bcafcc47fe6b15890f689e2a4af86af2b8b256eb51e4", "fetched_at": "2026-08-28T04:05:26.754771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/a9gent/mindfs"}, {"content_hash": "74228a2ff400a39225385be2ee7d14ef2cf45debec19731a47f5a022be46eda8", "fetched_at": "2026-08-29T11:10:03.066478+00:00", "kind": "homepage", "missing": false, "url": "https://relay.a9gent.com/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.754771+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:34:01.186754+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a236b7c877ca8239efa8bcafcc47fe6b15890f689e2a4af86af2b8b256eb51e4", "fetched_at": "2026-08-28T04:05:26.754771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/a9gent/mindfs"}, {"content_hash": "74228a2ff400a39225385be2ee7d14ef2cf45debec19731a47f5a022be46eda8", "fetched_at": "2026-08-29T11:10:03.066478+00:00", "kind": "homepage", "missing": false, "url": "https://relay.a9gent.com/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:34:01.186754+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a236b7c877ca8239efa8bcafcc47fe6b15890f689e2a4af86af2b8b256eb51e4", "fetched_at": "2026-08-28T04:05:26.754771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/a9gent/mindfs"}, {"content_hash": "74228a2ff400a39225385be2ee7d14ef2cf45debec19731a47f5a022be46eda8", "fetched_at": "2026-08-29T11:10:03.066478+00:00", "kind": "homepage", "missing": false, "url": "https://relay.a9gent.com/"}], "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:26.754771+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.754771+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.754771+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:34:01.186754+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a236b7c877ca8239efa8bcafcc47fe6b15890f689e2a4af86af2b8b256eb51e4", "fetched_at": "2026-08-28T04:05:26.754771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/a9gent/mindfs"}, {"content_hash": "74228a2ff400a39225385be2ee7d14ef2cf45debec19731a47f5a022be46eda8", "fetched_at": "2026-08-29T11:10:03.066478+00:00", "kind": "homepage", "missing": false, "url": "https://relay.a9gent.com/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.754771+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.754771+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:34:01.186754+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a236b7c877ca8239efa8bcafcc47fe6b15890f689e2a4af86af2b8b256eb51e4", "fetched_at": "2026-08-28T04:05:26.754771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/a9gent/mindfs"}, {"content_hash": "74228a2ff400a39225385be2ee7d14ef2cf45debec19731a47f5a022be46eda8", "fetched_at": "2026-08-29T11:10:03.066478+00:00", "kind": "homepage", "missing": false, "url": "https://relay.a9gent.com/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.754771+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.754771+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.754771+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:34:01.186754+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a236b7c877ca8239efa8bcafcc47fe6b15890f689e2a4af86af2b8b256eb51e4", "fetched_at": "2026-08-28T04:05:26.754771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/a9gent/mindfs"}, {"content_hash": "74228a2ff400a39225385be2ee7d14ef2cf45debec19731a47f5a022be46eda8", "fetched_at": "2026-08-29T11:10:03.066478+00:00", "kind": "homepage", "missing": false, "url": "https://relay.a9gent.com/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.754771+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.754771+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:34:01.186754+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a236b7c877ca8239efa8bcafcc47fe6b15890f689e2a4af86af2b8b256eb51e4", "fetched_at": "2026-08-28T04:05:26.754771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/a9gent/mindfs"}, {"content_hash": "74228a2ff400a39225385be2ee7d14ef2cf45debec19731a47f5a022be46eda8", "fetched_at": "2026-08-29T11:10:03.066478+00:00", "kind": "homepage", "missing": false, "url": "https://relay.a9gent.com/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:34:01.186754+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a236b7c877ca8239efa8bcafcc47fe6b15890f689e2a4af86af2b8b256eb51e4", "fetched_at": "2026-08-28T04:05:26.754771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/a9gent/mindfs"}, {"content_hash": "74228a2ff400a39225385be2ee7d14ef2cf45debec19731a47f5a022be46eda8", "fetched_at": "2026-08-29T11:10:03.066478+00:00", "kind": "homepage", "missing": false, "url": "https://relay.a9gent.com/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:34:01.186754+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a236b7c877ca8239efa8bcafcc47fe6b15890f689e2a4af86af2b8b256eb51e4", "fetched_at": "2026-08-28T04:05:26.754771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/a9gent/mindfs"}, {"content_hash": "74228a2ff400a39225385be2ee7d14ef2cf45debec19731a47f5a022be46eda8", "fetched_at": "2026-08-29T11:10:03.066478+00:00", "kind": "homepage", "missing": false, "url": "https://relay.a9gent.com/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:34:01.186754+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a236b7c877ca8239efa8bcafcc47fe6b15890f689e2a4af86af2b8b256eb51e4", "fetched_at": "2026-08-28T04:05:26.754771+00:00", "kind": "readme", "missing": false, "url": "https://github.com/a9gent/mindfs"}, {"content_hash": "74228a2ff400a39225385be2ee7d14ef2cf45debec19731a47f5a022be46eda8", "fetched_at": "2026-08-29T11:10:03.066478+00:00", "kind": "homepage", "missing": false, "url": "https://relay.a9gent.com/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 11, "rhythm": 98}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 155, "days_push": 13, "days_rel": 13, "gap_med": 3.0, "n_releases_24m": 35}, "score": 81, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}