d4faee3a1e
Branch-length batch covering tooling, the model layer, the Web App and the public surfaces. Highlights: - Changelog: a per-release `changelog/<version>/` tree, grouped by the surface each change touches, with a root CHANGELOG.md holding one line per release. - Dev startup: `scripts/dev-prebuild.mjs` serializes the skills+core prebuild behind a lock and keeps `pnpm install` current; `pnpm dev` runs server+web together. - AgentHub 0.3.3 -> 0.4.0: OmniMessage complete payloads carry one opaque `fidelity` object in place of item-level `signature`/`phase`, threaded verbatim through Trace, replay and resume; malformed classification adapted to the new error types. - Model layer: a model is always referenced by an explicit `(provider, model_id)` pair. The provider is never inferred, guessed or defaulted -- both the catalog inference and the unique-match config resolution are gone, and CLI, SDK, server routes and run_subagent all require the complete pair. Catalog gains the Qwen Token Plan, Qwen Pay-As-You-Go and Fireworks AI gateways, plus an expanded OpenRouter group. - Web App: catalog preset sync and per-group speed test on the Models page, positional slash commands, a markdown renderer, skill-library update reminders, and a vertically centred draft page whose upward menus size themselves to the room available. - Public surfaces: restructured READMEs, the penguin.ooo landing site and blog, refreshed benchmark results for both suites, and the demo videos playing on the landing page. Includes the fixes from a full review of the branch: 23 confirmed findings, among them a provider-inference bug that could send one vendor's API key to another vendor's endpoint, and an Escape handler that destroyed the composer's contents unrecoverably. Verified on the branch head: pnpm test (1127 passing, 7 packages), pnpm typecheck and pnpm format:check clean, Playwright e2e 14/14.
2.8 KiB
2.8 KiB
title, description
| title | description |
|---|---|
| 安装 | 通过安装脚本、npm 或源码安装 PenguinHarness。 |
系统要求
- Linux / macOS(x64 或 arm64):安装脚本提供内置官方 Node.js 运行时的平台压缩包,解压即用,无需本机安装 Node。
- 其他平台,或通过 npm / 源码安装:需要系统 Node.js >= 24。
脚本安装(推荐)
在 Linux / macOS 上执行:
curl -fsSL https://penguin.ooo/install.sh | sh
脚本按平台下载 penguin-{linux,darwin}-{x64,arm64}.tar.gz,其中捆绑了官方 Node.js 运行时。其他平台不会自动回退:脚本会退出并提示先安装 Node.js >= 24、再携带 --universal 重新执行,改用不含运行时的 penguin-universal.tar.gz。
安装完成后验证:
penguin -v
安装位置与选项
| 项目 | 说明 |
|---|---|
| 安装目录 | 默认 ~/.penguin,可用环境变量 PENGUIN_INSTALL_DIR 覆盖 |
| 命令入口 | 创建符号链接 ~/.local/bin/penguin(若 ~/.local/bin 不在 PATH 上,脚本会给出提示) |
| 版本固定 | 环境变量 PENGUIN_VERSION=vX.Y.Z,或脚本参数 --version vX.Y.Z;默认安装最新 Release |
| 完整性校验 | Release 提供 checksum 资产时自动进行 sha256 校验 |
| 升级 | 重新执行安装脚本即可,文件原子替换 |
脚本参数写在 sh -s -- 之后,例如 curl -fsSL https://penguin.ooo/install.sh | sh -s -- --universal。
数据目录
数据目录默认位于 ~/.penguin/data(在安装主目录 ~/.penguin 之下,但安装与升级都不会改动它),可用环境变量 PENGUIN_HOME 覆盖。模型配置、Session 记录等在升级后均会保留。
npm 安装
需要系统 Node.js >= 24:
npm install -g @prismshadow/penguin-cli
npm 包名为 @prismshadow/penguin-cli,安装后的命令是 penguin。Web UI 静态资源随 @prismshadow/penguin-server 包发布,因此仅执行上述命令即可直接使用 penguin web。
源码安装
需要 Node.js >= 24 与 pnpm:
git clone https://github.com/Prism-Shadow/penguin-harness.git
cd penguin-harness
pnpm install && pnpm build
构建完成后,在仓库内用 pnpm penguin <args> 作为开发入口运行,或使用全局链接的 penguin 命令。
已发布的 npm 包
| 包 | 说明 |
|---|---|
@prismshadow/penguin-cli |
命令行工具,提供 penguin 命令 |
@prismshadow/penguin-core |
SDK,程序化创建 Agent 与 Session |
@prismshadow/penguin-server |
Web 服务,含 Web UI 静态资源 |
@prismshadow/penguin-skills |
Skill 集合 |
全部包以 Apache-2.0 协议发布。