diff --git a/packages/tui/CHANGELOG.md b/packages/tui/CHANGELOG.md index 99b3e79cf..f28c9c390 100644 --- a/packages/tui/CHANGELOG.md +++ b/packages/tui/CHANGELOG.md @@ -7,7 +7,207 @@ This changelog covers important changes that directly affect MCode TUI users. It Internal refactors, test-only changes, and changes limited to other product surfaces are excluded. -## 0.5.5 · 2026-09-25 +## 0.6.5 · 2026-10-09 + +### Fixed + +- The output-speed readout no longer spikes at the start of a turn. Output buffered upstream and + released in one burst is now excluded, so a burst arriving within the first tenth of the request + no longer reports a rate far above what the model actually produced. + +## 0.6.4 · 2026-10-08 + +### Fixed + +- While you are scrolled back through a long conversation, output that changes or removes text + already in terminal scrollback no longer moves the viewport to the top of the session. Without + recent input, the screen repaints in place and the full history rebuild waits for your next + keystroke; readers following the latest output stay at the bottom. +- Settled one-time feedback, such as the previous run's duration note, finished `!` shell blocks, + and earlier run errors, now stays in the transcript once later output follows it instead of being + removed from the middle of the conversation, so later rows no longer shift. +- `cron once --after` accepts `w` (weeks), alone or combined with other units such as `1w2d`. + +## 0.6.3 · 2026-10-08 + +### Added + +- Customize the main Agent's system prompt at startup with `--system-prompt` or + `--system-prompt-file`, or extend it with `--append-system-prompt` or + `--append-system-prompt-file`. Available in the interactive TUI, `exec`, `exec review`, and ACP. +- Replacement and appended prompts can be combined. They apply only to the current process, preserve + runtime rules and project instructions, and do not affect Task child Agents. A missing or empty + prompt file stops the launch instead of running without it. +- Start a new Session in lightweight conversation mode with `--mode lightweight`. It sends a small + conversational system prompt and no tool schemas, and omits workspace instructions, Skills, memory + blocks, and MCP schemas, so it cannot inspect or change local files. The mode is fixed when a root + Session is created and cannot be combined with `--session` or `--continue`; child Agents, + `/compact`, and ACP stay on the standard context. Reopening a lightweight Session keeps its mode + and shows `Lightweight` in the status line. +- Each model request attempt now has a first-response bound and a stream idle bound, both 300 + seconds by default. A request that passes a bound is aborted and reported as a retryable timeout, + so the normal model-request retry runs instead of the turn waiting on a provider that never + answers. Override the bounds with `MCODE_LLM_FIRST_EVENT_TIMEOUT_MS` and + `MCODE_LLM_STREAM_IDLE_TIMEOUT_MS`, where `0` disables a bound. + +### Improved + +- A single model request carries at most 20 images by default. Older images in the request are + replaced with a text note while the stored history keeps every image, and a provider that allows + fewer images per request can set `max_images_per_request` on the model (`api.mistral.ai` defaults + to 8). When compaction is rejected for too many images, it retries with attachments replaced by + text. +- Deterministic provider rejections, such as an image limit or an HTTP 400 `invalid_request_error`, + are now reported immediately with the upstream reason instead of being retried, and suggest + `/compact` or `/new` instead of `/retry`. + +### Fixed + +- While you are scrolled back, output that shrinks the layout, such as a task list collapsing when a + reply ends, no longer moves the viewport to the top of the session. The released rows are padded + and the history rebuild waits for your next keystroke. +- After the agent asks you a question, the turn now waits for your answer instead of ending as a + retryable empty-response failure. +- `/retry` during a running response now says to stop the running turn first, instead of reporting + that there is no failed response to retry. +- Clearing or pausing a Goal while a response is still running now says that the current response + keeps running and to press Esc to interrupt it, instead of implying the turn already stopped. + +## 0.6.2 · 2026-10-02 + +### Fixed + +- In a `/btw` side session, pressing Esc on an empty Composer no longer suggests editing the latest + message; `/edit` is unavailable there. +- Switching between a side session and the main conversation no longer resets the main run's + Running/Loading timer to zero. + +## 0.6.1 · 2026-10-01 + +### Added + +- `/doctor` and `/feedback` now work inside a `/btw` side session, so you can diagnose or report a + failed side response without leaving it. + +## 0.6.0 · 2026-10-01 + +### Added + +- `/retry` now works inside a `/btw` side session. When a side-session model request fails and can + be retried, run `/retry` there to resend the side session's last message without switching back to + the main conversation. + +### Improved + +- The official default model is now `MiniMax-M3.1-Flash-Preview` when no model has been selected. +- When a Goal is marked complete, the agent now ends with one final reply that summarizes what was + done and where the deliverables are, instead of stopping right after the status update. +- Safety refusals from the model provider are no longer retried, including on BYOK. The original + error is shown and identified as a refusal from the model provider. +- TLS record verification errors during a model request now trigger the automatic retry like other + transient network failures. + +### Fixed + +- In regular mode, the screen no longer jumps back to the opening logo and replays the whole + conversation while a run is in progress. Rows that can still change stay on screen above the + footer until they are final. +- The `tok/s` speed is no longer inflated when the provider hides thinking text; generation time now + starts when thinking starts. +- Fixed repeated failures after context compaction during an automatic continuation. +- Context compaction through OpenAI-compatible Chat Completions providers no longer sends an empty + `tools` list, which some backends rejected with HTTP 400. + +## 0.5.10 · 2026-09-30 + +### Fixed + +- Your own messages now appear exactly as typed in the conversation, pending instructions, and the + transcript viewer. Text such as `__pycache__`, `*`, and a leading `>` is no longer reformatted as + Markdown, and trailing blank lines no longer add empty rows. +- The TUI no longer stays stuck showing a run as in progress after Runtime has already finished it. + Enter now sends a new message instead of steering the finished run, and queued messages are no + longer held back. + +## 0.5.9 · 2026-09-30 + +### Added + +- The build-mode status line now reports `background=N`, the number of active background tasks in + the current root session. Bash still owned by its foreground tool call is not counted, and the + count holds at `1` after a turn settles until a fresh task list arrives, so a command that has + just moved to the background is not reported as `0`. +- `worktreeRefreshBeforeCreate` in `config.yaml`, on by default, fetches the selected upstream + before a new worktree is created. +- The OpenAI Codex OAuth entry in model settings is enabled by default; set `beta.codexOAuth: false` + to hide it. + +### Improved + +- BYOK requests now apply byte limits to large media and accumulated history context, reducing + failures caused by oversized requests. +- Long conversations load their file list and history navigation with less data, making browsing + them faster. +- The MiniMax API-key route now uses the same official model catalog as the signed-in route. + +### Fixed + +- Stopping a conversation with Esc also cancels the background Bash commands and subagents it owns, + and their completion notices no longer restart the conversation. Their results stay available to + the next turn. Switching sessions and `/clear` continue to leave background work running. +- Editing and rewinding a message now works after an interrupt that left only a background reminder + behind. +- Terminal errors from a failed run are cleared when the next run starts, so a successful retry no + longer shows the earlier error again. +- The thinking toggle for M3 models is sent as a thinking setting instead of a generic reasoning + effort. + +## 0.5.8 · 2026-09-28 + +### Added + +- Added M3.1-Flash-Preview to the built-in fallback model catalog. + +### Improved + +- Plugin Hook messages appear in the active conversation and restored history, making Hook results + visible without adding them to model context. + +### Fixed + +- Restoring a session with `--session` or `--continue` clears terminal scrollback left by the + previous process before replaying history, avoiding duplicate content. Normal startup preserves + shell history. +- Improved output queuing on slow terminals and waits for pending output before exiting, suspending, + or opening an external editor. + +## 0.5.6 · 2026-09-28 + +### Added + +- Custom provider setup can import models from `/models` with the API key entered during setup. + Search and select a model, then save the imported models after a successful connection test; retry + discovery or enter a model ID manually when needed. + +### Fixed + +- Token speed now uses actual provider output tokens and the generation window, excluding the wait + for the first token and tool execution. Streaming text estimates are no longer shown; confirmed + speed remains visible while waiting for subsequent requests or tools. +- History reloads preserve generation timing. Older messages without timing are excluded from speed + statistics, and speeds below 10 token/s retain one decimal place. +- Bash tool descriptions are displayed as plain text instead of receiving shell command syntax + highlighting; actual commands retain syntax highlighting. + +## 0.5.5 · 2026-09-27 + +### Added + +- Terminal titles show the current state, session name, and MCode, for example + `Needs approval | Fix login | MCode`, and follow session renames and switches. Notifications for + completed turns, failures, permission requests, and questions identify the session and suppress + duplicates; completion waits for the session's queue to finish. Configure them with + `tui.terminalTitle` and `tui.notifications` in `config.yaml`. ### Improved @@ -15,10 +215,164 @@ Internal refactors, test-only changes, and changes limited to other product surf total timeout. Explicit background tasks also default to one hour when no timeout is specified. Foreground calls may return a task ID after 60 seconds without resetting the command timer. - Reduced the dependencies loaded at startup to keep the startup bundle smaller. - - Improved automatic context compaction reliability: large-context models reserve room for replies and start compacting earlier, and adaptive-thinking models at high reasoning effort no longer fail repeatedly when reasoning consumes the output budget. +- Update downloads follow the same proxy settings as the TUI. +- Memory tool results shown to the model are limited to 16 KiB, with a preview of the beginning and + end and guidance for reading more. +- Long sessions repeat less work when indexing and replaying history. + +## 0.5.4 · 2026-09-24 + +### Added + +- Press `Ctrl+S` in `/model` to add or remove a favorite. Favorites appear in a separate group at + the top, retain their insertion order, and persist across sessions. + +### Fixed + +- Scrolling back through chat remains detached from the latest output when the viewport grows or + content and the footer shrink. + +## 0.5.3 · 2026-09-24 + +### Added + +- Type `@` to select an installed Plugin. Its source identity is preserved when sending, queueing, + restoring drafts, and editing history, so plugins with the same name cannot replace one another. + +### Improved + +- Bash tools describe the selected shell and the current turn's background capabilities. Managed + foreground commands wait up to 60 seconds before returning a task ID, with one command deadline + covering foreground and background execution. +- Large Bash results preserve the beginning and end of the output, report process outcomes and + output persistence separately, and keep task receipts bounded. +- `/theme` uses the left and right arrow keys to select light, automatic, or dark appearance. Custom + theme watching reconciles once at startup to catch edits that could otherwise be missed. +- Workspace Skill directories (`.agents/skills`, `.claude/skills`, and `.minimax/skills`) support + symbolic links to other locations and watch linked directories for additions and changes. + +### Fixed + +- Pressing `Esc` before the model has produced an answer or used a tool restores the submitted + message to the composer, preserving attachments and text entered while stopping. +- Closing autocomplete, history search, settings, or multiline input restores the released chat area + correctly. Reading earlier messages keeps your position while output arrives, and sending a + message resumes following the latest output. +- Editing or rewinding history clears todos from discarded turns and stale duration indicators. + Entering the complete `/rewind` command while editing still runs the local command. +- Large-file edit previews now bound diff size and computation time. Omitted previews show a clear + notice instead of incorrectly reporting no changes. +- Goal tool calls outside a bound Goal turn return a recoverable error without ending the user turn. +- Windows managed updates validate the installed package through its Node entry point, including + installation paths containing spaces and shell metacharacters. + +## 0.5.2 · 2026-09-22 + +### Added + +- `/theme` opens a theme panel with live preview. Pick from the built-in `minimax`, `midnight`, + `graphite`, and `aurora` themes, or write your own theme file under `tui/themes/*.json`. Each + theme provides both a dark and a light palette, and the appearance follows your terminal's + background until you lock it to light or dark. +- Custom theme files support partial overrides, color aliases, syntax palettes, and hot reload, so + editing a theme you are already using takes effect without restarting MCode. +- The theme choice is stored in `tui/tui-settings.json` alongside `tuiMode` and can also be set as + `/light` or `/dark` to pin one appearance. An unrecognized value falls back to + the default theme instead of blocking startup. + +### Improved + +- Long conversations stay responsive by reusing verified history and loading less at runtime. +- A failed optional Provider preset sync no longer blocks startup as long as the existing + configuration stays intact. + +### Fixed + +- Fixed the transcript jumping back to the start of a conversation when a long turn ended after you + had scrolled up. Previously visible content now stays in place and the composer remains at the + bottom. +- Fixed style-only redraws leaving a stale composer, status bar, or duplicated body text behind in + Apple Terminal. Visible-region repaints now erase in place instead of scrolling old lines into the + terminal's native scrollback. +- Fixed failed commands being reported as successful when Bash ran through the Windows PowerShell + wrapper; the native exit code is now preserved. +- Attachment paths are resolved automatically in WSL, so Windows drive letters, UNC paths, and + `file://` URLs can be attached directly. +- Rewriting private configuration files on Windows no longer interrupts startup. +- Session history writes that wait on a busy store are retried, and stopping a turn while a write + waits keeps the turn's stopped state. + +## 0.5.1 · 2026-09-21 + +### Improved + +- Reduced repeated history processing and token estimation in long conversations. +- Provider setup now displays the Base URL and supports editing it with `ctrl+e` before testing. + Failed connection tests clearly indicate that changes were not saved. The Z.AI and Zhipu presets + label their Coding Plan and API endpoints separately. + +### Fixed + +- Fixed `/btw` side conversations failing to open while tools are running. +- Fixed multiline text pasted by terminals without bracketed-paste framing being submitted line by + line. +- Kept the input method candidate window anchored to the composer during redraws, including on + Windows terminals, and prevented stale history rows after content changes. +- Local sessions using custom providers or API keys no longer require a managed login for title + handling, and the welcome screen no longer asks you to sign in when the selected custom provider + does not need a MiniMax account. +- Token estimates for Z.AI and Zhipu Coding Plan endpoints no longer fall back to a local + approximation after a failed token-count request. +- Memory edits containing `$&`, `$$`, or similar sequences are inserted literally. + +## 0.5.0 · 2026-09-20 + +### Added + +- Interactive sessions support `mcode -m ` to select a model for that session. +- Provider setup supports explicit context and output limits, image input capability + (`--support-image`), and testing before saving with `--use`. +- ACP clients can discover enabled Skills for the attached session's Agent and workspace alongside + native slash commands. +- Fullscreen Transcript supports clicking and dragging the scrollbar. An optional `context-meter` + status line item shows remaining context capacity. +- Each GitHub Release includes a versioned npm installation archive, `minimax-code-X.Y.Z.tar.gz`, + with a `.sha256` checksum. + +### Improved + +- Reduced repeated history processing and token estimation during long conversations. +- Provider presets import their explicit reasoning effort options. +- Source builds now use `~/.minimax` as the default data directory, the same as the published npm + CLI. Data in the earlier `~/.minimax-code` default is not moved; set `MINIMAX_DATA_DIR` to keep + using it. +- Automatic metrics and diagnostics uploads are off by default and require their own consent; global + opt-outs are honored. + +### Fixed + +- Preserved terminal scrollback during redraws and kept collapsed thinking summaries and the + composer visible when content shrinks. +- Settings updates now reject malformed configuration files without overwriting their contents. +- Invalid attachment markup is removed from assistant messages even when no valid attachment + remains, and path-based attachments no longer show duplicate placeholders. +- Thinking-enabled custom connections to Mistral, SiliconFlow, DashScope, and Kimi Coding send the + system prompt with a role those endpoints accept. +- Resource files of built-in and active-Agent Skills can be read in every permission mode. +- Content review failures are reported as such instead of as connectivity problems. +- Context usage is recalculated after compaction instead of showing the pre-compaction value. +- Bash deny and ask rules also match commands prefixed by transparent wrappers such as `nohup` or + `timeout`. +- Terminal control sequences in model output are sanitized before display, and reading MCode's + private runtime data requires approval. +- Configuration files that can hold credentials are restricted to owner access. +- `replace_all` edits keep literal `$` sequences. +- Session diffs report renamed files under their destination path and keep Unicode paths. +- A blank `NO_PROXY` falls back to `no_proxy`, and updates work when npm is provided through a pnpm + shell shim. ## 0.4.12 · 2026-09-18 diff --git a/packages/tui/CHANGELOG.zh-CN.md b/packages/tui/CHANGELOG.zh-CN.md index a47385bbb..01cdc5af9 100644 --- a/packages/tui/CHANGELOG.zh-CN.md +++ b/packages/tui/CHANGELOG.zh-CN.md @@ -8,14 +8,246 @@ TUI 正式版中用户能直接感知的重要变化。收录范围以 TUI 用 仅内部重构、测试调整,或只影响其他产品界面且不改变 TUI 行为的变化不记录。 -## 0.5.5 · 2026-09-25 +## 0.6.5 · 2026-10-09 + +### 问题修复 + +- 修复一轮开头输出速度虚高的问题。上游缓冲后一次性吐出的输出现在会被排除,突发输出落在请求前 10% 区间时不再报出远高于模型真实速度的数值。 + +## 0.6.4 · 2026-10-08 + +### 问题修复 + +- 长对话中上滚阅读时,正文输出改变或移除已进入终端滚动历史的文本,不会再把视口拉回会话开头。最近没有输入时,屏幕原地重绘,完整的历史重建延后到下一次按键;跟随最新输出的读者仍停在底部。 +- 上一轮耗时提示、已结束的 `!` Shell 输出块和较早的运行错误等一次性反馈,在后面已有新输出时会保留在对话记录中,不再从对话中间删除,后续内容也不会因此整体错位。 +- `cron once --after` 支持 `w`(周)单位,可单独使用,也可与其他单位组合,例如 `1w2d`。 + +## 0.6.3 · 2026-10-08 + +### 新增功能 + +- 启动时可通过 `--system-prompt`、`--system-prompt-file` 替换主 Agent 的系统提示词,或通过 `--append-system-prompt`、`--append-system-prompt-file` 追加内容;交互式 TUI、`exec`、`exec review` 和 ACP 均支持。 +- 替换与追加可同时使用,只对当前进程生效,保留运行规则和项目指令,不影响 Task 子 Agent。提示词文件缺失或为空时直接终止启动,不会在缺少该内容的情况下继续运行。 +- 可用 `--mode lightweight` 以轻量对话模式创建新会话:只发送精简的对话系统提示词,不发送工具 schema,并省略工作区指令、Skills、memory 块和 MCP schema,因此不能检查或修改本地文件。模式在根会话创建时固定,不能与 `--session` 或 `--continue` 同时使用;子 Agent、`/compact` 与 ACP 仍使用标准上下文。重新打开轻量会话时保留该模式,并在状态栏显示 `Lightweight`。 +- 每次模型请求新增首个响应时限与流空闲时限,默认各 300 秒。超过时限的请求会中止并按可重试超时处理,走常规模型请求重试,不再一直等待始终不响应的 Provider。可用 `MCODE_LLM_FIRST_EVENT_TIMEOUT_MS` 和 `MCODE_LLM_STREAM_IDLE_TIMEOUT_MS` 以毫秒覆盖,设为 `0` 表示关闭。 + +### 体验改进 + +- 单次模型请求默认最多携带 20 张图片,请求中较早的图片会替换为文字说明,已保存的历史仍保留全部图片;Provider 允许的单次图片数更少时,可在模型上设置 `max_images_per_request`(`api.mistral.ai` 默认为 8)。上下文压缩因图片过多被拒绝时,会改用以文字替代附件的内容重试。 +- 图片数量超限、HTTP 400 `invalid_request_error` 等确定性拒绝会直接展示上游原因,不再重试,并建议使用 `/compact` 或 `/new`,而不是 `/retry`。 + +### 问题修复 + +- 上滚阅读时,正文输出导致布局收缩(例如回复结束时任务列表收起),不会再把视口拉回会话开头。释放出的行会先留白,历史重建延后到下一次按键。 +- Agent 向你提问后,本轮会等待你的回答,不再以可重试的空响应失败结束。 +- 响应仍在运行时使用 `/retry`,会提示先停止当前回合,而不是报告没有可重试的失败响应。 +- 运行中响应时清除或暂停 Goal,提示会说明当前响应仍在运行、需按 Esc 中断,不再让人以为本轮已经停止。 + +## 0.6.2 · 2026-10-02 + +### 问题修复 + +- `/btw` 侧会话中,在空 Composer 按 Esc 不再提示“再按一次编辑最后一条消息”;侧会话本身不支持 `/edit`。 +- 在侧会话和主会话之间来回切换时,主任务 Running/Loading 的计时不再被清零。 + +## 0.6.1 · 2026-10-01 + +### 新增功能 + +- `/btw` 侧会话中支持 `/doctor` 和 `/feedback`。侧会话请求出错时,可以直接在侧会话里检查配置或提交反馈,无需先离开侧会话。 + +## 0.6.0 · 2026-10-01 + +### 新增功能 + +- `/btw` 侧会话中支持 `/retry`。侧会话的模型请求失败且可重试时,可以直接在侧会话里运行 `/retry` 重发最后一条消息,无需先回到主会话。 + +### 体验改进 + +- 未选择模型时,官方默认模型改为 `MiniMax-M3.1-Flash-Preview`。 +- Goal 标记完成后,Agent 会再写一条最终回复,说明完成了什么、交付物在哪里,不再在状态更新后直接结束。 +- 模型提供方的安全拒答不再重试(BYOK 同样适用),直接展示原始错误,并标识为模型提供方拒答。 +- 模型请求中出现 TLS 记录校验错误时,会和其他临时网络故障一样自动重试。 + +### 问题修复 + +- 修复常规模式下运行过程中界面跳回开头 logo、整段对话重新滚动输出的问题。仍可能变化的内容会先保留在底部栏上方,确定后才写入终端历史。 +- 修复 Provider 隐藏 thinking 文本时 `tok/s` 速度虚高的问题;生成时间改为从 thinking 开始计算。 +- 修复自动续跑过程中上下文压缩后反复失败的问题。 +- 通过 OpenAI 兼容的 Chat Completions Provider 压缩上下文时,不再发送空的 `tools` 列表,避免部分后端返回 HTTP 400。 + +## 0.5.10 · 2026-09-30 + +### 问题修复 + +- 你发送的消息在对话、待执行指令和会话记录查看器中都会按原文显示;`__pycache__`、`*`、行首 `>` 等内容不再被当作 Markdown 改写,末尾的空行也不再显示为多余的空白行。 +- 修复 Runtime 已结束运行后 TUI 仍显示运行中的问题;此时按 Enter 会正常发送新消息,不再误当作对已结束运行的 steer,排队消息也不再被卡住。 + +## 0.5.9 · 2026-09-30 + +### 新增功能 + +- 构建模式状态栏新增 `background=N`,表示当前根会话活跃的后台任务数。仍由前台工具调用持有的 Bash 不计入;根 turn 结算后,在新的任务列表返回之前该计数至少为 `1`,避免刚转入后台的命令被显示为 `0`。 +- `config.yaml` 新增 `worktreeRefreshBeforeCreate`,默认开启,创建新 worktree 前先拉取所选上游。 +- 模型设置中的 OpenAI Codex OAuth 入口默认开启;设置 `beta.codexOAuth: false` 可隐藏。 + +### 体验改进 + +- BYOK 请求对大体积媒体和累积的历史上下文增加字节上限,减少请求体过大导致的问题。 +- 长对话的文件列表和历史导航读取更少数据,浏览更快。 +- MiniMax API Key 路线改为与登录账号路线共用官方模型列表。 + +### 问题修复 + +- 按 Esc 停止对话时,会一并取消该对话持有的后台 Bash 命令和子 Agent,它们的完成通知也不会再重新唤起对话;结果仍保留给下一轮读取。切换会话和 `/clear` 仍保留后台任务继续运行。 +- 中断后仅残留后台提醒时,现在可以正常编辑和撤回消息。 +- 新一轮运行开始时会清除上一轮失败留下的终端错误,重试成功后不再重复显示旧错误。 +- M3 模型的思考开关改为以 thinking 设置发送,不再作为通用推理强度发送。 + +## 0.5.8 · 2026-09-28 + +### 新增功能 + +- 内置兜底模型列表补充 M3.1-Flash-Preview。 + +### 体验改进 + +- Plugin Hook 的提示会显示在当前会话和恢复后的历史中,便于了解 Hook 执行结果;这些提示不会加入模型上下文。 + +### 问题修复 + +- 通过 `--session` 或 `--continue` 恢复会话时,先清理旧进程遗留的终端滚动历史再回放,避免重复显示历史内容;普通启动保留 Shell 历史。 +- 改进慢终端的输出排队与退出处理,减少输出积压,并在退出、挂起或打开外部编辑器前等待终端输出完成。 + +## 0.5.6 · 2026-09-28 + +### 新增功能 + +- 新建自定义 Provider 时,可使用当前填写的 API Key 从 `/models` 导入模型;搜索并选中模型、连接测试成功后再保存。导入失败时可重试或手动填写模型 ID。 + +### 问题修复 + +- Token 速度按模型服务返回的实际输出 token 数和生成耗时计算,排除首 token 等待和工具执行时间;不再显示流式文本估算值,等待后续请求或工具时保留已确认的速度。 +- 重新加载历史消息时保留生成计时;缺少计时的旧消息不参与速度统计,低于 10 token/s 时保留一位小数。 +- Bash 工具的自然语言描述不再被当作 Shell 命令高亮;实际命令继续保留语法高亮。 + +## 0.5.5 · 2026-09-27 + +### 新增功能 + +- 终端标题显示当前状态、会话名称和 MCode,例如 `Needs approval | Fix login | MCode`,并随会话重命名和切换更新。回合完成、失败、权限请求和提问的通知会标明所属会话并去重;完成通知会等待该会话的排队消息执行完毕。可在 `config.yaml` 中通过 `tui.terminalTitle` 和 `tui.notifications` 配置。 ### 体验改进 - Bash 命令自动转入后台时,默认及最大总执行时限延长至 1 小时;显式后台任务未指定超时时也默认保留 1 小时。前台等待 60 秒后可返回任务 ID,转入后台不会重新计时。 - 减少安装包启动时加载的依赖,降低启动依赖体积。 - - 改进上下文自动压缩的稳定性:大上下文模型会为回复预留输出空间并更早开始压缩;使用 adaptive thinking 的模型在高推理强度下,不再因思考内容占满输出预算而反复压缩失败。 +- 更新下载遵循与 TUI 相同的代理设置。 +- Memory 工具返回给模型的结果限制在 16 KiB 内,保留首尾预览并提示如何读取更多内容。 +- 长会话在索引和回放历史时减少重复工作。 + +## 0.5.4 · 2026-09-24 + +### 新增功能 + +- 在 `/model` 中按 `Ctrl+S` 收藏或取消收藏模型。收藏模型在顶部单独分组、按添加顺序显示,并跨会话保存。 + +### 问题修复 + +- 向上浏览聊天记录后,视口扩大或内容、底部栏缩短时仍保持当前滚动状态。 + +## 0.5.3 · 2026-09-24 + +### 新增功能 + +- 输入 `@` 可选择已安装的 Plugin。发送、排队、恢复草稿和编辑历史消息时保留所选插件的来源,同名插件不会互相替代。 + +### 体验改进 + +- Bash 工具按实际 Shell 和本轮后台能力提供指引;托管前台命令最多等待 60 秒后返回任务 ID,前台与后台共用同一命令截止时间。 +- 大量 Bash 输出保留首尾内容,分别报告进程结果与输出持久化状态,并限制后台任务回执长度。 +- `/theme` 使用左右方向键切换浅色、自动和深色外观;自定义主题监听启动时会主动同步,减少保存后未立即生效的情况。 +- 工作区 Skill 目录(`.agents/skills`、`.claude/skills`、`.minimax/skills`)支持指向其他位置的符号链接,并监听链接目录内的新增和修改。 + +### 问题修复 + +- 模型尚未输出正文或执行工具时,按 `Esc` 中断会将消息恢复到输入框,并保留附件及中断期间新输入的文字。 +- 修复收起补全、历史搜索、设置等临时面板或多行输入后,聊天区域未恢复、内容错位的问题;阅读较早消息时,新输出不会打断当前位置,发送消息后重新跟随最新输出。 +- 编辑或回退历史后清除已丢弃回合的待办与旧耗时显示;编辑时输入完整 `/rewind` 仍执行本地命令。 +- 大文件编辑的差异预览增加大小与计算时间上限,省略时明确提示,不再误显示为没有改动。 +- 未绑定 Goal 的普通回合调用 Goal 工具时,返回可恢复错误,不再提前结束用户回合。 +- Windows 托管更新通过已安装包的 Node 入口校验版本,支持包含空格与 Shell 特殊字符的安装路径。 + +## 0.5.2 · 2026-09-22 + +### 新增功能 + +- 新增 `/theme` 主题面板,支持实时预览切换。可在 `minimax`、`midnight`、`graphite`、`aurora` 等内置主题中选择,也可以自己在 `tui/themes/*.json` 下编写主题文件。每个主题都提供深色和浅色两套配色,默认跟随终端背景自动切换,也可以锁定明暗。 +- 自定义主题文件支持局部覆盖、颜色别名和语法色板,并支持热重载:正在使用的主题改完保存即生效,无需重启。 +- 主题选择保存在 `tui/tui-settings.json`,与 `tuiMode` 共用同一份文件,也可以写成 `<主题ID>/light` 或 `<主题ID>/dark` 锁定外观。无法识别的值会回退到默认主题,不会阻断启动。 + +### 体验改进 + +- 长对话通过复用已验证的历史并减少运行时加载,响应更流畅。 +- 可选的 Provider 预设同步失败时,只要原有配置未被破坏,仍可继续启动。 + +### 问题修复 + +- 修复长对话上滚查看历史后,回合结束时画面跳回会话开头的问题。已显示的内容现在保持原位,输入框仍在底部。 +- 修复 Apple Terminal 中仅样式变化时残留旧输入框、状态栏或重复正文的问题。可见区域重绘现在原地擦除,不再把旧行滚入终端的原生滚动历史。 +- 修复 Bash 通过 Windows PowerShell 包装执行时,失败命令被显示为成功的问题;现在会保留原生命令退出码。 +- WSL 中自动转换附件路径,可直接附加 Windows 盘符、UNC 路径和 `file://` URL。 +- 修复 Windows 下重写私有配置文件导致启动失败的问题。 +- 会话历史写入遇到存储繁忙时会自动重试;等待写入期间停止回合,仍会正确保留已停止状态。 + +## 0.5.1 · 2026-09-21 + +### 体验改进 + +- 进一步减少长对话中重复的历史处理和 Token 估算。 +- Provider 配置显示 Base URL,支持通过 `ctrl+e` 在连接测试前修改;测试失败时明确提示配置尚未保存。Z.AI 与智谱预设分别标注 Coding Plan 和 API 两类端点。 + +### 问题修复 + +- 修复工具执行期间 `/btw` 侧会话创建失败的问题。 +- 修复部分终端粘贴多行文本时逐行意外提交的问题。 +- 修复重绘时输入法候选框偏离输入框(包括 Windows 终端),以及历史内容变化后残留旧行的问题。 +- 使用自定义 Provider 或 API Key 的本地会话处理标题时,不再依赖托管账号登录;所选自定义 Provider 不需要 MiniMax 账号时,欢迎页也不再提示登录。 +- Z.AI 与智谱 Coding Plan 端点的 Token 估算不再因计数请求失败而退回本地近似值。 +- Memory 编辑内容中的 `$&`、`$$` 等序列会按原文写入。 + +## 0.5.0 · 2026-09-20 + +### 新增功能 + +- 交互模式支持 `mcode -m `,为当前会话指定模型。 +- Provider 配置支持显式声明上下文和输出上限、图片输入能力(`--support-image`),并通过 `--use` 在保存前测试模型。 +- ACP 客户端可在原生命令之外,发现当前会话 Agent 和工作区中已启用的 Skill。 +- 全屏对话记录支持点击和拖动滚动条;状态栏可选 `context-meter`,显示剩余上下文刻度。 +- 每个 GitHub Release 都附带带版本号的 npm 安装包 `minimax-code-X.Y.Z.tar.gz` 及 `.sha256` 校验文件。 + +### 体验改进 + +- 减少长对话中重复的历史处理和 Token 估算。 +- Provider 预设会导入其明确声明的推理强度选项。 +- 源码构建的默认数据目录改为 `~/.minimax`,与已发布的 npm CLI 一致。原先默认的 `~/.minimax-code` 中的数据不会被迁移;如需继续使用,请设置 `MINIMAX_DATA_DIR`。 +- 自动上传指标和诊断信息默认关闭,需要单独同意;同时遵循全局退出设置。 + +### 问题修复 + +- 改善重绘时的终端滚动历史保留,并确保内容收起后思考摘要和输入框仍然可见。 +- 设置更新遇到格式错误的配置文件时会拒绝写入,保留原文件内容。 +- 回复中的无效附件标记会被清理,即使没有有效附件也不会残留;基于路径的附件不再显示重复占位符。 +- 对 Mistral、SiliconFlow、DashScope 和 Kimi Coding 开启思考的自定义连接,系统提示词改用这些端点支持的角色发送。 +- 内置 Skill 和当前 Agent 的 Skill 资源文件在所有权限模式下均可读取。 +- 内容审核失败会如实报告,不再误报为网络连接问题。 +- 上下文压缩后重新计算上下文用量,不再显示压缩前的数值。 +- Bash 的拒绝和询问规则同样匹配带 `nohup`、`timeout` 等透明包装前缀的命令。 +- 模型输出中的终端控制序列会在显示前清理;读取 MCode 私有运行数据需要授权。 +- 可能包含凭据的配置文件仅限所有者访问。 +- `replace_all` 编辑保留字面 `$` 序列。 +- 会话 diff 按目标路径报告重命名文件,并保留 Unicode 路径。 +- `NO_PROXY` 为空时回退读取 `no_proxy`;npm 由 pnpm Shell shim 提供时也能正常更新。 ## 0.4.12 · 2026-09-18