{"adoption": {"forks": 240, "observed_at": "2026-08-28T04:04:57.382799+00:00", "stars": 1518}, "canonical_url": "https://ross.abutalabs.com/products/tsycnh-wechatexporter", "card": {"archived": false, "artifact_type": "application", "description": "一个可以快速导出、查看你的微信聊天记录的工具", "domain": ["messaging-platforms", "privacy", "files", "cross-platform"], "enriched": true, "function": ["parser", "data-science", "gui", "developer-tools"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "abandoned", "member_repos": ["tsycnh/WeChatExporter"], "name": "tsycnh/WeChatExporter", "platform": [], "pushed_at": "2020-10-23T05:39:30+00:00", "repo": "tsycnh/WeChatExporter", "stars": 1518, "tags": ["wechat", "chat-export", "chat-backup", "sqlite", "nwjs", "angularjs", "itunes-backup", "macos", "nodejs", "ios", "desktop"], "topics": [], "urls": [], "use_cases": ["export wechat chat history from iphone backup", "view wechat messages on my computer", "backup wechat conversations without jailbreak", "export wechat voice messages and images", "read old wechat chats from itunes backup", "migrate wechat records off an ios device"], "what_it_is": "A macOS desktop application built with Node.js, nwjs, and AngularJS that parses iTunes backups of iOS devices to export and view WeChat chat history, including text, voice, images, and video. It requires no jailbreak and renders conversations in a local viewer.", "when_to_avoid": ["you use Android or Windows as the source platform (unsupported/unadapted)", "you want a polished, actively maintained tool", "you cannot compile native sqlite3 modules or set up nwjs"], "when_to_choose": ["you need to export and browse WeChat history from an iOS device on a Mac", "you want a free, open-source alternative to paid backup viewers", "you need offline access to chat text, voice, images, and video"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/tsycnh-wechatexporter", "repo": "tsycnh/WeChatExporter", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.382799+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:32:02.548973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7c537eb8be41534ad67c80cf85350db5ef55341cdef3afe168f2e82c5e949319", "fetched_at": "2026-08-28T04:04:57.382799+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tsycnh/WeChatExporter"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.382799+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:32:02.548973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7c537eb8be41534ad67c80cf85350db5ef55341cdef3afe168f2e82c5e949319", "fetched_at": "2026-08-28T04:04:57.382799+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tsycnh/WeChatExporter"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:32:02.548973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7c537eb8be41534ad67c80cf85350db5ef55341cdef3afe168f2e82c5e949319", "fetched_at": "2026-08-28T04:04:57.382799+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tsycnh/WeChatExporter"}], "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:57.382799+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.382799+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.382799+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:32:02.548973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7c537eb8be41534ad67c80cf85350db5ef55341cdef3afe168f2e82c5e949319", "fetched_at": "2026-08-28T04:04:57.382799+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tsycnh/WeChatExporter"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.382799+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.382799+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:32:02.548973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7c537eb8be41534ad67c80cf85350db5ef55341cdef3afe168f2e82c5e949319", "fetched_at": "2026-08-28T04:04:57.382799+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tsycnh/WeChatExporter"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.382799+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.382799+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.382799+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:32:02.548973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7c537eb8be41534ad67c80cf85350db5ef55341cdef3afe168f2e82c5e949319", "fetched_at": "2026-08-28T04:04:57.382799+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tsycnh/WeChatExporter"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.382799+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.382799+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:32:02.548973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7c537eb8be41534ad67c80cf85350db5ef55341cdef3afe168f2e82c5e949319", "fetched_at": "2026-08-28T04:04:57.382799+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tsycnh/WeChatExporter"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:32:02.548973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7c537eb8be41534ad67c80cf85350db5ef55341cdef3afe168f2e82c5e949319", "fetched_at": "2026-08-28T04:04:57.382799+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tsycnh/WeChatExporter"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:32:02.548973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7c537eb8be41534ad67c80cf85350db5ef55341cdef3afe168f2e82c5e949319", "fetched_at": "2026-08-28T04:04:57.382799+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tsycnh/WeChatExporter"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:32:02.548973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7c537eb8be41534ad67c80cf85350db5ef55341cdef3afe168f2e82c5e949319", "fetched_at": "2026-08-28T04:04:57.382799+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tsycnh/WeChatExporter"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3001, "days_push": 2140, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}