{"adoption": {"forks": 406, "observed_at": "2026-08-28T04:03:48.220329+00:00", "stars": 1157}, "canonical_url": "https://ross.abutalabs.com/products/openclaude-portable", "card": {"archived": false, "artifact_type": "application", "description": "Run Claude Code from a USB drive on any PC — no installation required.", "domain": ["large-language-models", "developer-tools", "cross-platform"], "enriched": true, "function": ["agent-framework", "llm-inference", "chat-interface", "proxy", "self-hosted", "developer-tools"], "health_score": 69, "homepage": null, "language": "HTML", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["techjarves/OpenClaude-Portable"], "name": "techjarves/OpenClaude-Portable", "platform": ["windows", "cli", "self-hosted"], "pushed_at": "2026-05-07T08:48:42+00:00", "repo": "techjarves/OpenClaude-Portable", "stars": 1157, "tags": ["portable-app", "usb-drive", "zero-footprint", "claude-code", "ollama", "coding-agent", "no-install", "ai-agents", "command-line", "linux", "macos", "nodejs", "web-server"], "topics": [], "urls": [], "use_cases": ["run an AI coding agent from a USB stick on any PC", "use Claude Code without installing anything", "code with local LLMs offline via Ollama", "carry my AI dev environment between machines", "run an AI agent with zero footprint on the host system", "speed up local model responses by trimming system prompts", "resume interrupted AI coding sessions"], "what_it_is": "A portable AI coding agent that runs Claude Code-style functionality from a USB drive or any folder with no installation, bundling a self-contained Node.js runtime, a system-prompt proxy for local models, and a web dashboard. It supports nine AI providers including offline Ollama mode and keeps all data inside its own folder for zero footprint on the host machine.", "when_to_avoid": ["you need a deeply integrated IDE extension experience", "you require enterprise-grade security or audit trails", "you prefer a natively installed tool with system-level integration"], "when_to_choose": ["you need a fully portable, no-install AI coding agent", "you work across locked-down or shared machines", "you want offline coding assistance with Ollama", "you want all keys, logs, and sessions kept on removable media"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/openclaude-portable", "repo": "techjarves/OpenClaude-Portable", "role": "main", "score": 50}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:48.220329+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:32:04.253021+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d2f5da4e4413e36c0ea756da9e3138cb49b89734cfdf910d60fa9894d177fa8", "fetched_at": "2026-08-28T04:03:48.220329+00:00", "kind": "readme", "missing": false, "url": "https://github.com/techjarves/OpenClaude-Portable"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:48.220329+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:32:04.253021+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d2f5da4e4413e36c0ea756da9e3138cb49b89734cfdf910d60fa9894d177fa8", "fetched_at": "2026-08-28T04:03:48.220329+00:00", "kind": "readme", "missing": false, "url": "https://github.com/techjarves/OpenClaude-Portable"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:32:04.253021+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d2f5da4e4413e36c0ea756da9e3138cb49b89734cfdf910d60fa9894d177fa8", "fetched_at": "2026-08-28T04:03:48.220329+00:00", "kind": "readme", "missing": false, "url": "https://github.com/techjarves/OpenClaude-Portable"}], "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.220329+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:48.220329+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:48.220329+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:32:04.253021+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d2f5da4e4413e36c0ea756da9e3138cb49b89734cfdf910d60fa9894d177fa8", "fetched_at": "2026-08-28T04:03:48.220329+00:00", "kind": "readme", "missing": false, "url": "https://github.com/techjarves/OpenClaude-Portable"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:48.220329+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:48.220329+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:32:04.253021+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d2f5da4e4413e36c0ea756da9e3138cb49b89734cfdf910d60fa9894d177fa8", "fetched_at": "2026-08-28T04:03:48.220329+00:00", "kind": "readme", "missing": false, "url": "https://github.com/techjarves/OpenClaude-Portable"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:48.220329+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:48.220329+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:48.220329+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:32:04.253021+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d2f5da4e4413e36c0ea756da9e3138cb49b89734cfdf910d60fa9894d177fa8", "fetched_at": "2026-08-28T04:03:48.220329+00:00", "kind": "readme", "missing": false, "url": "https://github.com/techjarves/OpenClaude-Portable"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:48.220329+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:48.220329+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:32:04.253021+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d2f5da4e4413e36c0ea756da9e3138cb49b89734cfdf910d60fa9894d177fa8", "fetched_at": "2026-08-28T04:03:48.220329+00:00", "kind": "readme", "missing": false, "url": "https://github.com/techjarves/OpenClaude-Portable"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:32:04.253021+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d2f5da4e4413e36c0ea756da9e3138cb49b89734cfdf910d60fa9894d177fa8", "fetched_at": "2026-08-28T04:03:48.220329+00:00", "kind": "readme", "missing": false, "url": "https://github.com/techjarves/OpenClaude-Portable"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:32:04.253021+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d2f5da4e4413e36c0ea756da9e3138cb49b89734cfdf910d60fa9894d177fa8", "fetched_at": "2026-08-28T04:03:48.220329+00:00", "kind": "readme", "missing": false, "url": "https://github.com/techjarves/OpenClaude-Portable"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:32:04.253021+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d2f5da4e4413e36c0ea756da9e3138cb49b89734cfdf910d60fa9894d177fa8", "fetched_at": "2026-08-28T04:03:48.220329+00:00", "kind": "readme", "missing": false, "url": "https://github.com/techjarves/OpenClaude-Portable"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 81, "longevity": 9, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 126, "days_push": 118, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 50, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}