本周新增
1 星
近 3 周倍数
—
距上次推送
39 天
距上次发布
—
许可证
MIT

星标增长

每根柱子是这个周期记录下来的 star 增长:优先取逐个 stargazer 到达时间分桶的到达数,还没被 stargazer 扫描覆盖的仓库改用该周期的 star 净增;两个写者都没记录的周期画成虚线空档,而不是当成 0。柱高按各自窗口的峰值归一,两张图不共用坐标轴。指向任意一根柱子, tooltip 里是该周期的九项指标:当前值与周期内的净增。

指向或点击一根柱子,看当天的九项指标。

9/209/239/259/2810/110/410/610/9

2026 年 9 月 21 日 新增 0 个星标; 2026 年 9 月 22 日 新增 0 个星标; 2026 年 9 月 23 日 新增 0 个星标; 2026 年 9 月 24 日 新增 0 个星标; 2026 年 9 月 25 日 新增 0 个星标; 2026 年 9 月 26 日 新增 0 个星标; 2026 年 9 月 27 日 新增 0 个星标; 2026 年 10 月 2 日 新增 0 个星标; 2026 年 10 月 3 日 新增 0 个星标; 2026 年 10 月 4 日 新增 0 个星标; 2026 年 10 月 9 日 新增 1 个星标

窗口内最高的一天是 2026 年 10 月 9 日,新增 1 个星标。

证据时间轴

这个项目还没有记录到异动、发布或许可证变化。

README
The document stored for this repository, with its Chinese translation when one has been produced

OpenTrends

简体中文

OpenTrends is an open-source AI trend-reading app for following first-party information across technology, AI, product, finance, crypto, Chinese web platforms, and developer communities.

It is designed to track hundreds of primary sources, translate them into the reader's native language, and quickly summarize what changed so you can read global first-hand information without switching context across sites and languages.

Features

  • Curated topic pages designed for hundreds of first-party and official sources
  • RSS, RSSHub, Hacker News, GitHub Trending, Reddit, Product Hunt, Zhihu, Juejin, NewsNow, Kickstarter, Crowd Supply, and Qwen Research adapters
  • AI translation for reading source material in your native language
  • Fast AI summaries that condense noisy source updates into a readable brief
  • Cross-language topic pages for following global information flows without losing the original source context
  • Source status endpoints and per-source refresh behavior
  • Hot trend page caching through the runtime cache/KV layer plus in-memory request caching
  • Native Cloudflare D1, KV, and Queues runtime
  • Alchemy-managed local Cloudflare development and deployment
  • Built for agents too: a public JSON API, the digest as structured data (/api/trends/:topic/summary?format=json), llms.txt, an agent skill and an MCP server (packages/mcp)

Repository Layout

opentrends/
├── apps/
│   ├── server/      # Hono API, trend adapters, source refresh, summaries
│   ├── web/         # TanStack Start frontend
│   └── fumadocs/    # Documentation app experiments
├── packages/
│   ├── api/         # oRPC router layer
│   ├── auth/        # Better Auth config
│   ├── config/      # Shared TypeScript config
│   ├── db/          # Drizzle schema, migrations, dev DB helpers
│   ├── env/         # Shared env validation
│   ├── infra/       # Cloudflare/Alchemy deployment entrypoint
│   ├── mcp/         # MCP server over the public API (opentrends-mcp)
│   └── ui/          # Shared shadcn/ui components and styles
└── docs/            # Design and implementation notes

Requirements

  • Bun 1.3.x
  • A Cloudflare account (only required for cloud deployment)

Local Development

Install dependencies:

bun install --frozen-lockfile
cp apps/server/.env.example apps/server/.env.local
cp apps/web/.env.example apps/web/.env.local
cp packages/infra/.env.example packages/infra/.env.local

Set BETTER_AUTH_SECRET to a random local value. Alchemy also needs ALCHEMY_PASSWORD to encrypt local state; inject it through a password manager or a temporary environment variable and never commit it. The Cloudflare values in the infra example are local Miniflare placeholders with no cloud access.

Start the local Cloudflare stack:

bun run dev

The API runs on http://localhost:3000. The web app runs on http://localhost:3001. Alchemy creates local D1, KV, and Queues resources and applies the fresh D1 schema to an empty database. No PostgreSQL data is imported.

Environment

Server env is validated in packages/env/src/server.ts. At minimum, configure:

  • BETTER_AUTH_SECRET
  • BETTER_AUTH_URL
  • CORS_ORIGIN

Optional trend and summary settings include:

  • RSSHUB_BASE_URLS
  • LLM_BASE_URL
  • LLM_API_KEY
  • LLM_MODEL
  • LLM_TRANSLATION_MODEL
  • LLM_ENABLE_THINKING
  • TRENDS_REFRESH_SCHEDULER

Alchemy injects VITE_SERVER_URL into the web app. Optionally configure:

  • VITE_SITE_URL

Caching

Trend pages use a short in-memory cache and the shared hot cache/KV abstraction in apps/server/src/trends/cache/hot-cache.ts. Source snapshots are stored through the source cache layer.

There is no checked-in bootstrap data cache. Runtime data should be generated by refresh jobs or requests and stored through the configured cache/storage backend.

Useful Commands

bun run dev            # Start local D1, KV, Queues, API, and web
bun run db:generate    # Generate a Drizzle migration
bun run check-types    # Typecheck workspaces
bun test               # Run tests
bun run check          # Run Ultracite/Biome checks
bun run build          # Build workspaces

Deployment

The Cloudflare/Alchemy entrypoint is packages/infra/alchemy.run.ts. Run bun run cloudflare:login, inject production configuration securely, then run bun run --filter @opentrends/infra deploy. When WEB_CUSTOM_DOMAIN or API_CUSTOM_DOMAIN is configured, Alchemy manages the corresponding Cloudflare Custom Domain, DNS and TLS certificate in CLOUDFLARE_ZONE_ID. With WEB_CUSTOM_DOMAIN=opentrends.io, it also provisions www.opentrends.io and a 308 redirect to the HTTPS main domain, preserving paths and query strings. See www deployment verification before deploying.

License

MIT

页面上的每个数字都来自记录下来的 stargazer 到达时间,没有评分公式,也没有 AI 判定。 任何结论都可以用 /api/v1/repos/{id}/stats 里的原始增量自己重算。