{"adoption": {"forks": 551, "observed_at": "2026-08-28T04:09:42.837247+00:00", "stars": 6362}, "canonical_url": "https://ross.abutalabs.com/products/openhanako", "card": {"archived": false, "artifact_type": "application", "description": "A personal AI agent with memory, personality, and autonomy.", "domain": ["artificial-intelligence", "chatbots", "large-language-models", "developer-tools", "self-hosted"], "enriched": true, "function": ["agent-framework", "chatbot", "chat-interface", "workflow-automation", "scheduling", "plugin-system", "developer-tools"], "health_score": 99, "homepage": null, "language": "TypeScript", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["liliMozi/openhanako"], "name": "liliMozi/openhanako", "platform": ["windows", "cross-platform", "cli", "self-hosted"], "pushed_at": "2026-08-22T02:03:20+00:00", "repo": "liliMozi/openhanako", "stars": 6362, "tags": ["personal-ai-assistant", "persistent-memory", "agent-personality", "multi-agent", "skills-system", "character-cards", "os-level-sandbox", "cron-tasks", "proactive-agent", "messaging-bridge", "desktop-gui", "pwa", "plugin-ecosystem", "ai-agents", "automation", "macos", "linux", "desktop", "mobile", "telegram", "wechat"], "topics": [], "urls": [], "use_cases": ["personal AI assistant with long-term memory", "AI agent that can control my computer and run commands", "AI assistant with a customizable personality", "run multiple AI agents that collaborate on my desktop", "chat with my desktop AI agent from Telegram or WeChat", "automate daily office tasks with scheduled AI jobs", "self-hosted AI agent with a graphical interface", "AI assistant that learns new skills on its own"], "what_it_is": "HanaAgent is a cross-platform desktop application providing a personal AI agent with persistent memory, customizable personality, and autonomous/proactive behavior, aimed at everyday computer users rather than only developers. It bundles a full GUI, multi-agent collaboration, file/terminal/web tools, a community skills ecosystem, a plugin system, OS-level sandboxing, and bridges to messaging platforms like Telegram, WeChat, QQ, and Feishu.", "when_to_avoid": ["You need a lightweight CLI coding agent tightly integrated into a terminal or IDE development workflow", "You want a library or SDK to embed agent capabilities into your own product rather than a standalone end-user application", "You require enterprise-grade, audited security; the community skills/plugins and sandbox model are geared toward personal use", "You need fine-grained programmatic control over prompts, context windows, or model routing that raw agent SDKs provide"], "when_to_choose": ["You want a GUI-first AI agent usable by non-programmers, unlike CLI coding agents such as Claude Code or Codex", "You need per-agent memory, personality files, and isolated agent folders that are easy to back up or share as character cards", "You want an agent that can read/write files, run terminal sessions, browse the web, and take screenshots for everyday office work", "You want the same agent reachable from Telegram, WeChat, QQ, or Feishu plus a mobile PWA over LAN", "You value multi-agent coordination, cron-style scheduled tasks, and a sandboxed permission model (Seatbelt/Bubblewrap/restricted token)"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/openhanako", "repo": "liliMozi/openhanako", "role": "main", "score": 77}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:42.837247+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:46:04.676940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47805754109f03dd1f43a0cc2e355cb558ebb978431d26065981cf1e925190fd", "fetched_at": "2026-08-28T04:09:42.837247+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liliMozi/openhanako"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:42.837247+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:46:04.676940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47805754109f03dd1f43a0cc2e355cb558ebb978431d26065981cf1e925190fd", "fetched_at": "2026-08-28T04:09:42.837247+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liliMozi/openhanako"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:46:04.676940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47805754109f03dd1f43a0cc2e355cb558ebb978431d26065981cf1e925190fd", "fetched_at": "2026-08-28T04:09:42.837247+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liliMozi/openhanako"}], "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:09:42.837247+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:42.837247+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:42.837247+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:46:04.676940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47805754109f03dd1f43a0cc2e355cb558ebb978431d26065981cf1e925190fd", "fetched_at": "2026-08-28T04:09:42.837247+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liliMozi/openhanako"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:42.837247+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:42.837247+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:46:04.676940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47805754109f03dd1f43a0cc2e355cb558ebb978431d26065981cf1e925190fd", "fetched_at": "2026-08-28T04:09:42.837247+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liliMozi/openhanako"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:42.837247+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:42.837247+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:42.837247+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:46:04.676940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47805754109f03dd1f43a0cc2e355cb558ebb978431d26065981cf1e925190fd", "fetched_at": "2026-08-28T04:09:42.837247+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liliMozi/openhanako"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:42.837247+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:42.837247+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:46:04.676940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47805754109f03dd1f43a0cc2e355cb558ebb978431d26065981cf1e925190fd", "fetched_at": "2026-08-28T04:09:42.837247+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liliMozi/openhanako"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:46:04.676940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47805754109f03dd1f43a0cc2e355cb558ebb978431d26065981cf1e925190fd", "fetched_at": "2026-08-28T04:09:42.837247+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liliMozi/openhanako"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:46:04.676940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47805754109f03dd1f43a0cc2e355cb558ebb978431d26065981cf1e925190fd", "fetched_at": "2026-08-28T04:09:42.837247+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liliMozi/openhanako"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:46:04.676940+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47805754109f03dd1f43a0cc2e355cb558ebb978431d26065981cf1e925190fd", "fetched_at": "2026-08-28T04:09:42.837247+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liliMozi/openhanako"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 12, "rhythm": 86}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": ["young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 171, "days_push": 12, "days_rel": 12, "gap_med": 0, "n_releases_24m": 124}, "score": 77, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}