/** * Landing copy (bilingual): this file holds the Chinese dictionary `zh` and the runtime * active dictionary `S`; the English dictionary lives in strings-en.ts (constrained to * the same shape by the `Strings` type). Locale switching is handled by state/locale.tsx, * which calls `setActiveStrings` and remounts the tree keyed by locale — keep `S.x` * reads inside components. Keep domain terms in standard English casing — Agent, * Workspace, Token, Task, Skill, Trace, etc. */ export const zh = { siteName: "PenguinHarness", announcement: { label: "公告", prev: "上一条公告", next: "下一条公告", k3AndFree: "Kimi K3 与 Ling 3.0 Flash 等免费模型现已在 PenguinHarness 可用", fireworks: "携手 AMD 开发者计划:$50 Fireworks API 额度免费领取中", }, nav: { highlights: "特色", quickstart: "快速开始", cases: "案例", scenarios: "应用场景", benchmark: "评测", contract: "CONTRACT.md", features: "功能", blog: "博客", download: "下载", docs: "文档", github: "GitHub", openMenu: "打开菜单", closeMenu: "关闭菜单", }, theme: { label: "主题", light: "浅色", dark: "深色", system: "跟随系统", }, lang: { label: "语言", zh: "中文", en: "English", system: "跟随系统", }, hero: { /** * Headline: {titlePrefix}{titleNoWrap}{word}{titleSuffix}, the word * rotating through titleWords (桌面/服务器 — where the builder runs; the README * writes the pair as "桌面 / 服务器"). The nowrap span pins the wrap point in front * of it, so a break never splits "Agent Builder" / "Right on Your Desktop" mid-phrase. */ titlePrefix: "全自动 Agent 构建平台,", titleNoWrap: "运行在你的", titleWords: ["桌面", "服务器"], titleSuffix: "上", subtitle: "一键创建自进化 Agent", ctaPrimary: "快速开始", ctaGithub: "GitHub", installHint: "一行命令安装(内嵌 Node 运行时,解压即用)", stats: [ { value: "1000+", label: "支持模型数量" }, { value: "1×CPU", label: "最低运行配置" }, { value: "100%", label: "开源,可本地部署" }, { value: "首个原生", label: "递归自我进化 Harness" }, ], }, /** Install-method switcher (hero + quick start): OS tabs, online/offline methods. */ install: { linux: "Linux", macos: "macOS", windows: "Windows", online: "在线安装", offline: "离线安装包", offlineNote: "每个 GitHub Release 每个目标只附带一个安装包(Linux / macOS 各 x64 与 arm64,Windows 为 x64),同一个文件同时服务在线与离线安装。包内封入程序负载、SHA256 校验文件与安装器:在有网机器下载这一个文件,拷贝到目标机器解压安装,全程无需联网。", offlineHints: { linux: "arm64 机器换用 penguin-linux-arm64.tar.gz。", macos: "Apple 芯片用 arm64 包,Intel 芯片换用 penguin-darwin-x64.tar.gz。", windows: "解压后也可直接双击 install.cmd 完成安装。", }, offlineRelease: "前往 GitHub Releases 下载离线安装包", desktopNote: "更喜欢独立应用?桌面端把 Web 界面与服务端打包成免终端的安装程序(macOS / Windows / Linux),与 CLI 安装共用同一份本地数据。", desktopPage: "前往桌面端下载页", }, download: { eyebrow: "下载", title: "下载桌面端", subtitle: "完整的 Web 体验打包为独立应用:内嵌服务端,打开即已登录——无需终端、无登录页;数据与 CLI 安装共用同一个 ~/.penguin/data 目录。", recommended: "当前系统", platforms: { mac: { name: "macOS", require: "macOS 11 及以上,dmg 安装镜像(按芯片选择)" }, windows: { name: "Windows", require: "Windows 10 及以上(x64),NSIS 安装程序" }, linux: { name: "Linux", require: "x64,AppImage 免安装运行,或 deb 交给包管理器" }, }, statusOss: (version: string) => `已连接 OSS 国内镜像(${version}),点击即从镜像高速下载。`, statusGithub: "下载指向 GitHub Releases 的最新版本。", altGithub: "改从 GitHub 下载", altOss: "改用 OSS 镜像下载", checksums: "校验和(SHA256SUMS.desktop)", allReleases: "全部版本", unsignedNote: "当前构建暂未签名:macOS 首次启动请右键 →「打开」;Windows 在 SmartScreen 提示中选「更多信息 → 仍要运行」。", cliHint: "只需要命令行或浏览器里的 Web 界面?", cliHintLink: "参见快速开始", }, copy: { copy: "复制", copied: "已复制", }, pillars: { eyebrow: "三大特色", title: "为构建与进化 Agent 而生", subtitle: "PenguinHarness 率先把「Agent 构建 Agent」与「递归自我进化」带入开源 Harness。", root: "PenguinHarness", concepts: ["Penguin Message", "Penguin SDK", "Penguin Skills"], diagramLabel: "PenguinHarness 辐射出 Penguin Message、Penguin SDK 与 Penguin Skills,分别延展出三大特色", items: [ { title: "Simplest Is the Best", tag: "", desc: "坚持最小化工具集与简洁的底层接口,以更少的工具调用与 Token 消耗,高效完成复杂任务。", }, { title: "Harness for Building Agents", tag: "", desc: "通过 PenguinHarness SDK,让 Agent 从零自主完成 Agent 应用的构建。", }, { title: "Harness for Recursive Self-Improvement", tag: "", desc: "通过 PenguinHarness Skills,Agent 以自我评估与自我优化实现递归式自我提升。", }, ], }, compare: { eyebrow: "对比 LangChain", title: "用 Agent 构建 Agent", subtitle: [ "使用 LangChain,以 1 倍速度人工构建 Agent;", "使用 PenguinHarness,以 100 倍速度用 Agent 构建 Agent。", ], langchain: { name: "LangChain", speed: "1×", mode: "人工构建 Agent", note: "逐行编写链路、工具与提示词,每个应用都从零开始。", }, penguin: { name: "PenguinHarness", speed: "100×", mode: "Agent 构建 Agent", note: "一句话需求,Agent 端到端交付脚手架、代码与运行说明。", }, }, selfImprove: { eyebrow: "自我提升循环", title: "多 Agent 协作,进化自动发生", subtitle: "Optimizer 组织多个 Evaluator 为 Target Agent 并行打分,依据分数与运行轨迹定位失分原因,把 Agent 从版本 N 优化到版本 N+1——每一轮都有快照,随时可回退。", videoLabel: "自我进化演示视频", videoCaption: "自我进化演示:Agent 跑评测、定位失分点、发布下一版——完整一轮。", nodeOptimizer: "Optimizer", nodeEvaluator: "Evaluator × N", nodeTarget: "Target Agent", badgeOld: "vN", badgeNew: "vN+1", edgeSpawn: "启动并行评测", edgeBench: "运行 Benchmark", edgeFeedback: "分数与轨迹", edgeImprove: "更新提示词与 Skill", trends: [ { label: "分数", hint: "不断上升" }, { label: "成本", hint: "不断降低" }, { label: "耗时", hint: "不断减少" }, ], diagramLabel: "自我提升循环示意:Optimizer 组织多个 Evaluator 打分,依据分数与轨迹把 Target Agent 从 vN 优化到 vN+1", }, quickstart: { eyebrow: "快速开始", title: "三步跑通第一个任务", subtitle: "一行命令安装,打开桌面级界面即可让 Agent 开始工作;数据全部保存在本地 ~/.penguin/data 目录。", step1: "安装", step1Desc: "选择你的系统与安装方式:在线一行命令,或离线安装包;产物内嵌 Node 运行时,解压即用,升级与重装不触碰数据。", tabWeb: "Web 界面", tabCli: "命令行", webStep2: "启动 Web 界面", webStep2Desc: "penguin web 启动本地服务并打开浏览器,用内置管理员 admin 登录——初始密码在服务端首次启动时打印到终端(形如 penguin-1234),登录后请尽快修改密码。", webCmd: "penguin web # 打开 http://127.0.0.1:7364", webStep3: "在界面里配置模型,开始对话", webStep3Desc: "进入「模型库」页,在 DeepSeek 或 OpenRouter 分组里粘贴 API key 并设为默认;回到对话页把第一个任务交给 Agent,例如「分析 data.csv,输出各季度销售额汇总」。", getKeyPrefix: "获取 API key:", getDeepseekKey: "DeepSeek 控制台", getOpenrouterKey: "OpenRouter 控制台", cliStep2: "配置模型", cliStep2Desc: "以 DeepSeek 官方 API 或 OpenRouter 网关为例,一条命令完成配置并设为默认。", tabDeepseek: "DeepSeek", tabOpenrouter: "OpenRouter", deepseekCmd: `penguin config model add \\ --provider deepseek \\ --model-id deepseek-v4-pro \\ --api-key sk-your-deepseek-key \\ --set-default`, deepseekNote: "模型引用始终是 (provider, model_id) 二元组,--provider 必填;省略 --api-key 时回退环境变量 DEEPSEEK_API_KEY。", openrouterCmd: `penguin config model add \\ --provider openrouter \\ --model-id deepseek/deepseek-v4-pro \\ --api-key sk-or-your-key \\ --set-default`, openrouterNote: "网关分组自动预填 OpenAI 兼容协议与 base URL,一个 key 即可访问上千种模型。", cliStep3: "运行", cliStep3Desc: "penguin run 直接执行单个任务;penguin chat 进入交互式 REPL。", runCmd: `penguin run --approve allow-all \\ --message "分析 data.csv,输出各季度销售额汇总"`, }, cases: { eyebrow: "案例", title: "从一句话到可运行的应用", subtitle: "把需求交给 Agent,端到端拿到可运行的结果;更多案例陆续加入。", tabs: [ { label: "RAG 应用", prompt: "收集 https://github.com/ericbuess/claude-code-docs 的文档,做一个化身 Claude Code 配置专家、回答带来源引用的 RAG 问答应用。", caption: "生成的 RAG 应用成品:Claude Code 配置专家,回答带可点击的来源引用与示例问题", cost: "而生成整个 RAG 应用,仅消耗了 0.2 元($0.02)的 token——使用 DeepSeek V4 Pro 模型。", }, { label: "2D 企鹅雪橇小游戏", prompt: "做一个可爱的南极企鹅滑雪橇越野小游戏:空格起跳跃过石头,速度与难度随时间上升。", caption: "生成的小游戏成品:南极企鹅滑雪橇跳石头越野,实时计分,难度渐进", cost: "", }, ], }, scenarios: { eyebrow: "应用场景", title: "从体检中心到工厂车间", subtitle: "都是已经上线的真实部署,不是概念演示。", items: [ { title: "体检报告质控", alt: "体检中心的 CT 检查室", body: "一家体检机构把报告质控交给了 Agent,跑在本地部署的 Qwen3 14B 上,数据不出机房。过去一轮人工复核要 30 分钟,现在一分钟自动过 30 份,核查结论与医学专家基本一致,审核产能提升数倍。", }, { title: "产线设备巡检", alt: "自动化半导体生产线", body: "一家制造企业在各条流水线上部署巡检 Agent,全天候盯着设备状态,异常时先尝试自动恢复。停机时间减少 65%,产出提升约 2 倍。", }, ], }, contract: { eyebrow: "稳定进化的契约", title: "CONTRACT.md", subtitle: "PenguinHarness 以这份契约作为进化的边界和基石:能力可以生长,边界永不漂移。", intro: "进化需要边界。契约是 Harness 与 Agent 之间的约定:能力生长于内,边界固守于外。", items: [ { term: "工作边界", text: "所有 Agent 都运行在同一个 Harness 之上:Agent 之下创建 Session,Session 之中执行 Task;自我进化只发生在 Workspace 与 Skill 之内,Harness 内核与安全机制始终不变。", }, { term: "可编辑文件", text: "Agent 的提示词、技能与配置都是磁盘上可编辑的文件,而不是写死在代码里的常量。你能看到的,Agent 才能改进;你能修改的,Agent 也能学会。", }, { term: "全量追踪", text: "每一次模型请求、每一次工具调用都完整写入 Trace:花了多少 Token、用了多长时间、为什么失败,事后都能逐条回放。", }, { term: "权限审批", text: "每个工具调用都先经过审批再执行,每次审批决定都留有审计记录,Agent 做过什么一目了然。", }, { term: "版本控制", text: "每次优化之前,先保存 Agent State 的版本快照。进化失败或效果回退,一步恢复到任何历史版本。", }, { term: "按需加载", text: "面向模型的内容先给索引、再按需读取正文,不把整库资料一次性塞进上下文——上下文越干净,行为越稳定。", }, { term: "错误处理", text: "错误分为可重试与不可重试:可重试的自动重试,不可重试的收敛为消息回给模型,任务不因一次失败而终止。", }, { term: "密钥隔离", text: "API key 等 credential 存放在隐藏文件里、只经系统接口读写,永远不进入模型上下文,也不以明文出现在界面上。", }, { term: "模型解耦", text: "模型与 Agent 互不绑定:随时换用更强或更便宜的模型,不需要改动 Agent 本身。", }, { term: "执行轨迹可恢复", text: "任何 Session 都能从 Trace 完整恢复:进程重启、机器迁移,上下文都不会丢。", }, ], outro: "契约不约束能力的上限,只约束进化的方式。", }, benchmark: { eyebrow: "Benchmark", title: "以几十分之一的成本,跑出优异的效果", subtitle: "每个产品搭配它常用的模型,与 Claude Code、OpenAI Codex 在两套题库上正面对比:准确率同级,花的钱差出几十倍。", higherBetter: "越高越好", lowerBetter: "越低越好", dimScore: "准确率", dimTokens: "Token 用量", dimCost: "成本", dataTitle: "复杂数据分析", dataDesc: "三者中准确率最高(66.67%,另两者均为 53.33%),成本只有 OpenAI Codex 的 1/35、Claude Code 的 1/70。", dataFootnote: "15 道复杂数据分析任务 · 单次运行 · Token 与成本为全套题目合计 · 按官方计价估算。", codeTitle: "代码任务", codeDesc: "准确率与 OpenAI Codex 持平(71.25%)、低于 Claude Code(86.25%),但成本只有前者的 1/58、后者的 1/39。", codeFootnote: "40 道代码任务 × 2 次运行(准确率取全部 80 次结果)· Token 与成本为全套题目合计 · 按官方计价估算。", colFramework: "实验框架", colModel: "模型名称", colAccuracy: "准确率(%)", colTokens: "Token 用量(M)", colCost: "成本($)", }, features: { eyebrow: "主要功能", title: "桌面级界面里的完整能力", subtitle: "与 Web 界面的菜单一一对应,装好即用。", more: "以及更多……", items: [ { title: "多 Session 会话", desc: "每个 Agent 可开任意多个会话,流式输出、工具审批与图片粘贴开箱即用。", }, { title: "智能体仓库", desc: "一键创建与管理多个 Agent,名称、描述与提示词随时可改。", }, { title: "技能库", desc: "浏览、安装、快捷调用 Skill,Agent 也能编写并优化自己的技能。", }, { title: "定时任务", desc: "计划调度让 Agent 到点自动执行,全程留痕,无人值守。", }, { title: "子 Agent", desc: "任务可委派给 Subagent 并行协作,各自独立、互不干扰。", }, { title: "成本中心", desc: "Token、请求与成本逐日趋势,各模型成功率与异常明细一目了然。", }, { title: "轨迹观测", desc: "逐轮回放每次请求与工具调用,Token 细分与耗时全量可查。", }, { title: "Agent 评估", desc: "内建 Benchmark 题库与记分板,分数随进化持续上升。", }, { title: "多用户管理", desc: "管理员创建用户,各自拥有独立 Project,数据相互隔离。", }, ], }, skills: { eyebrow: "内置 Skill", title: "内置 Skill 库一览", subtitle: "四组 Skill 开箱即用,Agent 也能编写并优化自己的 Skill。", groups: [ { title: "办公效率", skills: ["data-analysis", "firecrawl"] }, { title: "软件开发", skills: ["web-design", "software-engineering"] }, { title: "AI 应用开发", skills: ["penguin-sdk", "penguin-cli", "agenthub-models", "vllm", "ollama", "llamafactory"], }, { title: "Agent 调优", skills: ["agent-creation", "benchmark-design", "agent-evaluation", "agent-optimization"], }, ], }, security: { eyebrow: "安全", title: "进化不越界,数据不出域", subtitle: "为企业级数据安全而设计的运行边界。", items: [ { title: "开源,本地部署", desc: "内核完全开源可审计,数据保存在本地目录,不经过任何第三方服务。", }, { title: "进化范围受限", desc: "自我进化严格限制在 Workspace 与 Skill 内,不修改 Harness 核心安全边界。", }, { title: "权限审批与审计", desc: "工具调用先经用户批准,审批结果全部写入 Trace 审计事件。", }, { title: "密钥隔离", desc: "credential 以 0600 隐藏文件落盘,系统 Prompt 禁读,界面全程掩码。", }, ], }, community: { eyebrow: "社区", title: "加入社区,一起共建", subtitle: "讨论、提问、贡献——你的第一个 Issue 就是最好的开始。", items: { discord: { name: "Discord", desc: "与我们和其他开发者实时交流。" }, x: { name: "X(Twitter)", desc: "关注产品与团队的最新动态。" }, wechat: { name: "微信群", desc: "中文社区讨论与互助。" }, github: { name: "GitHub", desc: "Star、Issue 与 PR 都欢迎。" }, }, }, cta: { title: "让复杂的 AI 开发越来越简单", subtitle: "通过不断进化,PenguinHarness 为你提供更高效、更可靠、更低幻觉、更低成本的 Agent 生产力引擎。", install: "立即安装", docs: "阅读文档", }, footer: { tagline: "Efficient Self-Improving Harness for Everyone.", product: "产品", resources: "资源", quickstart: "快速开始", features: "功能", benchmark: "评测", blog: "博客", repo: "GitHub 仓库", docs: "文档", releases: "Releases", license: "Apache-2.0 License", copyright: "© 2026 Prism Shadow · 基于 Apache-2.0 协议开源", }, blog: { title: "博客", subtitle: "产品动态、技术实践、观点与更新日志", all: "全部", news: "产品动态", practice: "技术实践", perspectives: "观点", changelog: "更新日志", pinned: "置顶", copyLink: "复制页面链接", linkCopied: "已复制", back: "返回博客", empty: "该分类下暂无文章", notFound: "文章不存在", backHome: "返回首页", toc: "目录", }, }; /** Dictionary shape (constrains the English dictionary so keys line up). */ export type Strings = typeof zh; /** * Runtime active dictionary (live binding): the locale Provider calls setActiveStrings * to switch before render, and remounts the whole tree keyed by locale so every `S.x` * read reflects the current language. */ export let S: Strings = zh; export function setActiveStrings(next: Strings): void { S = next; }