Skip to content

v0.1.10

Latest

Choose a tag to compare

@qiaozongming qiaozongming released this 05 Aug 09:01
8061d5f

Summary

The biggest theme this release is orchestrator and multi-session reliability. Orchestrator now routes to an existing session instead of spawning a new one (with a roster, tool-result affordances, and guards behind it), child liveness is derived from last activity rather than last completed step — so a child blocked mid-step is no longer mistaken for a dead one — and spawn became the default in the actor tool prompt. Worktrees and bash commits now inherit the repo's real git identity instead of inventing one.

Context and checkpoint handling got a round of hard fixes: per-model early-compaction budgets, honoring the configured context limit, no more duplicate context rebuilds, manual /rebuild now does an on-the-spot rebuild with writer-freshness and a waiting UI, and the checkpoint writer's blind failure counter was replaced by proper failure classification with bounded recovery.

Providers are more resilient: never send a message with empty content (the long-standing Bedrock/Anthropic 400), replay unsigned Anthropic reasoning, retry OpenAI stream server errors and internal request timeouts, DeepSeek reasoning-effort variants, and strict: false for function tools on OpenAI Responses. Also new: Vivid and Minimal visual modes in the TUI, exec with MCP dispatch + live sub-call trace, token-aware request-scoped MCP tool discovery, client-side MCP sampling with audio, and new skill bundles (Playwright CLI automation, Grok Build CLI).


本次发布的主线是 Orchestrator 与多会话可靠性。Orchestrator 现在会路由到已有会话而不是新建(配套 roster、工具结果提示与相应守卫);子会话的存活判定改为依据"最后活动时间"而非"最后完成的步骤"——卡在某一步中间的子会话不会再被误判为已死;actor 工具提示里 spawn 成为默认。worktree 和 bash 提交现在继承仓库真实的 git 身份,不再自行编造。

上下文与 checkpoint 做了一批硬修复:按模型的提前压缩预算、尊重配置的上下文上限、不再重复重建上下文、手动 /rebuild 改为即时重建(带写入新鲜度判断和等待 UI),并把 checkpoint writer 的"盲计数失败"换成了明确的失败分类 + 有界恢复。

Provider 健壮性同步提升:不再发送空内容消息(修掉长期存在的 Bedrock/Anthropic 400)、重放未签名的 Anthropic reasoning、重试 OpenAI 流式服务端错误与内部请求超时、DeepSeek 的 reasoning effort 变体、OpenAI Responses 的 function tool 显式 strict: false。另有新特性:TUI 的 Vivid / Minimal 视觉模式exec 支持 MCP 分发与实时子调用轨迹、按 token 感知的请求级 MCP 工具发现、支持音频的客户端侧 MCP sampling,以及新技能包(Playwright CLI 自动化、Grok Build CLI)。

Features

Bug Fixes

  • orchestrator: route to an existing session instead of creating one — roster, tool-result affordances, and the guards that back them by @wqymi in #1741
  • actor: derive liveness from last activity, not last completed step — a child blocked mid-step was indistinguishable from a dead one by @wqymi in #1965
  • actor: make spawn the default and run the exception in the tool prompt by @wqymi in #1942
  • worktree,bash: propagate the repo's git identity into worktrees and bash commits — never invent one by @wqymi in #1825
  • provider: never send a message with empty content (the Bedrock/Anthropic 400) — producer + backstop + inbox invariant by @wqymi in #1948
  • provider: enable reasoning effort variants for DeepSeek models, scoped to the official API by @anandlo, @MiMoHardFather in #1895, #1913
  • provider: send function tools to OpenAI Responses with explicit strict: false by @clyfish in #2028
  • provider: retry internal request timeouts by @MiMoHardFather in #1989
  • session: retry OpenAI stream server errors by @MiMoHardFather in #2029
  • session: honor the configured context limit; prevent duplicate context rebuilds; remove the context pressure nudge by @yanyihan-xiaomi in #1997, #2032, #1998
  • session: inject every skill mentioned in a slash-command message; send skill instructions as user reminders by @yanyihan-xiaomi, @MiMoHardFather in #1929, #1988
  • session: persist missing-model assistant errors by @peipeiwang-xiaomi in #2024
  • rebuild: make manual /rebuild perform an on-the-spot rebuild with writer-freshness + waiting UI by @wqymi in #1752
  • checkpoint: delete the writer's blind failure count, classify the failure, and give the final threshold a bounded recovery; don't count a timed-out writer wait as a failure by @wqymi in #1945, #1938
  • mcp: negotiate per-turn lifecycle notifications by @wqymi in #1851
  • codex: cap imported GPT context at 300K by @MiMoHardFather in #1926
  • tui: render actor-hosted transcripts, refuse only runtime-spawned agent hosts; keep the transcript alive after a directory switch by @wqymi in #1964, #1953
  • tui: stop context readout showing a stale figure after /rebuild; make post-rebuild pending-detection independent of message order by @wqymi in #1999, #2002
  • tui: render exec like bash — collapsed state caps output instead of hiding it by @yanyihan-xiaomi in #1941
  • tui: add force-switch mode hotkey bypassing the mid-session lock by @wqymi in #1881
  • tui: keep completed actor actions terminal; restore recent model on startup; keep agent on declined plan entry by @yanyihan-xiaomi, @MiMoHardFather in #1903, #1908, #1996
  • tui: stop the sidebar surviving a shrink, and stop scrollbar drags firing adjacent controls by @yanyihan-xiaomi in #2021
  • tui: repair orphaned running tool parts; stop a directory 403 from killing the TUI by @wqymi in #1960
  • log: isolate writers and flush safely on exit; keep log records off the TUI terminal by @yanyihan-xiaomi in #1904, #1928
  • workflow: read built-in workflow scripts through a build-time macro, not an import by @yanyihan-xiaomi in #2023
  • server: stop emitting a dangling $ref, unbreaking SDK codegen by @yanyihan-xiaomi in #2027
  • release: retry failed npmmirror syncs and report unsynced packages by @yanyihan-xiaomi in #1902

Refactor

  • tool: remove plan_enter so only the user enters plan mode by @yanyihan-xiaomi in #2018
  • session: revert the empty-step guard that mis-flagged no-arg tool calls by @wqymi in #1782

Docs

Internal / CI

New Contributors

Full Changelog: v0.1.9...v0.1.10