Yaowei Zheng
033d526f9f
fix(server): harden test cleanup and deadlines for Windows runners ( #88 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-27 23:16:20 +08:00
Yaowei Zheng
f192db338e
feat(server,web): import and export Trace files in the trace viewer ( #73 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-27 22:54:57 +08:00
Yaowei Zheng
d29d2ba7f3
fix(core): reject empty compaction summaries and offer no tools to compaction requests ( #84 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-27 22:45:44 +08:00
Yaowei Zheng
274e19379f
refactor(core): ignore the recorded thinking level when resuming a session ( #72 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-27 22:44:16 +08:00
Yaowei Zheng
83e7b85eca
feat(web): live header statistics while a task runs ( #75 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-27 22:44:02 +08:00
Yaowei Zheng
a955046b73
fix(server): give the mid-stream fake session the skipReconnectWait member ( #86 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-27 22:37:55 +08:00
Yaowei Zheng
094ebd6118
fix(server,web): live in-progress output survives refresh and reconnect ( #77 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-27 22:31:57 +08:00
Yaowei Zheng
3d3495528c
fix(core,web): retry transport and quota LLM errors, disable dead sessions on auth failure ( #82 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-27 22:29:16 +08:00
Yaowei Zheng
c369e089a7
feat(core,tooling): Windows support — shell selection, install.ps1, win-x64 release package, Windows CI ( #79 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-27 22:17:35 +08:00
rank-Yu
c23f0bc2f0
fix(core): close case and symlink bypasses in read_file's secret guard ( #70 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-27 12:08:45 +08:00
Yaowei Zheng
f6ebf5d618
release: 0.1.2 ( #69 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-26 23:18:16 +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
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
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
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