From 37a1d284a6d9459ce57f782617105b30311ca1ba Mon Sep 17 00:00:00 2001 From: Hunter Bown Date: Sun, 24 May 2026 11:31:40 -0500 Subject: [PATCH] refactor(web): restrain homepage + tighten contribute around the 100-to-1 spine Restructured the homepage so "What it actually is" sits directly before "100-to-1", putting the spine back-to-back. Cut the redundant "Open model platform" section (duplicated the provider chip list), the fabricated "34k+ Stars / 98+ Contributors" cells in the Join block (now uses real version / providers / license from facts.generated), defensive "DeepSeek is not deprecated" copy, the speculative Unsloth roadmap line, the stale hardcoded 2026-05-24 eyebrow, the margin glyph, and a couple of hero pills. Today's Dispatch moves below the diagram as a single editorial column (the live ticker already covers recent activity). Contribute page drops the arbitrary "Section 05" eyebrow and the double-language h1; recursive-harness intro mirrors the homepage spine. EN/ZH parity preserved (6 sections home, 5 contribute, identical CTA structure). Co-Authored-By: Claude Opus 4.7 (1M context) --- web/app/[locale]/contribute/page.tsx | 89 ++++- web/app/[locale]/page.tsx | 497 +++++++++++---------------- 2 files changed, 282 insertions(+), 304 deletions(-) diff --git a/web/app/[locale]/contribute/page.tsx b/web/app/[locale]/contribute/page.tsx index fa548df9..e37ba648 100644 --- a/web/app/[locale]/contribute/page.tsx +++ b/web/app/[locale]/contribute/page.tsx @@ -1,4 +1,5 @@ import Link from "next/link"; +import { InstallCodeBlock } from "@/components/install-code-block"; import { Seal } from "@/components/seal"; export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }) { @@ -74,10 +75,45 @@ const stepsZh = [ }, ]; +const recursivePromptEn = `You are running inside CodeWhale on DeepSeek V4 Pro. + +Improve CodeWhale itself by finding exactly one small, reviewable friction point in the harness, docs, tests, or contributor workflow. + +Prefer bug fixes, regression tests, clearer docs, sharper error messages, or one narrow contributor-experience improvement. Do not change product direction, provider policy, telemetry, sponsorship, branding, auth, sandbox, release/publishing, or global prompts unless the maintainer explicitly asked for that exact scope. + +Working rules: +1. Inspect the repo and current open issues before editing. +2. Choose one issue, TODO, failing test, docs ambiguity, confusing error, or repeated papercut. +3. State the exact target and why it is small enough to review. +4. Reproduce the problem when possible. +5. Make the minimum patch. +6. Run the smallest relevant checks first. +7. Stop after one patch. + +Output: issue summary, files changed, checks run, risks or follow-up, and a suggested PR title.`; + +const recursivePromptZh = `你正在 DeepSeek V4 Pro 驱动的 CodeWhale 中运行。 + +请改进 CodeWhale 本身:只找一个很小、可审查的摩擦点,范围可以是智能体框架、文档、测试或贡献流程。 + +优先处理 bug 修复、回归测试、文档澄清、错误信息改进,或一个很窄的贡献者体验问题。除非维护者明确要求,否则不要改产品方向、提供商策略、遥测、赞助、品牌、认证、沙箱、发布流程或全局提示词。 + +工作规则: +1. 编辑前先阅读仓库和当前 open issues。 +2. 只选择一个 issue、TODO、失败测试、文档歧义、错误信息或重复出现的小摩擦点。 +3. 先说明目标是什么,以及为什么它足够小、适合审查。 +4. 尽可能复现问题。 +5. 写最小补丁。 +6. 先运行最小相关检查。 +7. 一个补丁完成后就停止。 + +输出:发现的问题摘要、修改文件、已运行检查、风险或后续事项,以及建议的 PR 标题。`; + export default async function ContributePage({ params }: { params: Promise<{ locale: string }> }) { const { locale } = await params; const isZh = locale === "zh"; const steps = isZh ? stepsZh : stepsEn; + const recursivePrompt = isZh ? recursivePromptZh : recursivePromptEn; return ( <> @@ -86,14 +122,11 @@ export default async function ContributePage({ params }: { params: Promise<{ loc
-
Section 05 · 参与
+
参与 · Contribute
-

- 参与贡献 Contribute -

+

参与贡献

