{"adoption": {"forks": 179, "observed_at": "2026-08-28T04:08:24.038568+00:00", "stars": 3845}, "canonical_url": "https://ross.abutalabs.com/products/zhihu-plus-plus", "card": {"archived": false, "artifact_type": "application", "description": "Zhihu++ | 知乎++: Ad-free, low cost, AI powered zhihu android 3rd-party client. 去广告、占用低、AI大模型的新时代知乎安卓端体验", "domain": ["social-media", "privacy", "android-tools"], "enriched": true, "function": ["gui", "privacy", "web-scraping", "llm-inference", "nlp", "tts"], "health_score": 100, "homepage": null, "language": "Kotlin", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["zly2006/zhihu-plus-plus"], "name": "zly2006/zhihu-plus-plus", "platform": ["cross-platform", "jvm"], "pushed_at": "2026-08-26T10:41:32+00:00", "repo": "zly2006/zhihu-plus-plus", "stars": 3845, "tags": ["zhihu", "third-party-client", "ad-blocking", "content-filtering", "local-recommendation", "kotlin-multiplatform", "on-device-ai", "aigc-detection", "feed-customization", "q-and-a", "chinese-platform", "agpl-3.0", "natural-language-processing", "android", "mobile", "desktop"], "topics": ["android", "zhihu", "zhihu-daily"], "urls": [], "use_cases": ["browse zhihu on android without ads or sponsored posts", "replace zhihu's algorithm with a local customizable recommendation feed", "block zhihu answers by keywords, regex, users, or topics", "use AI to automatically filter low-quality or AIGC content in my feed", "read zhihu articles with text-to-speech and immersive mode", "export zhihu answers and collections to pdf, markdown, or html", "get a lightweight zhihu client with a tiny apk instead of the official 110MB app", "log in to zhihu on desktop via qr code scanning"], "what_it_is": "Zhihu++ is an open-source third-party Android client for the Chinese Q&A platform Zhihu, built in Kotlin, that removes ads, promotional posts, and paid Salt-Select content while giving users control over their feed. It features a fully local recommendation algorithm, AI-powered content filtering using on-device LLM embeddings (ONNX), rich reading/writing tools, and an experimental cross-platform desktop build via Kotlin Multiplatform.", "when_to_avoid": ["You need an iOS or production-quality desktop client - only Android is stable and the desktop jar is experimental", "You depend on the official app's full feature set or guaranteed API stability, since a third-party client can break when Zhihu changes its API", "You want the smallest, fastest APK but still need the NLP smart filtering, which is only in the Full build with the ONNX runtime", "You are not a Zhihu user - the app is purpose-built for that platform"], "when_to_choose": ["You are an active Zhihu user on Android who wants an ad-free, privacy-respecting, low-footprint client", "You want to escape the platform's recommendation algorithm with local, tunable feed weights and blocking rules", "You want AI-assisted content filtering, AIGC labeling, watermark-free image saving, and export to PDF/Markdown", "You want to contribute to or customize an open-source (AGPL-3.0) client"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/zhihu-plus-plus", "repo": "zly2006/zhihu-plus-plus", "role": "main", "score": 85}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:24.038568+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:26:12.141945+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dfb66b516f4df6720fa5752b159a74e45ebfe98efb2d84dcde01c0da1c8f1432", "fetched_at": "2026-08-28T04:08:24.038568+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zly2006/zhihu-plus-plus"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:24.038568+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:26:12.141945+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dfb66b516f4df6720fa5752b159a74e45ebfe98efb2d84dcde01c0da1c8f1432", "fetched_at": "2026-08-28T04:08:24.038568+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zly2006/zhihu-plus-plus"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:26:12.141945+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dfb66b516f4df6720fa5752b159a74e45ebfe98efb2d84dcde01c0da1c8f1432", "fetched_at": "2026-08-28T04:08:24.038568+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zly2006/zhihu-plus-plus"}], "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:08:24.038568+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:24.038568+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:24.038568+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:26:12.141945+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dfb66b516f4df6720fa5752b159a74e45ebfe98efb2d84dcde01c0da1c8f1432", "fetched_at": "2026-08-28T04:08:24.038568+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zly2006/zhihu-plus-plus"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:24.038568+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:24.038568+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:26:12.141945+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dfb66b516f4df6720fa5752b159a74e45ebfe98efb2d84dcde01c0da1c8f1432", "fetched_at": "2026-08-28T04:08:24.038568+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zly2006/zhihu-plus-plus"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:24.038568+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:24.038568+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:24.038568+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:26:12.141945+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dfb66b516f4df6720fa5752b159a74e45ebfe98efb2d84dcde01c0da1c8f1432", "fetched_at": "2026-08-28T04:08:24.038568+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zly2006/zhihu-plus-plus"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:24.038568+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:24.038568+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:26:12.141945+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dfb66b516f4df6720fa5752b159a74e45ebfe98efb2d84dcde01c0da1c8f1432", "fetched_at": "2026-08-28T04:08:24.038568+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zly2006/zhihu-plus-plus"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:26:12.141945+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dfb66b516f4df6720fa5752b159a74e45ebfe98efb2d84dcde01c0da1c8f1432", "fetched_at": "2026-08-28T04:08:24.038568+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zly2006/zhihu-plus-plus"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:26:12.141945+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dfb66b516f4df6720fa5752b159a74e45ebfe98efb2d84dcde01c0da1c8f1432", "fetched_at": "2026-08-28T04:08:24.038568+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zly2006/zhihu-plus-plus"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:26:12.141945+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dfb66b516f4df6720fa5752b159a74e45ebfe98efb2d84dcde01c0da1c8f1432", "fetched_at": "2026-08-28T04:08:24.038568+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zly2006/zhihu-plus-plus"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 50, "rhythm": 87}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 702, "days_push": 7, "days_rel": 11, "gap_med": 1, "n_releases_24m": 144}, "score": 85, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}