{"adoption": {"forks": 443, "observed_at": "2026-08-28T04:07:28.296073+00:00", "stars": 2889}, "canonical_url": "https://ross.abutalabs.com/products/virtualwife", "card": {"archived": false, "artifact_type": "application", "description": "VirtualWife是一个虚拟数字人项目，支持B站直播，支持openai、ollama", "domain": ["artificial-intelligence", "large-language-models", "chatbots", "self-hosted", "entertainment", "gaming-tools"], "enriched": true, "function": ["chatbot", "chat-interface", "tts", "llm-inference", "agent-framework", "rag", "streaming", "web-framework"], "health_score": 26, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "experimental", "member_repos": ["yakami129/VirtualWife"], "name": "yakami129/VirtualWife", "platform": ["windows", "self-hosted", "python"], "pushed_at": "2024-10-27T07:09:17+00:00", "repo": "yakami129/VirtualWife", "stars": 2889, "tags": ["virtual-digital-human", "vrm-models", "bilibili-live", "vtuber", "ollama", "openai", "long-term-memory", "voice-chat", "docker-compose", "companion-ai", "natural-language-processing", "docker", "linux", "macos", "web-server", "nodejs"], "topics": ["chatgpt", "virtual", "virtualwife", "docker", "nodejs", "reatctjs", "webui", "gpt", "openai", "ollama"], "urls": [], "use_cases": ["run an AI companion virtual character with a 3D VRM avatar", "host a virtual YouTuber that livestreams on Bilibili with AI chat", "chat with a customizable AI girlfriend/persona using OpenAI or local Ollama models", "deploy a self-hosted voice chatbot with long-term memory via Docker", "give a virtual character text-driven facial expressions and body motions", "switch between Edge TTS and Bert-VITS2 for Chinese voice conversations"], "what_it_is": "VirtualWife is a self-hosted virtual digital human (AI companion) application that combines VRM 3D character models with LLM-powered conversation, voice synthesis, memory, and emotion features. It supports one-click Docker deployment, streaming responses, OpenAI/Ollama model backends, and livestreaming on Bilibili.", "when_to_avoid": ["you need a production-grade, stable virtual human platform for business use", "you want a lightweight CLI or library to embed rather than a full web application", "you need polished English-language support or extensive documentation", "you require guaranteed long-term maintenance, as the project is still in incubation"], "when_to_choose": ["you want a Docker-deployable virtual AI companion with a 3D avatar and voice", "you need Bilibili livestreaming driven by an LLM chatbot", "you want to swap between OpenAI and private Ollama models", "you want customizable VRM character models with emotion and motion control"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/virtualwife", "repo": "yakami129/VirtualWife", "role": "main", "score": 20}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.296073+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:35:21.768052+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6364a11e8615b4a8aac6d3aaeffc882362107a02855ef50b1fb7c481b85e6cf4", "fetched_at": "2026-08-28T04:07:28.296073+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yakami129/VirtualWife"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.296073+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:35:21.768052+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6364a11e8615b4a8aac6d3aaeffc882362107a02855ef50b1fb7c481b85e6cf4", "fetched_at": "2026-08-28T04:07:28.296073+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yakami129/VirtualWife"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:35:21.768052+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6364a11e8615b4a8aac6d3aaeffc882362107a02855ef50b1fb7c481b85e6cf4", "fetched_at": "2026-08-28T04:07:28.296073+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yakami129/VirtualWife"}], "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:07:28.296073+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.296073+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.296073+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:35:21.768052+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6364a11e8615b4a8aac6d3aaeffc882362107a02855ef50b1fb7c481b85e6cf4", "fetched_at": "2026-08-28T04:07:28.296073+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yakami129/VirtualWife"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.296073+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.296073+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:35:21.768052+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6364a11e8615b4a8aac6d3aaeffc882362107a02855ef50b1fb7c481b85e6cf4", "fetched_at": "2026-08-28T04:07:28.296073+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yakami129/VirtualWife"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.296073+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.296073+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.296073+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:35:21.768052+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6364a11e8615b4a8aac6d3aaeffc882362107a02855ef50b1fb7c481b85e6cf4", "fetched_at": "2026-08-28T04:07:28.296073+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yakami129/VirtualWife"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.296073+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.296073+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:35:21.768052+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6364a11e8615b4a8aac6d3aaeffc882362107a02855ef50b1fb7c481b85e6cf4", "fetched_at": "2026-08-28T04:07:28.296073+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yakami129/VirtualWife"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:35:21.768052+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6364a11e8615b4a8aac6d3aaeffc882362107a02855ef50b1fb7c481b85e6cf4", "fetched_at": "2026-08-28T04:07:28.296073+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yakami129/VirtualWife"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:35:21.768052+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6364a11e8615b4a8aac6d3aaeffc882362107a02855ef50b1fb7c481b85e6cf4", "fetched_at": "2026-08-28T04:07:28.296073+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yakami129/VirtualWife"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:35:21.768052+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6364a11e8615b4a8aac6d3aaeffc882362107a02855ef50b1fb7c481b85e6cf4", "fetched_at": "2026-08-28T04:07:28.296073+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yakami129/VirtualWife"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 85, "rhythm": 8}, "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": 1199, "days_push": 675, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 20, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}