Skip to content

v0.1.4

Latest

Choose a tag to compare

@qiaozongming qiaozongming released this 29 Jun 13:22
6e9f946

Summary

Workflow TUI gets a full overhaul — runs are now observable full-screen pages with message-style agent cards, live phase/status counters, and nested drill-down into each subagent's conversation. The inline panel is bounded to 12 lines so it doesn't flood the chat, while the full page gives you complete visibility into what every agent is doing.

A new built-in compose workflow encodes the Brainstorm → Design → Implement (TDD) → Verify → Review → Merge pipeline as deterministic code. It auto-parallelizes independent tasks into per-task worktrees, chains each phase's structured output to the next (brainstorm rationale → implementer intent → review verdict → merge), enforces bounded retry caps, and runs non-interactively to completion. When your requirements are well-defined and the task decomposes into independent subtasks, the workflow is a better fit than the compose agent — you can fire-and-forget and let the parallelism do its job. For exploratory or ambiguous tasks where you need to redirect mid-flow, ask questions, or inject judgment between steps, the compose agent's conversational mode remains the right choice.

Other highlights: dedicated system prompts for DeepSeek, GLM, and MiniMax; and a fix for Windows CJK shell output garbling — on non-UTF-8 locales (e.g. zh-CN with code page 936/GBK) spawned subprocesses now force UTF-8 encoding, covering both the bash tool and TUI shell mode.

Workflow TUI 全面重做——运行状态升级为全屏页面,每个 agent 以消息卡片形式展示(带实时阶段/状态计数器),支持嵌套下钻到子 agent 的完整对话。内联面板限制在 12 行以内不刷屏,全屏页面则提供完整的运行可观测性。

新增内置 compose workflow,把 Brainstorm → Design → Implement (TDD) → Verify → Review → Merge 流程编码为确定性程序:自动将独立任务并行分发到隔离 worktree、在阶段之间传递结构化输出(brainstorm 结论 → 实现意图 → review 判定 → merge)、限定重试上限、全程非交互跑到底。当需求明确且任务可以拆解为独立子任务时,workflow 比 compose agent 更合适——丢出去让并行跑完即可。如果任务本身比较探索性、需要中途介入改方向或在步骤间注入人工判断,compose agent 的对话式编排仍然是更好的选择。

其他重点:为 DeepSeek、GLM、MiniMax 添加了专用系统提示词;修复了 Windows 下中文 shell 输出乱码——非 UTF-8 区域设置(如简中 GBK/936 代码页)下的子进程现在强制 UTF-8 编码,bash 工具和 TUI shell 模式均已覆盖。

Features

  • workflow/tui: full-screen workflow page with message-style agent cards — live spinner/status/phase/colored counters in an inline panel (capped to 12 lines), drill-down into each agent's full conversation, nested workflow drill-down, scroll position preserved across navigation; new observability-only structure tree records per-run phase/agent/workflow nodes with parameters and result summaries (#1375)
  • workflow/compose: add built-in compose workflow — a programmatic pipeline that enforces the Brainstorm → Design → Implement (TDD) → Verify → Review → Merge phases as code. Compared to the existing text-constrained compose agent: the workflow auto-parallelizes independent tasks into per-task worktrees, chains each phase's structured output to the next (brainstorm rationale feeds implementer intent, review verdict feeds merge), enforces bounded retry caps, and runs non-interactively end-to-end. The compose agent remains better for interactive work where you need to redirect mid-flow or inject human judgment between steps. Supports incremental amend (re-running on existing docs reuses them and scopes the fan-out to the actual diff) (#1380)
  • provider: add dedicated system prompts for DeepSeek (#1389), GLM (#1396), and MiniMax (#1398) models, routed by model API id
  • tui: show view workflow agents keybind hint after workflow tool messages, reusing the existing subagents panel (#1353)

Bug Fixes

  • session: detect and recover from text-form tool calls — when a model serializes a tool call as prose markup (<invoke name=...>) instead of a structured tool_use block, the turn is discarded and retried (bounded by MIMOCODE_TEXT_TOOL_CALL_RETRY_LIMIT, default 2); prevents 400 errors and session poisoning (#1336)
  • server: add keep-alive heartbeat (whitespace every 10s) on POST /:sessionID/message stream to prevent external clients from timing out during long waits (e.g. question tool blocking on human input) (#1354)
  • tui: default to free mimo-auto on clean install instead of a paid model that unauthenticated users can't call (#1434)
  • tui: force UTF-8 encoding for Windows shell subprocesses to fix CJK mojibake — covers both the bash tool and TUI shell mode (#1418)
  • security: remove SSRF check from MCP server connections — user-configured MCP servers on private networks (10.x, 172.x) are a normal pattern; SSRF protection now only applies to AI-initiated webfetch requests (#1328)
  • agent: plan-mode edit/write backstop — a persisted "always" approval can no longer override plan's deny for edit/write; bash/workflow left to model discipline with clearer prompt reinforcement (#1330)
  • provider: let xiaomi provider use its models.dev name "Xiaomi" instead of hardcoded "MiMo" that collided with the free mimo provider (#1366)
  • actor: restore previous spawnRef binding on finalizer cleanup instead of wiping to undefined, fixing checkpoint writer breakage when Actor.layer initializes more than once (#1416)

Refactor

  • Restructure agent system prompt with comprehensive sections for modes, permissions, tools, tasks, subagents, and workflows (#1407)

Docs

  • Explain how to opt in to allowing the system temp directory (/tmp) via config — default unchanged, access still prompts (#1339)
  • Add MiMo Ecosystem section linking awesome-mimo-agent (#1440)

Internal / CI

  • Skip flaky cancel-during-fan-out and hung-agent-timeout tests (#1417)
  • Test reliability improvements: backfill DB isolation (#1395), correctness fixes (#1392), remove flaky MCP lifecycle test (#1391)
  • Update MimoAuthPlugin config tests for xiaomi name removal (#1386)