# v0.19.5 — model picker in the composer, in-page editor read/write, resumable abort

A feature release that reshapes how you pick models, lets the agent read and write code editors on the page, and makes stopping a task non-destructive.

## Model selection moves into the composer

Models are no longer tied to an instance. An **instance is now just a provider + key**; you pick the model right where you type, from a new **ModelPicker** in the composer:

- Accordion layout — expand a provider, then choose a model, with in-provider search for long catalogs.
- **Vision / tools badges** on each model so the right capability is obvious at a glance.
- Your last choice is remembered globally (`last_model_selection`) and carried across sessions.
- Provider rows now show **borderless provider icons + name** in the dropdowns.

Existing setups migrate silently: same-provider instances are merged and the old per-instance model is lifted into your global last-model selection.

## The agent can read & write in-page editors (Monaco / CodeMirror)

Two new tools — `read_editor` and `set_editor_value` — let the agent work with rich code editors (Monaco, CodeMirror) embedded in a page, routed through CDP for reliable get/set with read-back verification. `read_page` now detects and registers editor hosts. (v1 targets the top frame; editors inside sub-frames degrade gracefully.)

## Keyboard: modifier chords

`press_key` now supports modifier combinations (e.g. ⌘A / Ctrl+A), which also fire the correct macOS editing commands — fixing text-entry reliability inside editors.

## Stopping a task is now non-destructive

Aborting a running task **preserves the full raw history and auto-resumes from it**, instead of compressing the run into a summary tombstone. Pick up exactly where you left off.

## Chat UI polish

Redesigned quote & file chips (Tint-Pill style), refined message bubbles with long-text collapse, and a one-click code copy button.

## Feedback, one click away

A built-in `report_issue` skill plus a Feedback section in Settings (open a GitHub issue or send an email) make it easy to tell us what broke.

## 中文摘要

一个功能版本:重做模型选择方式,让 agent 能读写页面里的代码编辑器,并让"停止任务"不再丢历史。

### 模型选择移到输入框

模型不再绑定到实例。**实例现在只是「供应商 + key」**;模型在输入框处直接选,来自新的 **ModelPicker**:

- 手风琴布局——展开供应商再选模型,长列表支持供应商内搜索。
- 每个模型带 **vision / tools 徽标**,能力一目了然。
- 上次选择全局记忆(`last_model_selection`),跨会话继承。
- 下拉里供应商行改为 **无边框图标 + 名称**。

老配置静默迁移:同供应商的实例自动合并,旧的 per-instance 模型被提升为全局 last-model 选择。

### agent 可读写页面内编辑器(Monaco / CodeMirror)

新增两个工具 `read_editor` 与 `set_editor_value`,让 agent 能操作页面里嵌入的富代码编辑器(Monaco、CodeMirror),经 CDP 做可靠的取值/写值并回读校验。`read_page` 现在会探测并登记编辑器宿主。(v1 针对顶层 frame;子 frame 内的编辑器优雅降级。)

### 键盘:修饰键组合

`press_key` 现在支持修饰键组合(如 ⌘A / Ctrl+A),并在 macOS 上触发正确的编辑命令——修复了编辑器内的输入可靠性。

### 停止任务不再丢历史

中途 abort 会**保留完整原始历史并自动续接**,不再把整段运行压缩成摘要 tombstone。停在哪、就从哪继续。

### 聊天 UI 打磨

重做引用与文件 chip(Tint-Pill 风格)、优化消息气泡 + 长文本折叠,以及一键复制代码按钮。

### 反馈入口

内置 `report_issue` skill,外加设置页的反馈区(开 GitHub issue 或发邮件),方便随时告诉我们哪里出了问题。
