{"adoption": {"forks": 299, "observed_at": "2026-08-28T04:06:09.983958+00:00", "stars": 2064}, "canonical_url": "https://ross.abutalabs.com/products/xhs_ai_publisher", "card": {"archived": false, "artifact_type": "application", "description": "AI-powered Xiaohongshu/Rednote content creation and publishing tool with PyQt desktop UI, FastAPI service, login-state reuse, preview publish, and automated browser workflows.", "domain": ["social-media", "artificial-intelligence", "developer-tools", "media"], "enriched": true, "function": ["llm-inference", "workflow-automation", "scheduling", "image-processing", "gui", "web-scraping", "prompt-engineering"], "health_score": 93, "homepage": "https://xhsaipublisher.com/", "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["BetaStreetOmnis/xhs_ai_publisher"], "name": "BetaStreetOmnis/xhs_ai_publisher", "platform": ["windows", "python", "cross-platform"], "pushed_at": "2026-06-28T03:52:31+00:00", "repo": "BetaStreetOmnis/xhs_ai_publisher", "stars": 2064, "tags": ["xiaohongshu", "rednote", "content-creation", "social-media-publishing", "pyqt5", "playwright", "fastapi", "ai-content-generation", "scheduled-publishing", "cover-image-templates", "automation", "macos", "linux", "desktop"], "topics": ["ai", "automation", "fastapi", "playwright", "pyqt5", "rednote", "xiaohongshu"], "urls": [], "use_cases": ["generate xiaohongshu posts with ai", "automatically publish content to rednote", "schedule xiaohongshu posts for later", "create cover images and content cards for xiaohongshu", "reuse browser login state to publish without re-login", "pull trending topics from weibo and baidu to write posts", "manage multiple xiaohongshu accounts locally"], "what_it_is": "A desktop application for AI-powered content creation and automated publishing on Xiaohongshu (Rednote), built with PyQt5, FastAPI, and Playwright. It generates titles, articles, tags, and cover/content images from topics or trending data, and publishes them via automated browser workflows with login-state reuse and scheduled unattended posting.", "when_to_avoid": ["you need to publish to platforms other than Xiaohongshu", "you require a headless server-side or cloud deployment rather than a desktop GUI", "you are uncomfortable with browser-automation-based publishing that may trigger platform risk controls", "you need guaranteed API-level integration with Xiaohongshu"], "when_to_choose": ["you regularly publish content on Xiaohongshu and want to automate writing and posting", "you want scheduled, unattended publishing with saved login state", "you want AI-generated titles, copy, tags, and cover images in one desktop tool", "you need multi-account management with local data isolation"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/xhs_ai_publisher", "repo": "BetaStreetOmnis/xhs_ai_publisher", "role": "main", "score": 70}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:09.983958+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:56:59.755501+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7d6b8b766699e5994afe1c2f001b8e40a9f4c43c67ac6e5f77067ee773978a00", "fetched_at": "2026-08-28T04:06:09.983958+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BetaStreetOmnis/xhs_ai_publisher"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:09.983958+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:56:59.755501+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7d6b8b766699e5994afe1c2f001b8e40a9f4c43c67ac6e5f77067ee773978a00", "fetched_at": "2026-08-28T04:06:09.983958+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BetaStreetOmnis/xhs_ai_publisher"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:56:59.755501+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7d6b8b766699e5994afe1c2f001b8e40a9f4c43c67ac6e5f77067ee773978a00", "fetched_at": "2026-08-28T04:06:09.983958+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BetaStreetOmnis/xhs_ai_publisher"}], "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:06:09.983958+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:09.983958+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:09.983958+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:56:59.755501+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7d6b8b766699e5994afe1c2f001b8e40a9f4c43c67ac6e5f77067ee773978a00", "fetched_at": "2026-08-28T04:06:09.983958+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BetaStreetOmnis/xhs_ai_publisher"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:09.983958+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:09.983958+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:56:59.755501+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7d6b8b766699e5994afe1c2f001b8e40a9f4c43c67ac6e5f77067ee773978a00", "fetched_at": "2026-08-28T04:06:09.983958+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BetaStreetOmnis/xhs_ai_publisher"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:09.983958+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:09.983958+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:09.983958+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:56:59.755501+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7d6b8b766699e5994afe1c2f001b8e40a9f4c43c67ac6e5f77067ee773978a00", "fetched_at": "2026-08-28T04:06:09.983958+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BetaStreetOmnis/xhs_ai_publisher"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:09.983958+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:09.983958+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:56:59.755501+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7d6b8b766699e5994afe1c2f001b8e40a9f4c43c67ac6e5f77067ee773978a00", "fetched_at": "2026-08-28T04:06:09.983958+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BetaStreetOmnis/xhs_ai_publisher"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:56:59.755501+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7d6b8b766699e5994afe1c2f001b8e40a9f4c43c67ac6e5f77067ee773978a00", "fetched_at": "2026-08-28T04:06:09.983958+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BetaStreetOmnis/xhs_ai_publisher"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:56:59.755501+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7d6b8b766699e5994afe1c2f001b8e40a9f4c43c67ac6e5f77067ee773978a00", "fetched_at": "2026-08-28T04:06:09.983958+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BetaStreetOmnis/xhs_ai_publisher"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:56:59.755501+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7d6b8b766699e5994afe1c2f001b8e40a9f4c43c67ac6e5f77067ee773978a00", "fetched_at": "2026-08-28T04:06:09.983958+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BetaStreetOmnis/xhs_ai_publisher"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 89, "longevity": 47, "rhythm": 58}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 661, "days_push": 66, "days_rel": 66, "gap_med": null, "n_releases_24m": 1}, "score": 70, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}