{"adoption": {"forks": 1524, "observed_at": "2026-08-28T04:11:26.406762+00:00", "stars": 18171}, "canonical_url": "https://ross.abutalabs.com/products/weclone", "card": {"archived": false, "artifact_type": "framework", "description": "🚀 One-stop solution for creating your AI twin from chat history 💡 Fine-tune LLMs with your chat logs to capture your unique style, then bind to a chatbot to bring your digital self to life.  ", "domain": ["large-language-models", "artificial-intelligence", "chatbots", "privacy"], "enriched": true, "function": ["llm-training", "llm-inference", "chatbot", "rag", "etl", "agent-framework"], "health_score": 95, "homepage": "https://weclone.love", "language": "Python", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["xming521/WeClone"], "name": "xming521/WeClone", "platform": ["python", "self-hosted", "cli"], "pushed_at": "2026-08-18T13:47:06+00:00", "repo": "xming521/WeClone", "stars": 18171, "tags": ["digital-avatar", "digital-twin", "fine-tuning", "chat-history", "wechat", "qwen", "personalization", "natural-language-processing", "telegram", "discord"], "topics": ["llm", "qwen", "chat-history", "digital-avatar", "telegram"], "urls": [], "use_cases": ["create an AI clone of myself from my chat logs", "fine-tune an LLM on my WeChat or Telegram message history", "build a chatbot that talks in my personal style", "train a digital avatar with my catchphrases and expressions", "run a personal AI twin locally for privacy", "deploy a fine-tuned persona bot to Telegram"], "what_it_is": "WeClone is an end-to-end Python framework for creating a personal AI digital twin by fine-tuning large language models on your exported chat history. It covers data export and preprocessing, privacy filtering, model fine-tuning, and deployment as a chatbot on platforms like Telegram.", "when_to_avoid": ["you need a production-grade enterprise chatbot with guaranteed response quality", "you cannot provide sufficient chat data volume for meaningful fine-tuning", "you lack GPU resources for local model training and inference"], "when_to_choose": ["you want a complete pipeline from chat data export to deployed persona chatbot", "you need local fine-tuning and deployment with privacy filtering of personal data", "you want to integrate your AI twin with Telegram or other chat platforms"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/weclone", "repo": "xming521/WeClone", "role": "main", "score": 80}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:26.406762+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:02:08.019733+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dbf7ec02017e28658769e06670cdb1cb8109dd93f43399eded08faff4bed006b", "fetched_at": "2026-08-28T04:11:26.406762+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xming521/WeClone"}, {"content_hash": "e9d02e9bfa7856fc585d93a14712dbd1c301f8e7e16656371286054006f34573", "fetched_at": "2026-08-29T08:00:07.246061+00:00", "kind": "homepage", "missing": false, "url": "https://weclone.love"}, {"content_hash": "7870193a638fdc41c7c9154f4ef02d92eebe9fac611bf89120d7fc63ff80a6bc", "fetched_at": "2026-08-29T08:00:07.255504+00:00", "kind": "site_page", "missing": false, "url": "https://www.weclone.love/en/docs/introduce/what-is-weclone.html"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:26.406762+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:02:08.019733+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dbf7ec02017e28658769e06670cdb1cb8109dd93f43399eded08faff4bed006b", "fetched_at": "2026-08-28T04:11:26.406762+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xming521/WeClone"}, {"content_hash": "e9d02e9bfa7856fc585d93a14712dbd1c301f8e7e16656371286054006f34573", "fetched_at": "2026-08-29T08:00:07.246061+00:00", "kind": "homepage", "missing": false, "url": "https://weclone.love"}, {"content_hash": "7870193a638fdc41c7c9154f4ef02d92eebe9fac611bf89120d7fc63ff80a6bc", "fetched_at": "2026-08-29T08:00:07.255504+00:00", "kind": "site_page", "missing": false, "url": "https://www.weclone.love/en/docs/introduce/what-is-weclone.html"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:02:08.019733+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dbf7ec02017e28658769e06670cdb1cb8109dd93f43399eded08faff4bed006b", "fetched_at": "2026-08-28T04:11:26.406762+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xming521/WeClone"}, {"content_hash": "e9d02e9bfa7856fc585d93a14712dbd1c301f8e7e16656371286054006f34573", "fetched_at": "2026-08-29T08:00:07.246061+00:00", "kind": "homepage", "missing": false, "url": "https://weclone.love"}, {"content_hash": "7870193a638fdc41c7c9154f4ef02d92eebe9fac611bf89120d7fc63ff80a6bc", "fetched_at": "2026-08-29T08:00:07.255504+00:00", "kind": "site_page", "missing": false, "url": "https://www.weclone.love/en/docs/introduce/what-is-weclone.html"}], "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:11:26.406762+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:26.406762+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:26.406762+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:02:08.019733+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dbf7ec02017e28658769e06670cdb1cb8109dd93f43399eded08faff4bed006b", "fetched_at": "2026-08-28T04:11:26.406762+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xming521/WeClone"}, {"content_hash": "e9d02e9bfa7856fc585d93a14712dbd1c301f8e7e16656371286054006f34573", "fetched_at": "2026-08-29T08:00:07.246061+00:00", "kind": "homepage", "missing": false, "url": "https://weclone.love"}, {"content_hash": "7870193a638fdc41c7c9154f4ef02d92eebe9fac611bf89120d7fc63ff80a6bc", "fetched_at": "2026-08-29T08:00:07.255504+00:00", "kind": "site_page", "missing": false, "url": "https://www.weclone.love/en/docs/introduce/what-is-weclone.html"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:26.406762+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:26.406762+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:02:08.019733+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dbf7ec02017e28658769e06670cdb1cb8109dd93f43399eded08faff4bed006b", "fetched_at": "2026-08-28T04:11:26.406762+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xming521/WeClone"}, {"content_hash": "e9d02e9bfa7856fc585d93a14712dbd1c301f8e7e16656371286054006f34573", "fetched_at": "2026-08-29T08:00:07.246061+00:00", "kind": "homepage", "missing": false, "url": "https://weclone.love"}, {"content_hash": "7870193a638fdc41c7c9154f4ef02d92eebe9fac611bf89120d7fc63ff80a6bc", "fetched_at": "2026-08-29T08:00:07.255504+00:00", "kind": "site_page", "missing": false, "url": "https://www.weclone.love/en/docs/introduce/what-is-weclone.html"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:26.406762+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:26.406762+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:26.406762+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:02:08.019733+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dbf7ec02017e28658769e06670cdb1cb8109dd93f43399eded08faff4bed006b", "fetched_at": "2026-08-28T04:11:26.406762+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xming521/WeClone"}, {"content_hash": "e9d02e9bfa7856fc585d93a14712dbd1c301f8e7e16656371286054006f34573", "fetched_at": "2026-08-29T08:00:07.246061+00:00", "kind": "homepage", "missing": false, "url": "https://weclone.love"}, {"content_hash": "7870193a638fdc41c7c9154f4ef02d92eebe9fac611bf89120d7fc63ff80a6bc", "fetched_at": "2026-08-29T08:00:07.255504+00:00", "kind": "site_page", "missing": false, "url": "https://www.weclone.love/en/docs/introduce/what-is-weclone.html"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:26.406762+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:26.406762+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:02:08.019733+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dbf7ec02017e28658769e06670cdb1cb8109dd93f43399eded08faff4bed006b", "fetched_at": "2026-08-28T04:11:26.406762+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xming521/WeClone"}, {"content_hash": "e9d02e9bfa7856fc585d93a14712dbd1c301f8e7e16656371286054006f34573", "fetched_at": "2026-08-29T08:00:07.246061+00:00", "kind": "homepage", "missing": false, "url": "https://weclone.love"}, {"content_hash": "7870193a638fdc41c7c9154f4ef02d92eebe9fac611bf89120d7fc63ff80a6bc", "fetched_at": "2026-08-29T08:00:07.255504+00:00", "kind": "site_page", "missing": false, "url": "https://www.weclone.love/en/docs/introduce/what-is-weclone.html"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:02:08.019733+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dbf7ec02017e28658769e06670cdb1cb8109dd93f43399eded08faff4bed006b", "fetched_at": "2026-08-28T04:11:26.406762+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xming521/WeClone"}, {"content_hash": "e9d02e9bfa7856fc585d93a14712dbd1c301f8e7e16656371286054006f34573", "fetched_at": "2026-08-29T08:00:07.246061+00:00", "kind": "homepage", "missing": false, "url": "https://weclone.love"}, {"content_hash": "7870193a638fdc41c7c9154f4ef02d92eebe9fac611bf89120d7fc63ff80a6bc", "fetched_at": "2026-08-29T08:00:07.255504+00:00", "kind": "site_page", "missing": false, "url": "https://www.weclone.love/en/docs/introduce/what-is-weclone.html"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:02:08.019733+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dbf7ec02017e28658769e06670cdb1cb8109dd93f43399eded08faff4bed006b", "fetched_at": "2026-08-28T04:11:26.406762+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xming521/WeClone"}, {"content_hash": "e9d02e9bfa7856fc585d93a14712dbd1c301f8e7e16656371286054006f34573", "fetched_at": "2026-08-29T08:00:07.246061+00:00", "kind": "homepage", "missing": false, "url": "https://weclone.love"}, {"content_hash": "7870193a638fdc41c7c9154f4ef02d92eebe9fac611bf89120d7fc63ff80a6bc", "fetched_at": "2026-08-29T08:00:07.255504+00:00", "kind": "site_page", "missing": false, "url": "https://www.weclone.love/en/docs/introduce/what-is-weclone.html"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:02:08.019733+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dbf7ec02017e28658769e06670cdb1cb8109dd93f43399eded08faff4bed006b", "fetched_at": "2026-08-28T04:11:26.406762+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xming521/WeClone"}, {"content_hash": "e9d02e9bfa7856fc585d93a14712dbd1c301f8e7e16656371286054006f34573", "fetched_at": "2026-08-29T08:00:07.246061+00:00", "kind": "homepage", "missing": false, "url": "https://weclone.love"}, {"content_hash": "7870193a638fdc41c7c9154f4ef02d92eebe9fac611bf89120d7fc63ff80a6bc", "fetched_at": "2026-08-29T08:00:07.255504+00:00", "kind": "site_page", "missing": false, "url": "https://www.weclone.love/en/docs/introduce/what-is-weclone.html"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 67, "rhythm": 64}, "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": 945, "days_push": 15, "days_rel": 241, "gap_med": 14.5, "n_releases_24m": 11}, "score": 80, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}