penguin-harness
自动化 AI Agent 构建器,支持 DeepSeek/GPT 自编程,一键创建自进化智能体
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
自动化 AI Agent 构建器,支持 DeepSeek/GPT 自编程,一键创建自进化智能体
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你还在为配置 AI Agent 的提示词而反复调参吗?还在头疼 AI 输出的代码质量参差不齐、每次都要手动 Review 吗?一位独立开发者带来了一个让人眼前一亮的答案——PenguinHarness,一个运行在你桌面或服务器上的自动化 Agent 构建平台。它自称"Agent 构建工厂",用 DeepSeek 或 GPT 作为底层模型,一键生成能够自编程、自改进的 AI 智能体,成本低至每次任务 0.02 美元。
这个项目在 GitHub 上迅速获得了近千颗星,登上了 Product Hunt 首页推荐。它究竟解决了什么问题?为什么能吸引这么多开发者的目光?
在 PenguinHarness 出现之前,AI Agent 的开发方式通常是:选定一个基础模型,编写一堆提示词(Prompt),然后祈祷它能完成任务。一旦效果不好,就继续改 Prompt、改模型参数……周而复始。这种模式有几个显著痛点:
第一,Prompt 工程门槛高,效果不稳定。 同一个任务,换一个表达方式,AI 的输出可能天差地别。爱好者往往花了大量时间"炼丹",却收效甚微。
第二,Agent 缺乏自我改进能力。 传统的 AI 助手是"一次性"执行——执行完就结束了,不会从错误中学习,下次遇到同样的问题还是可能犯同样的错误。
第三,部署门槛高。 想在本地跑一个真正能用的 Agent,既要懂大模型 API 调用,又要处理文件读写、代码执行等"环境接口",技术栈复杂,让很多非专业用户望而却步。
PenguinHarness 的开发者 Prism-Shadow 正是看到了这些痛点,决定打造一个低门槛、高度自动化的 Agent 构建平台。他的目标是:让任何人都能一键创建能够自我编程、自我改进的 AI 智能体,而且能跑在自己的电脑上,不用把数据交给第三方。
PenguinHarness 的核心引擎是 @prismshadow/penguin-core,它基于业界成熟的 ReAct(Reason + Act)循环架构。顾名思义,ReAct 循环让 AI 在"思考(Reason)"和"行动(Act)"之间反复迭代——每执行一个工具调用后,根据结果更新上下文,再决定下一步行动,形成一个持续运转的"思考-执行-反思"闭环。
这个闭环通过一套自研的 OmniMessage 协议 来协调所有模块之间的通信。OmniMessage 是一个标准化的消息格式,定义了 Agent 与 LLM(大模型)、与工具执行环境之间的所有交互契约。任何支持 OmniMessage 的模块都可以无缝接入这个系统。

