{"adoption": {"forks": 959, "observed_at": "2026-08-28T04:10:20.982874+00:00", "stars": 8409}, "canonical_url": "https://ross.abutalabs.com/products/wechatexporter", "card": {"archived": false, "artifact_type": "application", "description": "Wechat Chat History Exporter 微信聊天记录导出备份程序", "domain": ["messaging-platforms", "privacy", "files", "cross-platform"], "enriched": true, "function": ["pdf", "parser", "developer-tools"], "health_score": 25, "homepage": null, "language": "C++", "license": "GPL-2.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["BlueMatthew/WechatExporter"], "name": "BlueMatthew/WechatExporter", "platform": ["windows", "cpp"], "pushed_at": "2025-02-26T15:51:50+00:00", "repo": "BlueMatthew/WechatExporter", "stars": 8409, "tags": ["wechat", "chat-export", "itunes-backup", "backup", "chat-history", "silk-audio-decode", "macos", "desktop"], "topics": ["wechat", "export", "history", "chat", "friend", "itunes", "backup", "libmp3lame", "silk", "libplist", "dump"], "urls": [], "use_cases": ["export wechat chat history from itunes backup", "backup wechat messages to html or pdf", "convert wechat voice messages from silk format", "merge wechat group chat exports incrementally", "recover wechat conversations after deleting them from phone", "read wechat chat logs on a computer"], "what_it_is": "A cross-platform desktop application (C++) that exports and backs up WeChat chat histories from an iPhone/iPad iTunes backup into Text, HTML, or PDF formats. It supports incremental exports, message filtering, group chat names, and decoding of voice messages.", "when_to_avoid": ["you use Android only and have no access to an iPhone/iPad to migrate chats to", "you need to export chats directly from the WeChat app without an iTunes backup", "you need a Linux-native build or a fully automated headless pipeline"], "when_to_choose": ["you back up your iPhone with iTunes and want a readable archive of WeChat conversations", "you need offline, self-hosted export of WeChat messages without third-party cloud services", "you want incremental backups so you can delete chats from the phone after exporting"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/wechatexporter", "repo": "BlueMatthew/WechatExporter", "role": "main", "score": 26}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.982874+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:27:18.280497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf7162f531d518e84190028fe6244c6c6104662b8f98688181cf4ff8b9feb23f", "fetched_at": "2026-08-28T04:10:20.982874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BlueMatthew/WechatExporter"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.982874+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:27:18.280497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf7162f531d518e84190028fe6244c6c6104662b8f98688181cf4ff8b9feb23f", "fetched_at": "2026-08-28T04:10:20.982874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BlueMatthew/WechatExporter"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:27:18.280497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf7162f531d518e84190028fe6244c6c6104662b8f98688181cf4ff8b9feb23f", "fetched_at": "2026-08-28T04:10:20.982874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BlueMatthew/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:10:20.982874+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.982874+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.982874+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:27:18.280497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf7162f531d518e84190028fe6244c6c6104662b8f98688181cf4ff8b9feb23f", "fetched_at": "2026-08-28T04:10:20.982874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BlueMatthew/WechatExporter"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.982874+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.982874+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:27:18.280497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf7162f531d518e84190028fe6244c6c6104662b8f98688181cf4ff8b9feb23f", "fetched_at": "2026-08-28T04:10:20.982874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BlueMatthew/WechatExporter"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.982874+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.982874+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.982874+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:27:18.280497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf7162f531d518e84190028fe6244c6c6104662b8f98688181cf4ff8b9feb23f", "fetched_at": "2026-08-28T04:10:20.982874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BlueMatthew/WechatExporter"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.982874+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.982874+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:27:18.280497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf7162f531d518e84190028fe6244c6c6104662b8f98688181cf4ff8b9feb23f", "fetched_at": "2026-08-28T04:10:20.982874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BlueMatthew/WechatExporter"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:27:18.280497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf7162f531d518e84190028fe6244c6c6104662b8f98688181cf4ff8b9feb23f", "fetched_at": "2026-08-28T04:10:20.982874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BlueMatthew/WechatExporter"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:27:18.280497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf7162f531d518e84190028fe6244c6c6104662b8f98688181cf4ff8b9feb23f", "fetched_at": "2026-08-28T04:10:20.982874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BlueMatthew/WechatExporter"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:27:18.280497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf7162f531d518e84190028fe6244c6c6104662b8f98688181cf4ff8b9feb23f", "fetched_at": "2026-08-28T04:10:20.982874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BlueMatthew/WechatExporter"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 8, "longevity": 100, "rhythm": 8}, "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": 2144, "days_push": 553, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 26, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}