{"adoption": {"forks": 178, "observed_at": "2026-08-28T04:05:13.944107+00:00", "stars": 1630}, "canonical_url": "https://ross.abutalabs.com/products/ai-daily-digest", "card": {"archived": false, "artifact_type": "cli-tool", "description": "从 Andrej Karpathy 推荐的 90 顶级技术博客中抓取最新文章，AI 多维评分筛选，生成一份每日精选日报。更多可见公众号：懂点儿AI", "domain": ["artificial-intelligence", "large-language-models", "developer-tools"], "enriched": true, "function": ["web-scraping", "nlp", "llm-inference", "data-science", "cli"], "health_score": 61, "homepage": null, "language": "TypeScript", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["vigorX777/ai-daily-digest"], "name": "vigorX777/ai-daily-digest", "platform": ["cli", "bun", "cross-platform"], "pushed_at": "2026-02-15T15:29:40+00:00", "repo": "vigorX777/ai-daily-digest", "stars": 1630, "tags": ["rss-aggregation", "daily-digest", "content-curation", "gemini", "openai-compatible", "opencode-skill", "markdown-report", "hacker-news-blogs", "automation", "natural-language-processing"], "topics": [], "urls": [], "use_cases": ["generate a daily digest of top tech blog posts", "filter and rank RSS articles with AI scoring", "summarize and translate tech articles into Chinese", "track trends across Hacker News top blogs", "curate reading lists from 90 tech blogs", "produce a markdown report with charts and categories"], "what_it_is": "A zero-dependency TypeScript CLI tool (runnable as an OpenCode skill) that fetches the latest posts from 90 top tech blogs recommended by Andrej Karpathy, scores and classifies them with AI, and generates a structured daily digest in Markdown. It uses Gemini by default with automatic fallback to any OpenAI-compatible API.", "when_to_avoid": ["you need a hosted service with a web UI rather than a CLI", "you cannot obtain a Gemini or OpenAI-compatible API key", "you need sources beyond the fixed list of 90 blogs without code changes", "you require a permissively licensed project (no license is specified)"], "when_to_choose": ["you want an automated daily curation of high-quality tech blog content", "you prefer a zero-dependency single-file tool running on Bun", "you want bilingual (Chinese/English) summaries and trend insights", "you use OpenCode or want a /digest interactive skill"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/ai-daily-digest", "repo": "vigorX777/ai-daily-digest", "role": "main", "score": 45}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.944107+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:48:03.209107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9cfdc1a40eb318086f16c8c26bea0db127ad74b2381bb214d736735be2e3bc74", "fetched_at": "2026-08-28T04:05:13.944107+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vigorX777/ai-daily-digest"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.944107+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:48:03.209107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9cfdc1a40eb318086f16c8c26bea0db127ad74b2381bb214d736735be2e3bc74", "fetched_at": "2026-08-28T04:05:13.944107+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vigorX777/ai-daily-digest"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:48:03.209107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9cfdc1a40eb318086f16c8c26bea0db127ad74b2381bb214d736735be2e3bc74", "fetched_at": "2026-08-28T04:05:13.944107+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vigorX777/ai-daily-digest"}], "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:05:13.944107+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.944107+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.944107+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:48:03.209107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9cfdc1a40eb318086f16c8c26bea0db127ad74b2381bb214d736735be2e3bc74", "fetched_at": "2026-08-28T04:05:13.944107+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vigorX777/ai-daily-digest"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.944107+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.944107+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:48:03.209107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9cfdc1a40eb318086f16c8c26bea0db127ad74b2381bb214d736735be2e3bc74", "fetched_at": "2026-08-28T04:05:13.944107+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vigorX777/ai-daily-digest"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.944107+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.944107+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.944107+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:48:03.209107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9cfdc1a40eb318086f16c8c26bea0db127ad74b2381bb214d736735be2e3bc74", "fetched_at": "2026-08-28T04:05:13.944107+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vigorX777/ai-daily-digest"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.944107+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.944107+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:48:03.209107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9cfdc1a40eb318086f16c8c26bea0db127ad74b2381bb214d736735be2e3bc74", "fetched_at": "2026-08-28T04:05:13.944107+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vigorX777/ai-daily-digest"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:48:03.209107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9cfdc1a40eb318086f16c8c26bea0db127ad74b2381bb214d736735be2e3bc74", "fetched_at": "2026-08-28T04:05:13.944107+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vigorX777/ai-daily-digest"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:48:03.209107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9cfdc1a40eb318086f16c8c26bea0db127ad74b2381bb214d736735be2e3bc74", "fetched_at": "2026-08-28T04:05:13.944107+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vigorX777/ai-daily-digest"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:48:03.209107+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9cfdc1a40eb318086f16c8c26bea0db127ad74b2381bb214d736735be2e3bc74", "fetched_at": "2026-08-28T04:05:13.944107+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vigorX777/ai-daily-digest"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 67, "longevity": 14, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 200, "days_push": 199, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 45, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}