{"adoption": {"forks": 122, "observed_at": "2026-08-28T04:04:27.224198+00:00", "stars": 1344}, "canonical_url": "https://ross.abutalabs.com/products/tuboshu", "card": {"archived": false, "artifact_type": "application", "description": "Transform Your Favorite Websites into Seamless Desktop Experiences✨!   把常用的网站集合到一个桌面程序里。", "domain": ["developer-tools", "cross-platform", "web-development", "desktop-applications"], "enriched": true, "function": ["gui", "developer-tools", "workflow-automation", "configuration-management"], "health_score": 98, "homepage": null, "language": "JavaScript", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["deepshit2025/tuboshu"], "name": "deepshit2025/tuboshu", "platform": ["cross-platform", "windows"], "pushed_at": "2026-08-20T03:54:03+00:00", "repo": "deepshit2025/tuboshu", "stars": 1344, "tags": ["web-to-desktop-app", "electron-wrapper", "multi-account", "site-specific-browser", "js-injection", "global-hotkeys", "electron", "macos", "linux"], "topics": [], "urls": [], "use_cases": ["turn a website into a desktop app", "run multiple accounts of the same website side by side", "open Figma or Notion in a dedicated window with a hotkey", "inject custom JavaScript into a web app to customize it", "package a web app as a portable executable", "keep web tools like Airtable always accessible with a global shortcut"], "what_it_is": "Tuboshu is an open-source Electron-based desktop application that turns any website into a standalone desktop app with custom icons, window sizes, and global shortcuts. It supports running multiple isolated instances of the same site for separate accounts and can package sites into portable executables.", "when_to_avoid": ["you need a native app with offline capabilities beyond what the website offers", "you require a signed, licensed product with official support", "you need mobile or web deployment rather than desktop", "your organization prohibits unsigned open-source executables"], "when_to_choose": ["you want site-specific browser windows for web apps without building anything", "you need multiple isolated logins for the same site", "you want a free, open-source alternative to tools like Unite or WebCatalog", "you need custom JS injection or per-app shortcuts for web tools"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/tuboshu", "repo": "deepshit2025/tuboshu", "role": "main", "score": 84}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.224198+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:42:49.630767+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "034ae10a9c3df0753bba9dc600e8da07f37852c6527635fdfa9107a988fc4375", "fetched_at": "2026-08-28T04:04:27.224198+00:00", "kind": "readme", "missing": false, "url": "https://github.com/deepshit2025/tuboshu"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.224198+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:42:49.630767+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "034ae10a9c3df0753bba9dc600e8da07f37852c6527635fdfa9107a988fc4375", "fetched_at": "2026-08-28T04:04:27.224198+00:00", "kind": "readme", "missing": false, "url": "https://github.com/deepshit2025/tuboshu"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:42:49.630767+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "034ae10a9c3df0753bba9dc600e8da07f37852c6527635fdfa9107a988fc4375", "fetched_at": "2026-08-28T04:04:27.224198+00:00", "kind": "readme", "missing": false, "url": "https://github.com/deepshit2025/tuboshu"}], "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:04:27.224198+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.224198+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.224198+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:42:49.630767+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "034ae10a9c3df0753bba9dc600e8da07f37852c6527635fdfa9107a988fc4375", "fetched_at": "2026-08-28T04:04:27.224198+00:00", "kind": "readme", "missing": false, "url": "https://github.com/deepshit2025/tuboshu"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.224198+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.224198+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:42:49.630767+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "034ae10a9c3df0753bba9dc600e8da07f37852c6527635fdfa9107a988fc4375", "fetched_at": "2026-08-28T04:04:27.224198+00:00", "kind": "readme", "missing": false, "url": "https://github.com/deepshit2025/tuboshu"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.224198+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.224198+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.224198+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:42:49.630767+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "034ae10a9c3df0753bba9dc600e8da07f37852c6527635fdfa9107a988fc4375", "fetched_at": "2026-08-28T04:04:27.224198+00:00", "kind": "readme", "missing": false, "url": "https://github.com/deepshit2025/tuboshu"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.224198+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.224198+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:42:49.630767+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "034ae10a9c3df0753bba9dc600e8da07f37852c6527635fdfa9107a988fc4375", "fetched_at": "2026-08-28T04:04:27.224198+00:00", "kind": "readme", "missing": false, "url": "https://github.com/deepshit2025/tuboshu"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:42:49.630767+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "034ae10a9c3df0753bba9dc600e8da07f37852c6527635fdfa9107a988fc4375", "fetched_at": "2026-08-28T04:04:27.224198+00:00", "kind": "readme", "missing": false, "url": "https://github.com/deepshit2025/tuboshu"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:42:49.630767+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "034ae10a9c3df0753bba9dc600e8da07f37852c6527635fdfa9107a988fc4375", "fetched_at": "2026-08-28T04:04:27.224198+00:00", "kind": "readme", "missing": false, "url": "https://github.com/deepshit2025/tuboshu"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:42:49.630767+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "034ae10a9c3df0753bba9dc600e8da07f37852c6527635fdfa9107a988fc4375", "fetched_at": "2026-08-28T04:04:27.224198+00:00", "kind": "readme", "missing": false, "url": "https://github.com/deepshit2025/tuboshu"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 38, "rhythm": 91}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 541, "days_push": 13, "days_rel": 60, "gap_med": 9.5, "n_releases_24m": 11}, "score": 84, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}