With LangChain, you build agents by hand — at 1× speed.With PenguinHarness, agents build agents — at 100×.
A zero-code Harness CLI and Web UI, connected to 1000+ models.
English | 简体中文
Three reasons, in deliberate order — from task quality, to how agents get built, to how they keep improving.
A deliberately minimal toolset over clean low-level interfaces: fewer tool calls, fewer tokens — deeply tuned for open models like DeepSeek. Each harness on the model it is normally paired with, same tasks, head-to-head:
Best accuracy on data analysis — at 1/70 of Claude Code's cost.
Type one sentence, and an Agent builds the complete Agent application for you — scaffold, code, and run instructions, end to end:
Collect the docs from https://github.com/ericbuess/claude-code-docs and build a RAG app that answers Claude Code questions as a configuration expert, citing its sources.
And this is the finished product — a docs expert with retrieval, cited sources that link to the original files, and example questions built in:
rag_en.mp4 #
And generating this entire RAG app burned just $0.02 (¥0.2) of tokens — on DeepSeek V4 Pro.
With PenguinHarness Skills, an Agent evaluates and optimizes itself: run the benchmark, find the lost points, ship version N+1 — with a snapshot before every round, and every request observable in the Trace view.
evo_en.mp4 #
Four Skill groups ship in the box (docs); Agents can also write and optimize their own:
| Group | Skills |
|---|---|
| Office Productivity | data-analysis , firecrawl |
| Software Development | web-design , software-engineering |
| AI App Development | penguin-sdk , penguin-cli , agenthub-models , vllm , ollama , llamafactory |
| Agent Tuning | agent-creation , benchmark-design , agent-evaluation , agent-optimization |
| Model | Providers |
|---|---|
| DeepSeek V4 | DeepSeek, OpenRouter, Fireworks AI, SiliconFlow, Qwen Token Plan |
| Kimi K3 | Moonshot AI, OpenRouter, Qwen Pay-As-You-Go |
| GLM 5.2 | Z.AI, OpenRouter, Fireworks AI, SiliconFlow, Qwen Token Plan, Qwen Pay-As-You-Go |
| Hunyuan 3 | OpenRouter |
| Qwen 3.8 Max | Qwen Token Plan (preview) |
| GPT 5.6 | OpenRouter |
| Gemini 3.6 Flash | Google Gemini, OpenRouter |
| Claude 5 | Anthropic, OpenRouter |
Each family's latest generation only — the app's Models page lists every built-in preset, and any OpenAI-protocol endpoint works too: pick a preset, or point a custom endpoint at any of the 1000+ online and local models.
| Requirement | Supported |
|---|---|
| OS | Linux, macOS |
| Architecture | x64, arm64 |
| Runtime | bundled by the one-line installer (npm installs need Node >= 24) |
| Model | an API key for at least one model |
🚀 Install and launch the full experience (multi-session chat, Agent/skill/model management, usage stats, Trace observability, evaluation center):
curl -fsSL https://penguin.ooo/install.sh | sh
penguin web # start the service and open http://127.0.0.1:7364 (first login: admin / penguin-2026)
📦 Or via npm: npm install -g @prismshadow/penguin-cli
. Configure models on the in-app Models page, then chat.
The same engine, scriptable — made to be driven by agents (and agents building agents):
penguin config model add --provider deepseek --model-id deepseek-v4-pro --api-key sk-... --set-default
penguin run -m "Create hello.txt containing Hello, Penguin" # one-shot task
penguin chat # interactive REPL (/compact, /exit, Ctrl-C to interrupt)
penguin server # headless service (same API the Web App uses)
js
import { createAgent, isCompleteModelMessage, userText } from "@prismshadow/penguin-core";
const agent = await createAgent({ agentId: "default_agent" });
const session = await agent.createSession({ workspaceDir: process.cwd() });
for await (const output of session.run([userText("Create hello.txt containing hi")], {
approve: async () => "allow", // per-tool-call approval
})) {
if (isCompleteModelMessage(output) && output.payload.type === "text") {
console.log(output.payload.text);
}
}
- Public release of the benchmark suite
- Desktop app
- Windows support
- Agent company and templates
- Company-level self evolving
- OpenShell integration (permission-governed shell)
- More to come…
pnpm install && pnpm build # build first: core's exports point at dist/
pnpm dev # backend + web app together (prefixed logs, deps built once)
See CONTRIBUTING.md for the full workspace guide: dev commands, quality gates, repo layout, and the changelog rule.
If you use PenguinHarness in your research, please cite:
@software{penguinharness2026,
author = {{PrismShadow Team}},
title = {PenguinHarness: Efficient Self-Improving Harness for Everyone},
year = {2026},
url = {https://github.com/Prism-Shadow/penguin-harness},
license = {Apache-2.0}
}
Apache-2.0 © 2026 Prism Shadow
Built with ❤️ by Yaowei Zheng (author of LlamaFactory), the PrismShadow AI Team, and Fable 5.