Commit Graph

60 Commits

Author SHA1 Message Date
Yaowei Zheng 658b6265bb docs(changelog): record the 2026-07-24 batch (#65)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-26 23:07:54 +08:00
Yaowei Zheng 790f45191e fix(tooling): separate the dev data root from the installed one (#67)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-26 23:07:27 +08:00
Yaowei Zheng 7584171482 feat(core,server,web,cli): mid-run steering messages and square-bracket markers (#63)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-26 23:01:18 +08:00
Yaowei Zheng abd5b13d52 feat(core,web,cli): add file tools and per-tool call descriptions (#62)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-26 21:37:51 +08:00
Yaowei Zheng 1e23452f48 Handoff-style /model switch command and per-turn thinking level (#64)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-26 16:31:51 +08:00
Yaowei Zheng 816a823b75 fix(core): present the project dir to the model as the App Data Dir in the default system prompt (#61)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-26 15:08:09 +08:00
Yaowei Zheng 14b5e6384f feat(models,landing): add OpenRouter free models and a free-models article (#60)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-26 15:05:44 +08:00
Yaowei Zheng 6b8b631e37 fix(web): use the separate-origin preview for in-app HTML rendering (#59)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-26 14:52:25 +08:00
Yaowei Zheng 3f868ac385 refactor(web): unify form controls, one notification rule, dedupe i18n copy (#54)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-24 18:43:18 +08:00
Yaowei Zheng c7465625a4 fix(core): honor the -1 sentinels for max_turns and max_tokens (#56)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 16:18:38 +08:00
Yaowei Zheng 6bbdac132f docs(readme,landing): lead the story with automatic agent building (#52)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 00:57:28 +08:00
Yaowei Zheng 33e5f0bcd1 fix(web): sidebar list expansion made the whole page scroll (#53)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 00:00:52 +08:00
Yaowei Zheng b18ae8f5f1 feat(server,web): serve Workspace HTML previews from a separate origin (#46)
Serve "open in new tab" HTML previews from a separate origin (the loopback counterpart, or PENGUIN_PREVIEW_ORIGIN) with a signed, host-bound token, so localStorage/cookies/third-party embeds work while Agent-generated pages stay off the app origin. The app is canonicalized onto localhost and the preview host (127.0.0.1) serves only /preview/* — its /api answers 401 and app routes 302 to the canonical host — so the preview origin can neither set nor honor a session cookie.
2026-07-23 23:11:04 +08:00
Yaowei Zheng cc1be054de ci(release): publish curated release notes, never an empty body (#48)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Alice <alice@prismshadow.com>
2026-07-23 22:41:50 +08:00
Yaowei Zheng 001056f97c chore(changelog): collect unreleased entries in changelog/unreleased/ (#47)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 22:24:54 +08:00
Yaowei Zheng 8d8a9b1c34 docs(readme): Product Hunt and npm badges, refreshed subtitle (#50)
Co-authored-by: Alice <alice@prismshadow.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 22:23:29 +08:00
Yaowei Zheng aa6b3e710e fix(landing): make the site indexable — blog shells, sitemap, robots, share card (#51)
Co-authored-by: Alice <alice@prismshadow.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 22:23:06 +08:00
Zhang Jason d163cf058a docs(examples): correct self-improve.ts header — it is the scoring loop, not self-evolution (#49) 2026-07-23 22:20:34 +08:00
Yaowei Zheng f3217dca4b release: 0.1.1 with Gemini 3.6 support and two blog posts (#44)
Co-authored-by: Alice <alice@prismshadow.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 06:13:49 +08:00
Yaowei Zheng 7617374d58 feat(blog): a Perspectives category and three posts on harness design and agent infrastructure (#45)
Adds three bilingual posts, each grounded in primary sources rather than
secondary summaries, plus a new blog category to hold them.

Simple Harness Is All You Need — opens on the counter-intuitive result in
the Databricks coding-agent benchmark: on their cost-versus-pass-rate Pareto
chart, the highest score on the board belongs to Opus 4.8 on the minimal Pi
harness, ahead of the same model on Claude Code at maximum effort for
roughly half the cost per task. Keeps Databricks' own caution and notes that
Pi at max effort lands well below Claude Code at comparable spend. Maps the
result onto PenguinHarness's measured design: six built-in tools with no
file tools, a 72-line system prompt, a 16,000-character output cap, and
compaction into a fresh context.

The Easiest Way to Build AI Agents in 2026 — argues the cost of building an
agent has moved out of the agent and into the stack around it: LangChain to
build, LangGraph to orchestrate, LangSmith or Langfuse to observe and
evaluate, LangGraph Platform to deploy. Five products, two or three vendors,
and a person who becomes the optimization loop.

AI Infrastructure: Past, Present, and Future — the stack used to build AI
(PyTorch, vLLM, Ollama, LlamaFactory) assumes a human operator who carries
state in their head and treats errors as a starting point. It needs no
reinventing for agents; what was missing is the operating knowledge, which
the ollama, vllm and llamafactory skills encode.

Both benchmark comparisons disclose the results we lose as well as the ones
we win, and the framework post names two cases where you should pick
something else.

Also adds the Perspectives / 观点 category with a teal badge, filter chip and
both dictionaries, keeping Tech practice for the hands-on AMD walkthroughs.
2026-07-23 05:04:54 +08:00
Yaowei Zheng 9767fe60e9 docs(changelog): 0.2.0 entries for the July 22 batch (#30)
Co-authored-by: Alice <alice@prismshadow.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 02:06:43 +08:00
Yaowei Zheng 0f6828e57b feat: AgentHub 0.4.1 and a model-catalog refresh across every provider group (#43)
Co-authored-by: Alice <alice@prismshadow.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 02:02:54 +08:00
Yaowei Zheng d01d0faf7a feat(web): settings form polish — dialog layout, homepage button, no default rows, unified dropdown text (#39)
Co-authored-by: Alice <alice@prismshadow.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 01:07:45 +08:00
Zhang Jason 6d56ce9ccc docs(blog): align intro with self-evolving example and soften exact scores (#42) 2026-07-23 01:01:09 +08:00
Yaowei Zheng c380113e26 feat: session source in session_meta and an Automated sidebar folder (#40)
Co-authored-by: Alice <alice@prismshadow.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 00:58:43 +08:00
Yaowei Zheng e0bf1706b9 fix(web): keep chat dropdown menus inside the viewport on mobile (#41)
Co-authored-by: Alice <alice@prismshadow.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 00:58:39 +08:00
Yaowei Zheng 45b5555b57 feat(web): collapsed-rail nav with last conversation, new chat, and localized tooltips (#36)
Co-authored-by: Alice <alice@prismshadow.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 00:43:51 +08:00
Yaowei Zheng 9a1257b2be fix(web): render the subagent expansion below the tool call's own content (#33)
Co-authored-by: Alice <alice@prismshadow.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 00:43:47 +08:00
Yaowei Zheng 829ca57a43 feat(web): sidebar group polish — even hover geometry, folder open/close icons, group pinning (#35)
Co-authored-by: Alice <alice@prismshadow.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 00:35:41 +08:00
Yaowei Zheng 78a8b35793 feat(web): drop "none" from the offered thinking levels (#34)
Co-authored-by: Alice <alice@prismshadow.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 00:35:37 +08:00
Yaowei Zheng 1514cd66b2 feat(core): subagents inherit the parent session's model and thinking level (#38)
Co-authored-by: Alice <alice@prismshadow.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 00:27:58 +08:00
Yaowei Zheng cf27b13880 fix(web): usage chart tooltip at the pointer's lower-right + cache hit rate in the Cache Read bubble (#37)
Co-authored-by: Alice <alice@prismshadow.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 00:27:54 +08:00
Yaowei Zheng cabbab1c16 feat: per-model max output tokens and a conversation-time thinking level backed by agent settings (#28)
Co-authored-by: Alice <alice@prismshadow.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 22:22:41 +08:00
Yaowei Zheng 99f391f379 feat(web): group the chat sidebar by workspace with an agent-mode toggle (#26)
Co-authored-by: Alice <alice@prismshadow.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 22:22:07 +08:00
Yaowei Zheng 3806e4e441 feat(blog): grouped list, pinned posts, author/date/copy-link metadata (#20)
Co-authored-by: Alice <alice@prismshadow.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 22:22:02 +08:00
Zhang Jason 85f8b9bf1a fix(server): validate positiveIntParam and optionalDateParam inputs (#10) 2026-07-22 22:11:00 +08:00
Junhao Hu 4123721b48 docs(README): add new roadmap items in README (#12)
Co-authored-by: Yaowei Zheng <hiyouga@buaa.edu.cn>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Alice <alice@prismshadow.com>
Co-authored-by: junhaohu <junhaohu@tencent.com>
2026-07-22 22:10:44 +08:00
Zhang Jason 7e0525af9f test(core): cover CappedTextBuffer and ToolCallIdAllocator (#9) 2026-07-22 22:06:58 +08:00
Zhang Jason 1425b2fb5f [fix(web)] localize copied task-stats line instead of hardcoded Chinese (#8) 2026-07-22 22:06:45 +08:00
Zhang Jason 81d8c0045c docs(examples): make self-improvement demo genuinely self-evolving (#29) 2026-07-22 22:04:52 +08:00
Yaowei Zheng 6d25adfef4 feat(web): letter avatars for custom model groups and agents (#31)
Co-authored-by: Alice <alice@prismshadow.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 22:04:34 +08:00
Yaowei Zheng c9cd1f9dc5 feat(core): reserved-port and API-key guardrails in the default system prompt (#24)
Co-authored-by: Alice <alice@prismshadow.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 22:04:30 +08:00
Yaowei Zheng 849f2fa6d2 feat(web): chat model picker lists key-configured models first, with a show-all expander (#22)
Co-authored-by: Alice <alice@prismshadow.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 22:04:24 +08:00
Yaowei Zheng 636b25b63f feat(skills): vLLM and Ollama deployment plus LlamaFactory fine-tuning skills (#19)
Co-authored-by: Alice <alice@prismshadow.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 22:04:19 +08:00
GaoYuYang cb283b6d9d [blog] add "Implementing Agent Self-Improvement with PenguinHarness on an AMD GPU" blog (#32) 2026-07-22 21:46:39 +08:00
Yaowei Zheng 0ad911aeff docs: list the built-in Skills in the READMEs and on the landing page (#23)
Co-authored-by: Alice <alice@prismshadow.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 21:34:39 +08:00
Yaowei Zheng cb22cd5d97 fix(web): chat links open in a new tab and long URLs/CJK wrap cleanly (#27)
Co-authored-by: Alice <alice@prismshadow.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 21:34:34 +08:00
Yaowei Zheng 6d9a631e62 fix(site): make the docs and landing navbars identical (#25)
Co-authored-by: Alice <alice@prismshadow.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 21:00:26 +08:00
Yaowei Zheng ea0549b8bb fix(llm): omit empty tools and keep tool_choice off the wire (#21)
Co-authored-by: Alice <alice@prismshadow.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 18:53:39 +08:00
Yaowei Zheng 62a81bc712 Ignore the local design symlink and agent instruction files (#17)
Adds /design, /AGENTS.md and /CLAUDE.md to .gitignore. None of the three
are tracked: `design` is a symlink to the penguin-harness-design
checkout and `CLAUDE.md` is a symlink to `AGENTS.md`, so until now they
only showed up as untracked noise in `git status`.
2026-07-21 22:43:25 +08:00