{"adoption": {"forks": 670, "observed_at": "2026-08-28T04:12:23.052677+00:00", "stars": 86318}, "canonical_url": "https://ross.abutalabs.com/products/odysseus", "card": {"archived": false, "artifact_type": "application", "description": "Self-hosted AI workspace. ", "domain": ["artificial-intelligence", "large-language-models", "self-hosted", "developer-tools", "privacy"], "enriched": true, "function": ["chatbot", "agent-framework", "rag", "mcp", "llm-inference", "email", "web-scraping", "self-hosted", "chat-interface"], "health_score": 80, "homepage": "https://odysseus-dev.github.io/odysseus", "language": "Python", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["odysseus-dev/odysseus"], "name": "odysseus-dev/odysseus", "platform": ["self-hosted", "windows", "python"], "pushed_at": "2026-08-25T12:18:44+00:00", "repo": "odysseus-dev/odysseus", "stars": 86318, "tags": ["ai-workspace", "local-first", "local-models", "deep-research", "model-comparison", "caldav", "imap-smtp", "no-telemetry", "ai-agents", "docker", "linux", "macos", "web-server"], "topics": [], "urls": [], "use_cases": ["self-host an AI chat interface for local and API language models", "run autonomous AI agents with tools, shell access, and MCP servers", "get hardware-aware recommendations for which local models to download and serve", "automate multi-step web research and generate cited reports", "triage my email inbox with AI summaries and draft replies", "compare multiple LLMs side by side on the same prompt", "manage notes, todos, and calendar with AI-assisted scheduling", "keep an AI assistant with persistent memory fully private on my own hardware"], "what_it_is": "Odysseus is a self-hosted, privacy-first AI workspace that combines chat, autonomous agents, tools/MCP integration, model serving, and deep research in a single web application. It also bundles productivity features like an AI-assisted document editor, IMAP/SMTP email triage, notes, tasks, calendar with CalDAV sync, and persistent memory.", "when_to_avoid": ["you only need a lightweight chat UI without workspace features like email or calendar", "you cannot run Docker or manage a self-hosted deployment with auth and security hardening", "you need a managed cloud service with vendor support", "you require multi-user enterprise collaboration features at scale"], "when_to_choose": ["you want a single self-hosted app combining chat, agents, research, email, and notes instead of separate tools", "privacy matters: no telemetry, everything runs on your hardware against your own endpoints", "you want to run and compare local models with hardware-aware recommendations", "you need agent capabilities with MCP, shell, files, and web tools in one workspace"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/odysseus", "repo": "odysseus-dev/odysseus", "role": "main", "score": 58}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:12:23.052677+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:13:53.552888+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9caaeb8dd94ebcf2e67ad8b06b0c6130223eacb9c5999e89b8e1dae9da59e971", "fetched_at": "2026-08-28T04:12:23.052677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/odysseus-dev/odysseus"}, {"content_hash": "fac4e176254481d619742da3f16cb7707a65cc9183572fd2d824137421a5d21e", "fetched_at": "2026-08-28T17:39:10.849112+00:00", "kind": "homepage", "missing": false, "url": "https://odysseus-dev.github.io/odysseus"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:12:23.052677+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:13:53.552888+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9caaeb8dd94ebcf2e67ad8b06b0c6130223eacb9c5999e89b8e1dae9da59e971", "fetched_at": "2026-08-28T04:12:23.052677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/odysseus-dev/odysseus"}, {"content_hash": "fac4e176254481d619742da3f16cb7707a65cc9183572fd2d824137421a5d21e", "fetched_at": "2026-08-28T17:39:10.849112+00:00", "kind": "homepage", "missing": false, "url": "https://odysseus-dev.github.io/odysseus"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:13:53.552888+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9caaeb8dd94ebcf2e67ad8b06b0c6130223eacb9c5999e89b8e1dae9da59e971", "fetched_at": "2026-08-28T04:12:23.052677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/odysseus-dev/odysseus"}, {"content_hash": "fac4e176254481d619742da3f16cb7707a65cc9183572fd2d824137421a5d21e", "fetched_at": "2026-08-28T17:39:10.849112+00:00", "kind": "homepage", "missing": false, "url": "https://odysseus-dev.github.io/odysseus"}], "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:12:23.052677+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:12:23.052677+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:12:23.052677+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:13:53.552888+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9caaeb8dd94ebcf2e67ad8b06b0c6130223eacb9c5999e89b8e1dae9da59e971", "fetched_at": "2026-08-28T04:12:23.052677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/odysseus-dev/odysseus"}, {"content_hash": "fac4e176254481d619742da3f16cb7707a65cc9183572fd2d824137421a5d21e", "fetched_at": "2026-08-28T17:39:10.849112+00:00", "kind": "homepage", "missing": false, "url": "https://odysseus-dev.github.io/odysseus"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:12:23.052677+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:12:23.052677+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:13:53.552888+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9caaeb8dd94ebcf2e67ad8b06b0c6130223eacb9c5999e89b8e1dae9da59e971", "fetched_at": "2026-08-28T04:12:23.052677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/odysseus-dev/odysseus"}, {"content_hash": "fac4e176254481d619742da3f16cb7707a65cc9183572fd2d824137421a5d21e", "fetched_at": "2026-08-28T17:39:10.849112+00:00", "kind": "homepage", "missing": false, "url": "https://odysseus-dev.github.io/odysseus"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:12:23.052677+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:12:23.052677+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:12:23.052677+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:13:53.552888+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9caaeb8dd94ebcf2e67ad8b06b0c6130223eacb9c5999e89b8e1dae9da59e971", "fetched_at": "2026-08-28T04:12:23.052677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/odysseus-dev/odysseus"}, {"content_hash": "fac4e176254481d619742da3f16cb7707a65cc9183572fd2d824137421a5d21e", "fetched_at": "2026-08-28T17:39:10.849112+00:00", "kind": "homepage", "missing": false, "url": "https://odysseus-dev.github.io/odysseus"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:12:23.052677+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:12:23.052677+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:13:53.552888+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9caaeb8dd94ebcf2e67ad8b06b0c6130223eacb9c5999e89b8e1dae9da59e971", "fetched_at": "2026-08-28T04:12:23.052677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/odysseus-dev/odysseus"}, {"content_hash": "fac4e176254481d619742da3f16cb7707a65cc9183572fd2d824137421a5d21e", "fetched_at": "2026-08-28T17:39:10.849112+00:00", "kind": "homepage", "missing": false, "url": "https://odysseus-dev.github.io/odysseus"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:13:53.552888+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9caaeb8dd94ebcf2e67ad8b06b0c6130223eacb9c5999e89b8e1dae9da59e971", "fetched_at": "2026-08-28T04:12:23.052677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/odysseus-dev/odysseus"}, {"content_hash": "fac4e176254481d619742da3f16cb7707a65cc9183572fd2d824137421a5d21e", "fetched_at": "2026-08-28T17:39:10.849112+00:00", "kind": "homepage", "missing": false, "url": "https://odysseus-dev.github.io/odysseus"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:13:53.552888+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9caaeb8dd94ebcf2e67ad8b06b0c6130223eacb9c5999e89b8e1dae9da59e971", "fetched_at": "2026-08-28T04:12:23.052677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/odysseus-dev/odysseus"}, {"content_hash": "fac4e176254481d619742da3f16cb7707a65cc9183572fd2d824137421a5d21e", "fetched_at": "2026-08-28T17:39:10.849112+00:00", "kind": "homepage", "missing": false, "url": "https://odysseus-dev.github.io/odysseus"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:13:53.552888+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9caaeb8dd94ebcf2e67ad8b06b0c6130223eacb9c5999e89b8e1dae9da59e971", "fetched_at": "2026-08-28T04:12:23.052677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/odysseus-dev/odysseus"}, {"content_hash": "fac4e176254481d619742da3f16cb7707a65cc9183572fd2d824137421a5d21e", "fetched_at": "2026-08-28T17:39:10.849112+00:00", "kind": "homepage", "missing": false, "url": "https://odysseus-dev.github.io/odysseus"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 6, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 94, "days_push": 8, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 58, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}