- 无需签署 CLA。没有赞助商优先通道。维护者只有一人;请成为你希望收到的那种贡献者: - 小而聚焦的 PR、真实的测试覆盖、以及能告诉审查者你在想什么的文字。 + 无 CLA,无赞助商优先通道,维护者只有一人。小而聚焦的 PR 最容易合并——附上真实测试,以及能告诉审查者你在想什么的文字。

@@ -113,6 +146,23 @@ export default async function ContributePage({ params }: { params: Promise<{ loc +
+
+ +
100:1 模型 · Recursive harness
+

让 CodeWhale 改进 CodeWhale

+

+ 100:1 提示词把 DeepSeek V4 Pro 的缓存注意力、工具调用与子智能体,凝结为一个可审查的小补丁——而不是一堆点子。 +

+ + 完整多语言提示词 → + +
+
+ +
+
+ {/* 规约 */}
@@ -193,15 +243,11 @@ gh pr create --fill`}
-
Section 05 · 参与
+
Contribute · 参与
-

- Contribute 参与 -

+

Contribute

- No CLA. No sponsor lockouts. The maintainer is one person; please be the kind of contributor - you'd want to receive. Specifically: small focused PRs, real test coverage, and prose that - tells the reviewer what you were thinking. + No CLA. No sponsor lockouts. One maintainer. Small, focused PRs land fastest — please bring real test coverage and prose that tells the reviewer what you were thinking.

@@ -221,6 +267,23 @@ gh pr create --fill`}
+
+
+ +
100-to-1 model · 递归框架
+

Let CodeWhale improve CodeWhale

+

+ The 100-to-1 prompt turns DeepSeek V4 Pro's cached attention, tool use, and sub-agents into one small, reviewable patch — not a pile of ideas. +

+ + Full multilingual prompt → + +
+
+ +
+
+
diff --git a/web/app/[locale]/page.tsx b/web/app/[locale]/page.tsx index bc6e45ad..05762720 100644 --- a/web/app/[locale]/page.tsx +++ b/web/app/[locale]/page.tsx @@ -4,7 +4,6 @@ import { getDispatch, getEnv } from "@/lib/kv"; import { getFacts } from "@/lib/facts"; import { Ticker } from "@/components/ticker"; import { StatGrid } from "@/components/stat-grid"; -import { FeedCard } from "@/components/feed-card"; import { Seal } from "@/components/seal"; import { MermaidDiagram } from "@/components/mermaid-diagram"; import type { CuratedDispatch, FeedItem, RepoStats } from "@/lib/types"; @@ -22,26 +21,26 @@ const FALLBACK_STATS: RepoStats = { const FALLBACK_DISPATCH_EN: CuratedDispatch = { generatedAt: new Date().toISOString(), - headline: "CodeWhale — the terminal coding agent for open models", + headline: "Quiet release week — install paths and contributor guides up to date.", summary: - "CodeWhale runs in your terminal, talks to DeepSeek V4 and other open-weight models through any provider, and respects your filesystem. The dispatch below is regenerated by DeepSeek V4-Flash on a six-hour cron — you'll see real repo activity here once the cron runs.", + "This dispatch is regenerated by DeepSeek V4-Flash on a six-hour cron. Until the cron fills in fresh repo activity, the static links below are the best starting points.", highlights: [ - { title: "Read the install guide", href: "/install", tag: "shipped", blurb: "npm, Cargo, Homebrew, direct download — pick your path." }, - { title: "Browse open issues", href: "https://github.com/Hmbown/CodeWhale/issues", tag: "opened", blurb: "Triaged on GitHub — start with anything labelled 'good first issue'." }, - { title: "Review the roadmap", href: "/roadmap", tag: "discussion", blurb: "What's confirmed, what's being weighed, what's been ruled out." }, + { title: "Install", href: "/install", tag: "shipped", blurb: "npm, Cargo, Homebrew, or a direct download." }, + { title: "Open issues", href: "https://github.com/Hmbown/CodeWhale/issues", tag: "opened", blurb: "Start with anything labelled good first issue." }, + { title: "Roadmap", href: "/roadmap", tag: "discussion", blurb: "What is confirmed, what is being weighed, what is ruled out." }, ], movers: [], }; const FALLBACK_DISPATCH_ZH: CuratedDispatch = { generatedAt: new Date().toISOString(), - headline: "CodeWhale — 面向开源模型的终端编程智能体", + headline: "本周发布平稳——安装路径和贡献指南已同步。", summary: - "CodeWhale 运行在你的终端中,接入 DeepSeek V4 等开源模型,对文件系统保持克制。以下「今日要闻」由 DeepSeek V4-Flash 每六小时自动生成——仓库有动态时会实时更新。", + "本「今日要闻」由 DeepSeek V4-Flash 每六小时重新生成。在 cron 写入真实仓库动态之前,下面的固定链接是最实用的入口。", highlights: [ - { title: "阅读安装指南", href: "/zh/install", tag: "shipped", blurb: "npm、Cargo、Homebrew、直接下载——任选其一。" }, - { title: "浏览开放议题", href: "https://github.com/Hmbown/CodeWhale/issues", tag: "opened", blurb: "在 GitHub 上查看——从标记为 good first issue 的议题开始。" }, - { title: "查看路线图", href: "/zh/roadmap", tag: "discussion", blurb: "已确认、审议中、以及已排除的功能规划。" }, + { title: "安装", href: "/zh/install", tag: "shipped", blurb: "npm、Cargo、Homebrew,或直接下载。" }, + { title: "开放议题", href: "https://github.com/Hmbown/CodeWhale/issues", tag: "opened", blurb: "从 good first issue 标签开始。" }, + { title: "路线图", href: "/zh/roadmap", tag: "discussion", blurb: "已确认、审议中、以及已排除的功能。" }, ], movers: [], }; @@ -72,33 +71,31 @@ export default async function HomePage({ params }: { params: Promise<{ locale: s /* keep fallback */ } + const highlights = isZh && dispatch.highlightsZh ? dispatch.highlightsZh : dispatch.highlights; + return ( <> {/* HERO */} -
-
- +
-
-
+
+
DeepSeek V4 · 1M context - OpenRouter - MIT licensed

{isZh - ? "开源模型的终端编程智能体。" + ? "面向开源模型的终端编程智能体。" : "The terminal coding agent for open models."}

CodeWhale {isZh - ? " 是一个终端原生的编程智能体,面向 DeepSeek V4 及其他开源/开放权重模型。它编辑文件、执行 Shell、调用 MCP 服务器、协调子智能体——并在你的文件系统沙箱内运行。DeepSeek API 直连、OpenRouter、Hugging Face 推理端点、自托管——任选你的接入方式。" - : " is a terminal-native coding agent for DeepSeek V4 and other open / open-weight models. It edits files, runs shells, calls MCP servers, coordinates sub-agents — and runs inside your filesystem sandbox. Native DeepSeek API, OpenRouter, Hugging Face inference, self-hosted — bring your own provider."} + ? " 是面向 DeepSeek V4 及其他开放权重模型的终端原生编程智能体。它读改文件、跑测试、调用 MCP 服务器,全程在你的文件系统沙箱内运行。" + : " is a terminal-native coding agent for DeepSeek V4 and other open-weight models. It reads and edits files, runs tests, calls MCP servers — all inside your filesystem sandbox."}

@@ -120,15 +117,8 @@ export default async function HomePage({ params }: { params: Promise<{ locale: s > {isZh ? "阅读文档" : "Docs"} - - {isZh ? "路线图" : "Roadmap"} -
- {/* Trust signals */}
{isZh ? "独立维护者 Hmbown" : "Maintained by Hmbown"} · @@ -138,42 +128,29 @@ export default async function HomePage({ params }: { params: Promise<{ locale: s
- {/* hero side: install card */} -
+
- {isZh ? "开始使用 · 一行安装" : "get started · 开始使用"} + {isZh ? "一行安装" : "one-line install"}
                 {isZh ? (
                   <>
-                    # npm 安装(推荐,无需 Rust 工具链){"\n"}
+                    # npm(推荐,无需 Rust 工具链){"\n"}
                     $ npm install -g codewhale{"\n"}
                     $ codewhale{"\n"}
                     
- # 或 Cargo 安装{"\n"} - $ cargo install codewhale-cli --locked{"\n"} - $ codewhale{"\n"} -
- # 已安装?更新到最新版{"\n"} - $ codewhale update{"\n"} -
- # 首次运行自动创建 ~/.deepseek/ + # Cargo / Homebrew / 直接下载请见{"\n"} + # /install ) : ( <> - # npm install (recommended, no Rust toolchain){"\n"} + # npm — no Rust toolchain required{"\n"} $ npm install -g codewhale{"\n"} $ codewhale{"\n"}
- # or Cargo install{"\n"} - $ cargo install codewhale-cli --locked{"\n"} - $ codewhale{"\n"} -
- # already installed? pull the latest{"\n"} - $ codewhale update{"\n"} -
- # first run sets up ~/.deepseek/ + # Cargo / Homebrew / direct download:{"\n"} + # /install )}
@@ -188,163 +165,140 @@ export default async function HomePage({ params }: { params: Promise<{ locale: s - {/* TODAY'S DISPATCH */} + {/* WHAT IT IS */}
-
-
-
{isZh ? "今日要闻" : "Today's Dispatch · 今日要闻"}
-

- {new Date(dispatch.generatedAt).toISOString().slice(0, 10)} -

-
-
-
{isZh ? "由 … 编辑" : "Curated by"}
-
DeepSeek V4-Flash · 6h cron
-
+
+ +

+ {isZh ? "它到底是什么" : "What it actually is"} +

-
- {/* editorial */} -
-
-

- {isZh && dispatch.headlineZh ? dispatch.headlineZh : dispatch.headline} -

-

- {isZh && dispatch.summaryZh ? dispatch.summaryZh : dispatch.summary} -

- -
-
{isZh ? "要点" : "Highlights · 要点"}
-
    - {(isZh && dispatch.highlightsZh ? dispatch.highlightsZh : dispatch.highlights).map((h, i) => ( -
  • - - {h.tag} - -
    - - {h.title} - -

    {h.blurb}

    -
    -
  • - ))} -
+
+ {isZh ? ( + <> +
+
01 · 终端智能体
+

编程智能体,不是聊天框

+

+ 与 Claude Code、Codex CLI 相同的循环:读、改、跑测试、回报。键盘驱动,住在终端里。 +

+
+
02 · 开源模型优先
+

DeepSeek V4 深度集成

+

+ 原生 DeepSeek API:推理流、缓存指标、思考力度控制。OpenRouter、NVIDIA NIM、vLLM、sglang 同时可选。 +

+
+
+
03 · 沙箱边界
+

Plan、Agent、YOLO

+

+ Plan 只读;Agent 风险操作前确认;YOLO 全自动。沙箱:seatbelt(macOS)、landlock(Linux)、受限令牌(Windows)。 +

+
+ + ) : ( + <> +
+
01 · terminal agent
+

A coding agent, not a chat box

+

+ Same loop as Claude Code or Codex CLI: reads, edits, runs tests, reports back. Keyboard-driven, lives in your terminal. +

+
+
+
02 · open models first
+

DeepSeek V4, deeply integrated

+

+ Native DeepSeek API: reasoning streaming, cache metrics, thinking-effort control. OpenRouter, NVIDIA NIM, vLLM, and sglang also supported. +

+
+
+
03 · sandboxed
+

Plan, Agent, YOLO

+

+ Plan reads only. Agent asks before risky ops. YOLO auto-approves. Sandboxed via seatbelt (macOS), landlock (Linux), restricted tokens (Windows). +

+
+ + )} +
- {(isZh && dispatch.moversZh ? dispatch.moversZh : dispatch.movers).length > 0 && ( -
-
{isZh ? "进展" : "Movers · 进展"}
-
    - {(isZh && dispatch.moversZh ? dispatch.moversZh : dispatch.movers).map((m) => ( -
  • - #{m.number} - {m.title} - — {m.reason} -
  • - ))} -
-
- )} -
+
+
{isZh ? "内建提供商" : "Built-in providers"}
+
+ {facts.providers.map((p) => ( + + {p.label} + + ))}
- - {/* recent activity column */} -
- {/* WHAT IT IS */} + {/* 100-TO-1 MODEL */}
-
- -

- {isZh ? "它到底是什么" : "What it actually is"} -

-
+
+
+
+ +
{isZh ? "100:1 模型" : "100-to-1 model"}
+
+

+ {isZh ? "递归自我改进的开源智能体框架" : "A recursive harness, modelled at 100-to-1"} +

+

+ {isZh + ? "1948 年,Ralph Bown 用 100:1 的晶体管模型,把微小的结构讲清楚。CodeWhale 借用同样的形状:一个清晰提示词,把 DeepSeek V4 Pro 的缓存注意力、工具调用与子智能体凝结为一个可审查的小补丁。" + : "In 1948, Ralph Bown used a 100-to-1 model of the transistor to make a tiny structure legible. CodeWhale uses the same shape: one clear prompt turns DeepSeek V4 Pro's cached attention, tool use, and sub-agents into one small, reviewable patch."} +

+

+ {isZh + ? "100:1 不是性能基准,而是贡献形状:一个提示词、许多智能体小时、一个小补丁、一次维护者审查。" + : "100-to-1 is not a throughput benchmark. It is a contribution shape: one prompt, many agent-hours, one small patch, one maintainer review."} +

+
+ + {isZh ? "运行提示词 →" : "Run the prompt →"} + + + {isZh ? "DeepSeek 价格 →" : "DeepSeek pricing →"} + +
+
-
- {isZh ? ( - <> -
-
01 · 终端智能体
-

编程智能体,不是聊天框

-

- 与 Claude Code、Codex CLI 相同的循环。读、改、跑测试、汇报。键盘驱动,住在你的终端里。 -

-
-
-
02 · 开源模型优先
-

DeepSeek V4 深度集成

-

- DeepSeek 原生 API 为一级路径:推理块流式传输、缓存指标、思考力度选择。同时支持 OpenRouter、Hugging Face、自托管——任你选择。 -

-
-
-
03 · 沙箱边界
-

Plan、Agent、YOLO

-

- Plan 只读调查,Agent 按需审批,YOLO 自动批准。沙箱:seatbelt (macOS)、landlock (Linux);Windows 受限令牌。 -

-
- - ) : ( - <> -
-
01 · 终端智能体
-

A coding agent, not a chat box

-

- Same loop as Claude Code or Codex CLI. Reads, edits, runs tests, reports back. Keyboard-driven, lives in your terminal. -

-
-
-
02 · 开源模型优先
-

DeepSeek V4, deeply integrated

-

- Native DeepSeek API is the first-class path: reasoning streaming, cache metrics, thinking effort control. OpenRouter, Hugging Face, self-hosted — your call. -

-
-
-
03 · 沙箱保护
-

Plan, Agent, YOLO

-

- Plan reads only. Agent asks for approval on risky ops. YOLO auto-approves. Sandboxed via seatbelt (macOS), landlock (Linux); Windows restricted tokens. -

-
- - )} -
- - {/* Provider quick list */} -
-
{isZh ? "内建提供商" : "Built-in providers"}
-
- {facts.providers.map((p) => ( - - {p.label} - - ))} +
+
+
CodeWhale / 100:1
+
{isZh ? "演示模型" : "demonstration model"}
+
+
+ {(isZh + ? [ + { n: "01", t: "输入", d: "贡献者在 fork 中运行 CodeWhale,并给出递归改进提示词。" }, + { n: "02", t: "相互作用", d: "DeepSeek V4 Pro 读取代码库、调用工具、协调子智能体,前缀缓存让长程注意力保持低成本。" }, + { n: "03", t: "输出", d: "智能体返回一个可复现、可测试、可审查的小补丁。" }, + { n: "04", t: "反馈", d: "维护者审查、合并、发布。下一轮在更好的框架上开始。" }, + ] + : [ + { n: "01", t: "Input", d: "A contributor runs CodeWhale in a fork with the recursive harness prompt." }, + { n: "02", t: "Interaction", d: "DeepSeek V4 Pro reads the repo, uses tools, coordinates sub-agents; prefix caching keeps long attention cheap." }, + { n: "03", t: "Output", d: "The agent returns one reproducible, tested, reviewable patch." }, + { n: "04", t: "Feedback", d: "The maintainer reviews, lands, releases. The next run starts from a better harness." }, + ] + ).map((item) => ( +
+
{item.n}
+

{item.t}

+

+ {item.d} +

+
+ ))} +
@@ -391,82 +345,48 @@ export default async function HomePage({ params }: { params: Promise<{ locale: s } />
- -

- {isZh - ? "示意图使用 Mermaid 标准格式渲染。" - : "Rendered with Mermaid standard syntax."} -

- {/* OPEN MODEL PLATFORM */} + {/* TODAY'S DISPATCH — slim editorial column */}
-
-
- -

- {isZh ? "开放模型平台" : "Open model platform"} -

+
+
+
+
{isZh ? "今日要闻" : "Today's Dispatch"}
+
+ {new Date(dispatch.generatedAt).toISOString().slice(0, 10)} +
+
+
DeepSeek V4-Flash · 6h cron
-

- {isZh - ? "CodeWhale 为 DeepSeek V4 构建了深度的一级集成——推理流、缓存指标、思考力度控制。同时,OpenRouter 已作为二级提供商就绪;Hugging Face 推理端点、自托管 OpenAI 兼容端点、本地模型服务也在规划中。目标明确:CodeWhale 应成为所有开放/开源编码模型的终端智能体。" - : "CodeWhale ships with deep first-class integration for DeepSeek V4 — reasoning streams, cache metrics, thinking effort control. OpenRouter is ready as a secondary provider. Hugging Face inference endpoints, self-hosted OpenAI-compatible endpoints, and local model serving are on the roadmap. The direction is clear: CodeWhale should be THE terminal agent for all open / open-weight coding models."} -

+
+

+ {isZh && dispatch.headlineZh ? dispatch.headlineZh : dispatch.headline} +

+

+ {isZh && dispatch.summaryZh ? dispatch.summaryZh : dispatch.summary} +

+
    + {highlights.slice(0, 3).map((h, i) => ( +
  • + + {h.tag} + +
    + + {h.title} + +

    {h.blurb}

    +
    +
  • + ))} +
+
-
- {isZh ? ( - <> -
-
DeepSeek · 一级
-

- 原生 DeepSeek API 直连。推理内容流式传输、缓存命中指标、模型自动路由(Fin)。DeepSeek 不会被弃用。 -

-
-
-
OpenRouter · 就绪
-

- 通过 OpenRouter 接入 DeepSeek 模型及更多。统一 API 层,按使用量计费。设置 OPENROUTER_API_KEY 即可。 -

-
-
-
更多 · 规划中
-

- Hugging Face 推理端点、自托管(vLLM / sglang / Ollama)、Unsloth 微调适配——这些是平台路线图的一部分,尚未完全实现。 -

-
- - ) : ( - <> -
-
DeepSeek · first-class
-

- Native DeepSeek API direct. Reasoning streaming, cache hit metrics, model auto-routing (Fin). DeepSeek is not deprecated. -

-
-
-
OpenRouter · ready
-

- Access DeepSeek models and more through OpenRouter. Unified API layer, usage-based billing. Set OPENROUTER_API_KEY and go. -

-
-
-
More · planned
-

- Hugging Face inference, self-hosted (vLLM / sglang / Ollama), Unsloth fine-tune adapters — on the platform roadmap, not fully implemented yet. -

-
- - )} -
- -
- - {isZh ? "查看完整路线图 →" : "Full roadmap →"} - - - {isZh ? "提供商配置文档 →" : "Provider config docs →"} +
+ + {isZh ? "全部活动 →" : "All activity →"}
@@ -474,26 +394,26 @@ export default async function HomePage({ params }: { params: Promise<{ locale: s {/* JOIN IN */}
-
-
+
+
{isZh ? "加入" : "Join in"}

- {isZh ? "这是一个小项目。你的每个补丁都很重要。" : "This is a small project. Your patch matters."} + {isZh ? "小项目。你的每个补丁都重要。" : "A small project. Your patch matters."}

-

+

{isZh - ? "无 CLA,无赞助商锁定。维护者亲自阅读每一条内容。议题在公开环境下分类。版本从 main 分支发布。" - : "No CLA. No sponsor lockouts. The maintainer reads everything personally. Issues triaged in the open. Releases cut from main."} + ? "无 CLA,无赞助商优先通道。维护者亲自阅读每一条内容,议题公开分类,版本从 main 分支发布。" + : "No CLA. No sponsor lockouts. The maintainer reads everything personally, issues are triaged in the open, and releases cut from main."}

-
+
- ★ Star on GitHub + ★ {isZh ? "Star on GitHub" : "Star on GitHub"} {isZh ? "参与贡献 →" : "Contribute →"} @@ -501,24 +421,19 @@ export default async function HomePage({ params }: { params: Promise<{ locale: s
-
- {(isZh - ? [ - { t: "34k+", d: "星标" }, - { t: "98+", d: "贡献者" }, - { t: `${facts.providers.length}+`, d: "提供商" }, - ] - : [ - { t: "34k+", d: "Stars" }, - { t: "98+", d: "Contributors" }, - { t: `${facts.providers.length}+`, d: "Providers" }, - ] - ).map((s) => ( -
-
{s.t}
-
{s.d}
-
- ))} +
+
+ {isZh ? "版本" : "version"} + {facts.version ?? "v0.8.x"} +
+
+ {isZh ? "提供商" : "providers"} + {facts.providers.length} +
+
+ {isZh ? "许可证" : "license"} + {facts.license ?? "MIT"} +