项目使用了 @prismshadow/agenthub 作为 LLM 网关,支持 DeepSeek、GPT 等多种模型。工具执行则通过 EnvironmentInterface 接口抽象,允许接入文件系统、终端命令、网络请求等各种运行环境。开发者可以自由替换底层的模型或工具,而无需改动上层的 Agent 逻辑。
PenguinHarness 采用了 pnpm monorepo 结构,主目录下包含 8 个子包,每个包各司其职:
| 子包 | 职责 |
|---|---|
@prismshadow/penguin-core | SDK + 执行引擎:ReAct 循环、OmniMessage 协议、Session 与 Trace |
@prismshadow/penguin-cli | 命令行工具:交互式 REPL、单次任务执行、模型配置、Web 服务启动 |
@prismshadow/penguin-server | Web 后端:Hono 框架 + SQLite,多用户认证、Session 管理、Usage 统计 |
@prismshadow/penguin-web | React 19 + Vite + Tailwind CSS 4 前端:OmniMessage 流式渲染 |
@prismshadow/penguin-desktop | Electron 桌面应用:跨平台 GUI |
@prismshadow/penguin-landing | 官网落地页 |
@prismshadow/penguin-docs | 文档站 |
@prismshadow/penguin-skills | 可复用的 Agent 技能库 |
Session 与 Trace 机制是架构中一个亮点:Agent 的每一次运行状态都被完整记录在 append-only 的 Trace 文件中,存储在本地 ~/.penguin/data/ 目录下。这意味着 Agent 具备天然的"记忆"能力——重启后可以从上次中断的地方无缝恢复,这是很多云端 Agent 服务无法做到的优势。
Server 端的存储策略也很有讲究:SQLite(Node 内置的 node:sqlite,WAL 模式)只存储索引和聚合数据(用户认证、项目授权、Session 索引、Usage 记录),而 Agent 的状态、Traces 和工作空间则全部以文件形式保存在 ~/.penguin/data/ 下,与 SDK 和 CLI 完全共享。这种"数据库轻量化 + 文件系统主体化"的设计,既保证了查询性能,又避免了数据锁定和迁移的麻烦。
macOS / Linux:
curl -fsSL https://get.penguin.ooo | sh
# 或者手动
curl -L https://penguin.ooo/install.sh | sh
Windows:
irm https://penguin.ooo/install.ps1 | iex
通过 npm(需要 Node >= 24):
npm install -g @prismshadow/penguin-cli
方式一:单次任务(最简单)
export DEEPSEEK_API_KEY=sk-xxxx
penguin run -m "在当前目录创建一个 README.md,内容为项目介绍"
方式二:交互式 REPL(适合探索)
penguin chat
# 进入交互模式,支持 /compact(上下文压缩)、/exit、Ctrl-C 中断等命令
方式三:启动 Web 服务(完整 GUI)
penguin web
# 自动打开 http://127.0.0.1:7364 的 Web 界面
方式四:作为 SDK 集成到自己的代码
import { createAgent, isCompleteModelMessage, userText } from "@prismshadow/penguin-core";
const agent = await createAgent({ agentId: "my_agent" });
const session = await agent.createSession({ workspaceDir: process.cwd() });
for await (const output of session.run([userText("创建 hello.txt,内容为 hi")], {
approve: async () => "allow", // 每次工具调用的审批策略
})) {
if (isCompleteModelMessage(output) && output.payload.type === "text") {
console.log(output.payload.text);
}
}
工具调用审批策略支持四种模式:allow-all(默认)、deny-all、read-only(仅允许读操作)和 always-ask(每次都弹出确认)。这给了用户从"完全放权"到"严格管控"的灵活选择。
1. 自进化能力(Self-Evolving Agent)
项目名称 PenguinHarness 本身就暗示了"Harness"(驾驭)的含义——你不仅能创建 Agent,还能让 Agent 自主改进自己。示例中包含 self-improving-agent 和 build-agent-with-agent 两个用例,展示了 Agent 如何递归地构建更强大的 Agent。这是当前 AI Agent 领域的一个前沿方向。
2. 零数据泄露的本地化运行
所有数据(Agent 状态、Traces、工作空间)都保存在本地 ~/.penguin/ 目录下,不需要云端中转。这意味着即使用 DeepSeek 或 GPT 等商业模型,本地的工作文件也不会被第三方平台收集。对于注重隐私的企业用户,这一点很有吸引力。
3. OmniMessage 协议的解耦设计
通过 OmniMessage 协议,LLM 接口(LLMInterface)和工具执行接口(EnvironmentInterface)完全解耦。用户可以在不修改 Agent 逻辑的情况下,切换底层模型或运行环境,增加了系统的灵活性。
4. Electron 跨平台桌面应用
大多数同类项目只提供 CLI 或 Web 界面,PenguinHarness 额外提供了 Electron 桌面应用,对非技术用户更加友好,覆盖了更广泛的使用场景。
Node >= 24 的高版本要求是一个不容忽视的门槛。虽然 Node 24 目前是 LTS,但很多企业的 CI/CD 环境和服务器镜像默认安装的还是 Node 18 或 20,首次使用可能需要手动升级 Node 版本。
没有 Dockerfile 是另一个值得注意的点。对于习惯用 Docker 部署的用户,目前需要自己包装一层。考虑到项目本身的技术栈(Node + Electron),Docker 化本身并不困难,但毕竟增加了一步工作量。
Self-Evolving Agent 的可靠性也是潜在风险。自编程 Agent 在理论上很有吸引力,但实际效果取决于底层模型的代码生成能力和自我反思的准确性。在复杂任务中,Agent 可能会陷入循环改进或生成有 bug 的代码,需要人工介入兜底。
PenguinHarness 代表的,是一个从"人写 Prompt"到"AI 构建 AI"的范式跃迁。随着大模型能力的不断提升,能够自主编写代码、自主优化策略的 AI Agent 将变得越来越实用。这类工具的兴起,将进一步降低 AI 应用开发的门槛,让更多没有深厚编程背景的爱好者也能参与到 AI 应用的构建中来。
从技术趋势看,Agent Framework 的模块化、可插拔设计正在成为主流。PenguinHarness 的 OmniMessage 协议和 Interface 抽象,正是这一趋势的体现。它让我们看到了一个可能的未来:AI Agent 就像乐高积木,用户可以自由组合不同的模型、工具和技能,构建出真正个性化的 AI 助手。
如果你对 AI Agent 感兴趣,想在自己的电脑上实验"自进化 AI",PenguinHarness 是一个值得一试的起点——安装简单,有 Web UI,有 CLI,有桌面应用,选择丰富,且数据完全留在本地。
