{"adoption": {"forks": 111, "observed_at": "2026-08-28T04:04:41.522902+00:00", "stars": 1427}, "canonical_url": "https://ross.abutalabs.com/products/tauritavern", "card": {"archived": false, "artifact_type": "application", "description": "The classic Sillytavern, now has been rewritten in Tauri/Rust.", "domain": ["large-language-models", "chatbots", "cross-platform", "desktop-applications", "mobile-development"], "enriched": true, "function": ["chatbot", "llm-inference", "agent-framework", "gui"], "health_score": 100, "homepage": "https://tauritavern.github.io", "language": "JavaScript", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["Darkatse/TauriTavern"], "name": "Darkatse/TauriTavern", "platform": ["windows", "rust", "cross-platform"], "pushed_at": "2026-08-26T11:16:03+00:00", "repo": "Darkatse/TauriTavern", "stars": 1427, "tags": ["sillytavern", "tauri-v2", "roleplay", "character-chat", "frontend-compat", "agpl", "ai-agents", "macos", "linux", "android", "ios", "tauri"], "topics": ["llm", "sillytavern", "tauri-app", "tauri", "rust"], "urls": [], "use_cases": ["run SillyTavern as a native desktop app without Node.js", "chat with LLM characters on Android or iOS", "roleplay with local or remote language models", "use SillyTavern extensions and character cards on mobile", "run agent workflows with a constrained workspace and timeline", "self-host a lightweight LLM chat frontend"], "what_it_is": "TauriTavern is a native rewrite of SillyTavern built with Tauri v2 and a Rust backend, providing the classic LLM chat/roleplay frontend as an installable app for desktop and mobile. It preserves compatibility with SillyTavern 1.18.0 frontends and adds constrained agent workflow features.", "when_to_avoid": ["you need the latest SillyTavern features beyond the 1.18.0 frontend baseline", "you rely on the upstream Node.js plugin ecosystem or server-side scripting", "you only need a headless API server rather than a GUI app", "you require long-term stability over an actively evolving rewrite"], "when_to_choose": ["you want SillyTavern's experience as a native app on Windows, macOS, Linux, Android, or iOS", "you need a lighter-weight alternative to the Node.js-based SillyTavern", "you want mobile access to SillyTavern character chats", "you want agent-style workflows integrated into your chat frontend"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/tauritavern", "repo": "Darkatse/TauriTavern", "role": "main", "score": 85}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:41.522902+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:37:20.671872+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "30d674574e56567f4d0a57c44655286df78e3f31618f54b98959d340e0a2ccaf", "fetched_at": "2026-08-28T04:04:41.522902+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Darkatse/TauriTavern"}, {"content_hash": "6bbe856420c944d392e222173c5e396750bf6eb72b3c9a6fa4d2fd113debae89", "fetched_at": "2026-08-29T11:49:15.291744+00:00", "kind": "homepage", "missing": false, "url": "https://tauritavern.github.io"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:41.522902+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:37:20.671872+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "30d674574e56567f4d0a57c44655286df78e3f31618f54b98959d340e0a2ccaf", "fetched_at": "2026-08-28T04:04:41.522902+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Darkatse/TauriTavern"}, {"content_hash": "6bbe856420c944d392e222173c5e396750bf6eb72b3c9a6fa4d2fd113debae89", "fetched_at": "2026-08-29T11:49:15.291744+00:00", "kind": "homepage", "missing": false, "url": "https://tauritavern.github.io"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:37:20.671872+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "30d674574e56567f4d0a57c44655286df78e3f31618f54b98959d340e0a2ccaf", "fetched_at": "2026-08-28T04:04:41.522902+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Darkatse/TauriTavern"}, {"content_hash": "6bbe856420c944d392e222173c5e396750bf6eb72b3c9a6fa4d2fd113debae89", "fetched_at": "2026-08-29T11:49:15.291744+00:00", "kind": "homepage", "missing": false, "url": "https://tauritavern.github.io"}], "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:04:41.522902+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:41.522902+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:41.522902+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:37:20.671872+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "30d674574e56567f4d0a57c44655286df78e3f31618f54b98959d340e0a2ccaf", "fetched_at": "2026-08-28T04:04:41.522902+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Darkatse/TauriTavern"}, {"content_hash": "6bbe856420c944d392e222173c5e396750bf6eb72b3c9a6fa4d2fd113debae89", "fetched_at": "2026-08-29T11:49:15.291744+00:00", "kind": "homepage", "missing": false, "url": "https://tauritavern.github.io"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:41.522902+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:41.522902+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:37:20.671872+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "30d674574e56567f4d0a57c44655286df78e3f31618f54b98959d340e0a2ccaf", "fetched_at": "2026-08-28T04:04:41.522902+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Darkatse/TauriTavern"}, {"content_hash": "6bbe856420c944d392e222173c5e396750bf6eb72b3c9a6fa4d2fd113debae89", "fetched_at": "2026-08-29T11:49:15.291744+00:00", "kind": "homepage", "missing": false, "url": "https://tauritavern.github.io"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:41.522902+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:41.522902+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:41.522902+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:37:20.671872+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "30d674574e56567f4d0a57c44655286df78e3f31618f54b98959d340e0a2ccaf", "fetched_at": "2026-08-28T04:04:41.522902+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Darkatse/TauriTavern"}, {"content_hash": "6bbe856420c944d392e222173c5e396750bf6eb72b3c9a6fa4d2fd113debae89", "fetched_at": "2026-08-29T11:49:15.291744+00:00", "kind": "homepage", "missing": false, "url": "https://tauritavern.github.io"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:41.522902+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:41.522902+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:37:20.671872+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "30d674574e56567f4d0a57c44655286df78e3f31618f54b98959d340e0a2ccaf", "fetched_at": "2026-08-28T04:04:41.522902+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Darkatse/TauriTavern"}, {"content_hash": "6bbe856420c944d392e222173c5e396750bf6eb72b3c9a6fa4d2fd113debae89", "fetched_at": "2026-08-29T11:49:15.291744+00:00", "kind": "homepage", "missing": false, "url": "https://tauritavern.github.io"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:37:20.671872+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "30d674574e56567f4d0a57c44655286df78e3f31618f54b98959d340e0a2ccaf", "fetched_at": "2026-08-28T04:04:41.522902+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Darkatse/TauriTavern"}, {"content_hash": "6bbe856420c944d392e222173c5e396750bf6eb72b3c9a6fa4d2fd113debae89", "fetched_at": "2026-08-29T11:49:15.291744+00:00", "kind": "homepage", "missing": false, "url": "https://tauritavern.github.io"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:37:20.671872+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "30d674574e56567f4d0a57c44655286df78e3f31618f54b98959d340e0a2ccaf", "fetched_at": "2026-08-28T04:04:41.522902+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Darkatse/TauriTavern"}, {"content_hash": "6bbe856420c944d392e222173c5e396750bf6eb72b3c9a6fa4d2fd113debae89", "fetched_at": "2026-08-29T11:49:15.291744+00:00", "kind": "homepage", "missing": false, "url": "https://tauritavern.github.io"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:37:20.671872+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "30d674574e56567f4d0a57c44655286df78e3f31618f54b98959d340e0a2ccaf", "fetched_at": "2026-08-28T04:04:41.522902+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Darkatse/TauriTavern"}, {"content_hash": "6bbe856420c944d392e222173c5e396750bf6eb72b3c9a6fa4d2fd113debae89", "fetched_at": "2026-08-29T11:49:15.291744+00:00", "kind": "homepage", "missing": false, "url": "https://tauritavern.github.io"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 35, "rhythm": 95}, "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": 503, "days_push": 7, "days_rel": 35, "gap_med": 2, "n_releases_24m": 24}, "score": 85, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}