{"adoption": {"forks": 35, "observed_at": "2026-08-28T04:03:35.843654+00:00", "stars": 1103}, "canonical_url": "https://ross.abutalabs.com/products/workshadow", "card": {"archived": false, "artifact_type": "application", "description": "如影随形 · 本地优先桌面工作日志：富文本记录、语义检索、工作台总结/问答；模型自配，数据留在本机。 Local-first desktop work journal—rich logs, semantic search, AI summary & Q&A. BYO models, data stays yours.", "domain": ["developer-tools", "productivity", "privacy", "self-hosted", "large-language-models"], "enriched": true, "function": ["rag", "search-engine", "llm-inference", "markdown", "editor", "ui-components"], "health_score": 96, "homepage": null, "language": "TypeScript", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["FutureUniant/WorkShadow"], "name": "FutureUniant/WorkShadow", "platform": ["cross-platform", "windows"], "pushed_at": "2026-07-16T16:45:46+00:00", "repo": "FutureUniant/WorkShadow", "stars": 1103, "tags": ["local-first", "work-journal", "semantic-search", "byok", "sqlite", "lancedb", "tiptap", "note-taking", "work-log", "ai-assistant", "retrieval-augmented-generation", "desktop", "tauri", "macos", "linux"], "topics": ["agpl-3", "byok", "desktop-app", "lancedb", "local-first", "markdown", "note-taking", "privacy", "rag", "react", "rust", "semantic-search", "sqlite", "tauri", "tauri-app", "tiptap", "typescript", "work-journal", "work-log", "workshadow"], "urls": [], "use_cases": ["keep a private daily work log on my own computer", "find an old decision from months ago by describing it in natural language", "generate weekly reports from multiple journal entries", "ask questions across all my past work notes", "write daily standup updates without cloud note apps", "back up and migrate my work journal as a single file"], "what_it_is": "WorkShadow is a local-first desktop work journal app built with Tauri, React, and Rust, offering rich-text logging, keyword and semantic search, and AI-powered summarization and Q&A over your logs. Data stays on your machine, and AI features use models you configure yourself (BYO models, with optional built-in local inference in the installer edition).", "when_to_avoid": ["you need a general-purpose collaborative document editor like Word or Notion", "you want cloud sync and multi-user sharing out of the box", "you need mobile access to your notes"], "when_to_choose": ["you want a work journal where data never leaves your machine", "you need semantic search and AI summaries over your own logs with your own model keys", "you prefer local-first note-taking over cloud-bound tools like Notion"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/workshadow", "repo": "FutureUniant/WorkShadow", "role": "main", "score": 74}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:35.843654+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:45:30.515791+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4303e2a51418f2c3fe473cc29918ad09a5a48cad691779e2856600f6d6a68a28", "fetched_at": "2026-08-28T04:03:35.843654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FutureUniant/WorkShadow"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:35.843654+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:45:30.515791+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4303e2a51418f2c3fe473cc29918ad09a5a48cad691779e2856600f6d6a68a28", "fetched_at": "2026-08-28T04:03:35.843654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FutureUniant/WorkShadow"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:45:30.515791+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4303e2a51418f2c3fe473cc29918ad09a5a48cad691779e2856600f6d6a68a28", "fetched_at": "2026-08-28T04:03:35.843654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FutureUniant/WorkShadow"}], "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:03:35.843654+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:35.843654+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:35.843654+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:45:30.515791+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4303e2a51418f2c3fe473cc29918ad09a5a48cad691779e2856600f6d6a68a28", "fetched_at": "2026-08-28T04:03:35.843654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FutureUniant/WorkShadow"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:35.843654+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:35.843654+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:45:30.515791+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4303e2a51418f2c3fe473cc29918ad09a5a48cad691779e2856600f6d6a68a28", "fetched_at": "2026-08-28T04:03:35.843654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FutureUniant/WorkShadow"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:35.843654+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:35.843654+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:35.843654+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:45:30.515791+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4303e2a51418f2c3fe473cc29918ad09a5a48cad691779e2856600f6d6a68a28", "fetched_at": "2026-08-28T04:03:35.843654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FutureUniant/WorkShadow"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:35.843654+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:35.843654+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:45:30.515791+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4303e2a51418f2c3fe473cc29918ad09a5a48cad691779e2856600f6d6a68a28", "fetched_at": "2026-08-28T04:03:35.843654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FutureUniant/WorkShadow"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:45:30.515791+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4303e2a51418f2c3fe473cc29918ad09a5a48cad691779e2856600f6d6a68a28", "fetched_at": "2026-08-28T04:03:35.843654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FutureUniant/WorkShadow"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:45:30.515791+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4303e2a51418f2c3fe473cc29918ad09a5a48cad691779e2856600f6d6a68a28", "fetched_at": "2026-08-28T04:03:35.843654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FutureUniant/WorkShadow"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:45:30.515791+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4303e2a51418f2c3fe473cc29918ad09a5a48cad691779e2856600f6d6a68a28", "fetched_at": "2026-08-28T04:03:35.843654+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FutureUniant/WorkShadow"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 92, "longevity": 7, "rhythm": 89}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 100, "days_push": 48, "days_rel": 77, "gap_med": 4, "n_releases_24m": 6}, "score": 74, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}