{"adoption": {"forks": 190, "observed_at": "2026-08-28T04:04:14.937957+00:00", "stars": 1289}, "canonical_url": "https://ross.abutalabs.com/products/pinvou-agent", "card": {"archived": false, "artifact_type": "application", "description": "Open-source desktop AI agent for tools, files, knowledge, workflows, and real deliverables.", "domain": ["large-language-models", "developer-tools", "self-hosted", "privacy"], "enriched": true, "function": ["agent-framework", "mcp", "chatbot", "rag", "workflow-automation", "scheduling", "llm-inference", "file-system", "data-visualization", "search-engine"], "health_score": 100, "homepage": "https://pinvou.com/", "language": "Rust", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["Pinvou/pinvou-agent"], "name": "Pinvou/pinvou-agent", "platform": ["windows", "cross-platform", "rust"], "pushed_at": "2026-08-26T17:17:11+00:00", "repo": "Pinvou/pinvou-agent", "stars": 1289, "tags": ["desktop-ai-agent", "local-first", "mcp-client", "acp", "coding-agent", "knowledge-base", "tool-store", "tauri-app", "openai-compatible", "scheduled-tasks", "ai-agents", "automation", "macos", "linux", "desktop", "tauri"], "topics": ["ai-agent", "automation", "desktop-app", "llm", "local-first", "mcp", "open-source", "react", "rust", "tauri"], "urls": [], "use_cases": ["run an AI agent on my desktop that can read and edit local files", "connect MCP servers to a desktop AI assistant", "use a local LLM privately for agent tasks", "generate posters and charts from natural language prompts and edit them visually", "bring Codex or Claude Code into a real project from a GUI", "automate recurring reports with scheduled agent tasks", "build a personal knowledge base with local file search and embeddings", "deliver finished documents and artifacts instead of just chat replies"], "what_it_is": "Pinvou Agent is an open-source, local-first desktop AI agent workspace built with Rust and Tauri that combines chat, file operations, personal knowledge bases, MCP tools, skills, and scheduled workflows into one application. It offers three modes — Work for task deliverables, Design for prompt-to-editable visuals, and Code for running external coding agents like Codex or Claude Code over ACP — with support for local models or any OpenAI-compatible endpoint.", "when_to_avoid": ["you need a headless CLI or server-side agent framework for CI pipelines", "you only want a lightweight chat client without file/tool integration", "you require mobile or web deployment — it is a desktop application", "the project is young (v0.6.x) and you need long-term API stability guarantees"], "when_to_choose": ["you want a privacy-focused, local-first desktop agent that works with local models", "you need one workspace combining chat, files, knowledge, tools, and coding agents", "you want MCP tool extensibility and scheduled automation in a GUI", "you prefer an open-source MIT-licensed alternative to closed agent desktops"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pinvou-agent", "repo": "Pinvou/pinvou-agent", "role": "main", "score": 66}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.937957+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:55:42.097047+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9f4e3678ca8d46603bf77a1d5945c0db68f616a1a0b620ea31193834c550277", "fetched_at": "2026-08-28T04:04:14.937957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Pinvou/pinvou-agent"}, {"content_hash": "54a1efbe6fb01196cdba92f2af0905e720135d5e971735d1911ccc6b570fe7fd", "fetched_at": "2026-08-29T12:11:37.824071+00:00", "kind": "homepage", "missing": false, "url": "https://pinvou.com/"}, {"content_hash": "a981bb5cd5c31973904d1442db9dbcfebfb5add34bb6ce33c3ac8ef9d517a635", "fetched_at": "2026-08-29T12:11:37.826582+00:00", "kind": "site_page", "missing": false, "url": "https://pinvou.com/changelog"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.937957+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:55:42.097047+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9f4e3678ca8d46603bf77a1d5945c0db68f616a1a0b620ea31193834c550277", "fetched_at": "2026-08-28T04:04:14.937957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Pinvou/pinvou-agent"}, {"content_hash": "54a1efbe6fb01196cdba92f2af0905e720135d5e971735d1911ccc6b570fe7fd", "fetched_at": "2026-08-29T12:11:37.824071+00:00", "kind": "homepage", "missing": false, "url": "https://pinvou.com/"}, {"content_hash": "a981bb5cd5c31973904d1442db9dbcfebfb5add34bb6ce33c3ac8ef9d517a635", "fetched_at": "2026-08-29T12:11:37.826582+00:00", "kind": "site_page", "missing": false, "url": "https://pinvou.com/changelog"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:55:42.097047+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9f4e3678ca8d46603bf77a1d5945c0db68f616a1a0b620ea31193834c550277", "fetched_at": "2026-08-28T04:04:14.937957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Pinvou/pinvou-agent"}, {"content_hash": "54a1efbe6fb01196cdba92f2af0905e720135d5e971735d1911ccc6b570fe7fd", "fetched_at": "2026-08-29T12:11:37.824071+00:00", "kind": "homepage", "missing": false, "url": "https://pinvou.com/"}, {"content_hash": "a981bb5cd5c31973904d1442db9dbcfebfb5add34bb6ce33c3ac8ef9d517a635", "fetched_at": "2026-08-29T12:11:37.826582+00:00", "kind": "site_page", "missing": false, "url": "https://pinvou.com/changelog"}], "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:14.937957+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.937957+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.937957+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:55:42.097047+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9f4e3678ca8d46603bf77a1d5945c0db68f616a1a0b620ea31193834c550277", "fetched_at": "2026-08-28T04:04:14.937957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Pinvou/pinvou-agent"}, {"content_hash": "54a1efbe6fb01196cdba92f2af0905e720135d5e971735d1911ccc6b570fe7fd", "fetched_at": "2026-08-29T12:11:37.824071+00:00", "kind": "homepage", "missing": false, "url": "https://pinvou.com/"}, {"content_hash": "a981bb5cd5c31973904d1442db9dbcfebfb5add34bb6ce33c3ac8ef9d517a635", "fetched_at": "2026-08-29T12:11:37.826582+00:00", "kind": "site_page", "missing": false, "url": "https://pinvou.com/changelog"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.937957+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.937957+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:55:42.097047+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9f4e3678ca8d46603bf77a1d5945c0db68f616a1a0b620ea31193834c550277", "fetched_at": "2026-08-28T04:04:14.937957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Pinvou/pinvou-agent"}, {"content_hash": "54a1efbe6fb01196cdba92f2af0905e720135d5e971735d1911ccc6b570fe7fd", "fetched_at": "2026-08-29T12:11:37.824071+00:00", "kind": "homepage", "missing": false, "url": "https://pinvou.com/"}, {"content_hash": "a981bb5cd5c31973904d1442db9dbcfebfb5add34bb6ce33c3ac8ef9d517a635", "fetched_at": "2026-08-29T12:11:37.826582+00:00", "kind": "site_page", "missing": false, "url": "https://pinvou.com/changelog"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.937957+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.937957+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.937957+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:55:42.097047+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9f4e3678ca8d46603bf77a1d5945c0db68f616a1a0b620ea31193834c550277", "fetched_at": "2026-08-28T04:04:14.937957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Pinvou/pinvou-agent"}, {"content_hash": "54a1efbe6fb01196cdba92f2af0905e720135d5e971735d1911ccc6b570fe7fd", "fetched_at": "2026-08-29T12:11:37.824071+00:00", "kind": "homepage", "missing": false, "url": "https://pinvou.com/"}, {"content_hash": "a981bb5cd5c31973904d1442db9dbcfebfb5add34bb6ce33c3ac8ef9d517a635", "fetched_at": "2026-08-29T12:11:37.826582+00:00", "kind": "site_page", "missing": false, "url": "https://pinvou.com/changelog"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.937957+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:14.937957+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:55:42.097047+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9f4e3678ca8d46603bf77a1d5945c0db68f616a1a0b620ea31193834c550277", "fetched_at": "2026-08-28T04:04:14.937957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Pinvou/pinvou-agent"}, {"content_hash": "54a1efbe6fb01196cdba92f2af0905e720135d5e971735d1911ccc6b570fe7fd", "fetched_at": "2026-08-29T12:11:37.824071+00:00", "kind": "homepage", "missing": false, "url": "https://pinvou.com/"}, {"content_hash": "a981bb5cd5c31973904d1442db9dbcfebfb5add34bb6ce33c3ac8ef9d517a635", "fetched_at": "2026-08-29T12:11:37.826582+00:00", "kind": "site_page", "missing": false, "url": "https://pinvou.com/changelog"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:55:42.097047+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9f4e3678ca8d46603bf77a1d5945c0db68f616a1a0b620ea31193834c550277", "fetched_at": "2026-08-28T04:04:14.937957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Pinvou/pinvou-agent"}, {"content_hash": "54a1efbe6fb01196cdba92f2af0905e720135d5e971735d1911ccc6b570fe7fd", "fetched_at": "2026-08-29T12:11:37.824071+00:00", "kind": "homepage", "missing": false, "url": "https://pinvou.com/"}, {"content_hash": "a981bb5cd5c31973904d1442db9dbcfebfb5add34bb6ce33c3ac8ef9d517a635", "fetched_at": "2026-08-29T12:11:37.826582+00:00", "kind": "site_page", "missing": false, "url": "https://pinvou.com/changelog"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:55:42.097047+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9f4e3678ca8d46603bf77a1d5945c0db68f616a1a0b620ea31193834c550277", "fetched_at": "2026-08-28T04:04:14.937957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Pinvou/pinvou-agent"}, {"content_hash": "54a1efbe6fb01196cdba92f2af0905e720135d5e971735d1911ccc6b570fe7fd", "fetched_at": "2026-08-29T12:11:37.824071+00:00", "kind": "homepage", "missing": false, "url": "https://pinvou.com/"}, {"content_hash": "a981bb5cd5c31973904d1442db9dbcfebfb5add34bb6ce33c3ac8ef9d517a635", "fetched_at": "2026-08-29T12:11:37.826582+00:00", "kind": "site_page", "missing": false, "url": "https://pinvou.com/changelog"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:55:42.097047+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9f4e3678ca8d46603bf77a1d5945c0db68f616a1a0b620ea31193834c550277", "fetched_at": "2026-08-28T04:04:14.937957+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Pinvou/pinvou-agent"}, {"content_hash": "54a1efbe6fb01196cdba92f2af0905e720135d5e971735d1911ccc6b570fe7fd", "fetched_at": "2026-08-29T12:11:37.824071+00:00", "kind": "homepage", "missing": false, "url": "https://pinvou.com/"}, {"content_hash": "a981bb5cd5c31973904d1442db9dbcfebfb5add34bb6ce33c3ac8ef9d517a635", "fetched_at": "2026-08-29T12:11:37.826582+00:00", "kind": "site_page", "missing": false, "url": "https://pinvou.com/changelog"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 2, "rhythm": 60}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["prerelease_only", "young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 40, "days_push": 7, "days_rel": 15, "gap_med": 1, "n_releases_24m": 10}, "score": 66, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}