Files
penguin-harness/packages/docs/content/installation.zh.md
T

6.9 KiB
Raw Blame History

title, description
title description
安装 通过安装脚本、npm 或源码安装 PenguinHarness。

系统要求

  • Linux / macOS(x64 或 arm64):安装脚本提供内置官方 Node.js 运行时的平台压缩包,解压即用,无需本机安装 Node。
  • Windows 10 及以上(x64),PowerShell 5.1+:Windows 安装器提供内置运行时的 penguin-win32-x64.zip,同样无需本机安装 Node。
  • 其他平台,或通过 npm / 源码安装:需要系统 Node.js >= 24。

脚本安装(推荐)

在 Linux / macOS 上执行:

curl -fsSL https://penguin.ooo/install.sh | sh

脚本按平台下载 penguin-{linux,darwin}-{x64,arm64}.tar.gz,其中捆绑了官方 Node.js 运行时。其他 POSIX 平台不会自动回退:脚本会退出并提示先安装 Node.js >= 24、再携带 --universal 重新执行,改用不含运行时的 penguin-universal.tar.gz(Windows 使用下方专属安装器,而不是 --universal)。

在 Windows(PowerShell)上执行:

irm https://penguin.ooo/install.ps1 | iex

如需固定版本,先设置环境变量:

$env:PENGUIN_VERSION = "vX.Y.Z"; irm https://penguin.ooo/install.ps1 | iex

安装完成后验证:

penguin -v

离线安装包

每个 Release 还会分别提供 Windows x64、Linux x64/arm64 与 macOS x64/arm64 的完整离线包。先在可联网电脑上下载与目标电脑匹配的离线包,传输到目标电脑后解压一次。

Windows 上双击 install.cmd,或执行:

.\install.ps1 -ArchivePath .\penguin-win32-x64.zip

Linux / macOS 上执行:

./install.sh

解压后的目录同时包含对应平台的程序压缩包、.sha256 文件和离线安装入口。离线包内的 install.sh 会将同包内的程序压缩包显式传给实际安装器,强制完成 checksum 校验,并且不会发起任何网络请求。也可以使用 Release 中单独发布的安装器显式指定本地文件:install.sh --archive <file>、PENGUIN_ARCHIVE=<file>、install.ps1 -ArchivePath <file> 或 $env:PENGUIN_ARCHIVE。

安装位置与选项

项目 说明
安装目录 默认 ~/.penguin,可用环境变量 PENGUIN_INSTALL_DIR 覆盖
命令入口 创建符号链接 ~/.local/bin/penguin(若 ~/.local/bin 不在 PATH 上,脚本会给出提示)
版本固定 环境变量 PENGUIN_VERSION=vX.Y.Z,或脚本参数 --version vX.Y.Z;默认安装最新 Release
本地压缩包 PENGUIN_ARCHIVE=<file> 或 --archive <file>;允许重命名,要求旁边存在 <file>.sha256 或平台标准名称的 .sha256
完整性校验 Release 提供 checksum 资产时自动进行 sha256 校验
升级 重新执行安装脚本即可,文件原子替换

脚本参数写在 sh -s -- 之后,例如 curl -fsSL https://penguin.ooo/install.sh | sh -s -- --universal。

Windows 细节

项目 说明
安装目录 默认 %USERPROFILE%\.penguin,可用环境变量 PENGUIN_INSTALL_DIR 覆盖
命令入口 bin\penguin.cmd 与 bin\penguin.ps1 启动器;安装器会把 %USERPROFILE%\.penguin\bin 加入用户 Path(重启终端后生效)
版本固定 运行安装器前设置 $env:PENGUIN_VERSION = "vX.Y.Z"
本地压缩包 $env:PENGUIN_ARCHIVE = "<file>" 或 -ArchivePath <file>;允许重命名,要求旁边存在 <file>.sha256 或 penguin-win32-x64.zip.sha256
完整性校验 Release 提供 checksum 资产时自动进行 sha256 校验
升级 重新运行安装器;只替换 bin/lib/web/node,绝不触碰 data
  • Agent shell:Windows 上 exec_command 在 POSIX shell 中执行,以兼容面向 POSIX 编写的技能生态。选择顺序为:PATH 上的 bash(你自己安装的 Git for Windows,优先,因为它带完整的 MSYS 工具集);其次是内置 bash——Windows zip 在 git\ 下自带 MinGit,因此未安装 Git for Windows 的机器同样有 POSIX shell、约六十个核心工具和 git.exe;最后才是 PowerShell(先 pwsh 后 powershell)。只有经 npm 安装(不含内置包)才会走到 PowerShell。环境变量 PENGUIN_SHELL 可强制指定;会话的系统提示词会告知模型当前 shell。内置 shell 的许可信息见 THIRD-PARTY-NOTICES.md。
  • Ctrl-C 语义:Windows 上向运行中的命令会话发送 Ctrl-C(input_command 传 "\u0003")会终止整棵命令会话进程树,而不是中断前台命令——Windows 无法向管道子进程投递控制台 Ctrl-C,中断因此退化为整树强杀。
  • 就地更新:penguin update 暂不支持 Windows——升级请重新运行上面的安装器。
  • 配置文件权限:POSIX 上配置/凭据文件以 0600(仅属主可读写)写入;Windows 没有对应的权限位,文件遵循你用户目录的默认 NTFS ACL。
  • 如果 PowerShell 提示 "running scripts is disabled" 而无法运行 penguin,是执行策略拦住了 penguin.ps1:可以显式调用 penguin.cmd,或用 Set-ExecutionPolicy -Scope CurrentUser RemoteSigned 允许本地脚本。

数据目录

数据目录默认位于 ~/.penguin/data(Windows 为 %USERPROFILE%\.penguin\data),在安装主目录之下,但安装与升级都不会改动它,可用环境变量 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。该方式在所有平台(含 Windows)可用,是压缩包不适用时的替代路径。

源码安装

需要 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 命令。开发入口(pnpm penguin、pnpm dev)默认使用独立数据根目录 ~/.penguin/dev-data,全局链接或安装的 penguin 仍使用 ~/.penguin/data;可通过环境变量 PENGUIN_HOME 覆盖。

已发布的 npm 包

包 说明
@prismshadow/penguin-cli 命令行工具,提供 penguin 命令
@prismshadow/penguin-core SDK,程序化创建 Agent 与 Session
@prismshadow/penguin-server Web 服务,含 Web UI 静态资源
@prismshadow/penguin-skills Skill 集合

全部包以 Apache-2.0 协议发布。

下一步