> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 变更日志（稳定通道）

> 稳定通道的发布说明

<div id="3000123">
  ## 3000.1.23
</div>

### 新增

* 新增 `/mcp` 斜杠命令，附带实时 MCP 服务器状态面板。
* `/usage` 命令现已显示 ACU 用量。
* CLI 现已强制执行企业登录策略。
* 新增 `sandbox.excluded` allow/ask/deny 配置 (用户设置和团队设置) ，用于在沙盒外运行特定命令；排除的命令也会跳过沙盒代理环境。

### 变更

* 在 Autonomous 模式下产生的编辑现在会生成可供审查的 diff。
* 技能 `permissions:` frontmatter 现在也适用于自动审批。

### 已修复

* 修复了对 PowerShell `$variable` 赋值前缀的命令审批解析问题。

<div id="2026818">
  ## 2026.8.18
</div>

### 新增

* 子 Agent 现在支持配置默认模型。
* 已在 Devin Local [配置文件](/zh/cli/reference/configuration/config-file)中添加 `attribution` 选项；将其设置为 `false` 可避免在提交消息中提及 Devin。

### 变更

* 现在会在启动时预热 MCP registry 缓存，因此 MCP 服务器能更快就绪。

### 修复

* 在 Windows 上，`bash` 现在会解析为 Git Bash，而不是 WSL 启动器 stub。
* 自动生成的会话标题中不再包含注入的上下文。
* 修复了 CLI 问题回复在全角字符下的换行问题。

<div id="2026723">
  ## 2026.7.23
</div>

<div id="fixed">
  ### 问题修复
</div>

* 提高了 MCP registry 解析对旧版及不一致 schema 的容错性。

<div id="2026719">
  ## 2026.7.19
</div>

### 已修复

* 修复了加载使用备用字段的技能文件时出现的 bug。

<div id="2026716">
  ## 2026.7.16
</div>

<div id="plugins">
  ### 插件
</div>

可从 GitHub 仓库、git URL 或本地文件夹安装成套的技能，并在多个项目之间共享。凡是包含 `.devin-plugin/plugin.json` 清单和 `skills/` 目录的来源，都可视为插件；其中的技能将以 `/<plugin>:<skill>` 的形式提供。插件可以依赖其他插件 (会自动安装) 、推荐可选插件，也可以禁止使用其他插件——因此，插件也可以作为经过精选和统一管理的集合。插件目前处于 Beta 阶段，且在 Enterprise 中需选择启用，因此其行为和配置可能会在未来版本中发生变化。详情请参阅[插件概览](/zh/cli/extensibility/plugins/overview)。

<div id="enterprise-controls">
  ### 企业级控制
</div>

为管理员提供更完善的控制项，以管理 Devin Local 可执行的操作及其可访问的工具。

* 团队现在可以定义终端命令的允许/拒绝列表，并通过 CLI 权限作用域强制实施，支持精确命令匹配和 `*` 通配符。
* 新增组织级控制，可禁用 Devin CLI 插件：启用后，CLI 将拒绝安装或更新插件，并跳过任何已安装插件中的技能。
* Team 设置中的“禁用 CLI 访问”现已对 Devin Local (即托管在 Windsurf 中的 CLI) 强制生效，包括内置的 Agent registry 和允许的 MCP server allowlist。

### 新增

* `devin plugins install <source>` 可从 GitHub `owner/repo`、git URL 或本地路径安装插件 (以及其所需插件) 。
* `devin plugins list` 会显示已安装的插件、其版本，以及它们当前是否被策略阻止。
* `devin plugins info <plugin>` 会显示插件提供的技能，以及其必需、可选和禁止列表。
* `devin plugins update [plugin]` 会以最新版本重新拉取某个插件 (或所有插件) ；本地插件会链接到其源文件夹，因此修改后无需重新安装即可立即生效。
* `devin plugins remove <plugin>` 会卸载插件，同时保留任何自动安装的必需插件。
* `forbiddenPlugins` 条目除了精确标识和单独的 `*` 锁定外，还支持 glob 模式 (例如 `acme/*`、`*/secrets`、`https://gitlab.com/acme/*`) 。

### 变更

* 改进了第三方 ACP 客户端 (包括 JetBrains 和 Zed) 的身份验证：浏览器登录和手动登录现在都使用 Devin 的身份验证流程，因此此前无法使用的手动 `/login` 回退方案现已恢复正常。

<div id="2026526-8">
  ## 2026.5.26-8
</div>

### 已修复

* 现在，登录 Devin 时会遵循 `config.json` 中的 `proxy` 设置 (`mode`、`url`、`no_proxy`) 。此前，登录时的令牌交换始终直接连接 (`HTTP_PROXY`/`HTTPS_PROXY` 环境变量除外) ，会忽略已配置的 `manual` 代理 URL、`off` 模式以及配置级别的 `no_proxy`。

<div id="2026526-7">
  ## 2026.5.26-7
</div>

### 已修复

* 自定义 HTTP 标头现在会在 MCP OAuth 的自动发现和授权流程中透传，因此，位于要求额外标头 (例如 Authorization 标头) 的网关之后的 MCP 服务器现在也能完成 OAuth 登录。
* 内置 MCP OAuth 策略 (例如 Figma 的策略) 现在会按颁发者而不是网关主机名进行匹配，因此在通过网关或代理访问服务器时也能正确解析。

<div id="2026526-6">
  ## 2026.5.26-6
</div>

### 已修复

* IDE 编辑器上下文 (当前活动文件、光标位置、打开的选项卡) 现在包含了明确的相关性说明，因此 Agent 不再将被动浏览代码误认为是要求其对当前聚焦文件采取操作的请求。
* IDE 编辑器上下文 (当前活动文件、光标位置、打开的选项卡) 现在会随每条用户消息一并注入一次，而不是在每次模型响应前重复注入，因此 Agent 不再说明已打开的 IDE 文件是否与该请求相关。

<div id="2026526-5">
  ## 2026.5.26-5
</div>

### 已修复

* 启动 Devin CLI 后，如果未发送任何消息就退出，`devin list` 中将不再留下空白的“Untitled”会话；会话会在你发送第一条消息后保存。

<div id="2026526-0">
  ## 2026.5.26-0
</div>

<div id="added">
  ### 已添加
</div>

* 支持 Gemini 3.5 Flash 模型。
* 新增 `/cloud-attach <session-id>` 命令，可连接到现有的 cloud Devin 会话，并提供完整的 TUI 渲染 (工具调用、消息、计划、文件编辑) 。现有的 `/handoff` 行为保持不变。
* 新增 `/cloud-sessions [--all]` 命令，用于列出最近的 cloud Devin 会话及其可连接的 session ID。
* 自定义子 Agent Profile 现可通过 `max-nesting` frontmatter 字段选择启用嵌套子 Agent 启动，从而覆盖默认的深度限制。
* 受支持的编辑器集成 (包括 Windsurf) 现在会将你当前打开的文件、光标位置以及其他已打开的编辑器选项卡显示给 Agent，作为其上下文的一部分。
* 用于以 ATIF 格式导出对话历史的 `--export` 标志。
* 新增 `/fast` 斜杠命令，可快速切换到 SWE-1.6 Fast，并显示与当前模型的价格对比。
* Figma MCP 服务器现在可通过 `devin mcp add figma --url https://mcp.figma.com/v1` 进行身份验证，无需额外配置。
* 当系统提示你授予 MCP 工具权限时，现在还会提供两个额外的服务器级选项：批准当前会话中该服务器上的所有工具，或永久批准。这样你就可以授予更广泛的访问权限，而无需逐个重新批准每个工具。
* 在启用了 Shell 集成 的终端中，现支持提示导航和可折叠的命令区段。VS Code、Windsurf、Ghostty、iTerm2、kitty、WezTerm 和 Windows Terminal 用户现在可以使用键盘快捷键在提示之间跳转 (例如在 VS Code 中使用 Ctrl+Shift+Up/Down) 、在滚动条中查看提示标记，并折叠 Agent 输出区段 (iTerm2) 。提示标记在会话恢复后也会保留。
* 回退预览现在会显示行级 diff 统计信息 (`+N -M`) ，并为所有 action 类型 (restore、delete、recreate) 显示“查看 diff”按钮。
* `show_hints` 配置选项可用于隐藏轮次之间的“Did you know”提示 (默认：开启)

<div id="changed">
  ### 已更改
</div>

* 长对话现在会更早在后台压缩，因此当上下文接近满载时，Agent 因等待而暂停的时间更短。
* ATIF 导出现在包含更丰富的每步骤转录详情，包括遥测数据和耗时指标。
* 超时后仍在后台继续运行的 Shell 命令，现在会报告 Devin 在返回前实际等待了多长时间。
* 内置的 Explore 子 Agent 现在除了可使用其只读 codebase 工具外，还能通过网页搜索研究 codebase 之外的主题。它仍然无法抓取任意 URL 或编辑文件。
* Homebrew 安装现在改为由外部管理。`/update` 命令将引导用户通过 `brew upgrade devin` 升级，而不是尝试自行更新。
* HTTP MCP 服务器现在会优先尝试 Streamable HTTP，并在服务器返回 HTTP 4xx 错误时根据 [MCP 规范](https://spec.modelcontextprotocol.io/specification/2025-03-26/basic/transports/#backwards-compatibility)自动回退到旧版 SSE。
* MCP OAuth 回调页面现在会显示带有 Devin 品牌的成功和失败页面，而不再是纯文本。
* 在面向用户的 UI、REPL 欢迎与启动横幅、斜杠命令说明 (`/bug`) 、错误报告输出、云端交接消息、版本自管理消息、提示和公开文档中，产品名称已从“终端版 Devin”更名为“Devin CLI”。二进制名称、配置路径和安装 URL 保持不变。
* 回退预览现在会针对不可逆操作显示说明性警告，而不再是空白占位符。
* 只读 Shell 命令 (如 `ls`、`cat`、`pwd`) 在回退期间不再触发不可逆操作警告。
* Shell 集成 启动速度更快，减少了打开 shell 时的明显延迟。
* 精简了 Devin CLI 的首次运行欢迎消息。
* Windows：默认的非交互式 shell 现在改为 PowerShell，而不是 Git Bash。在 Windows 上运行 Devin CLI 不再需要 Git for Windows。

### 已修复

* 现在，当所选的 Devin CLI 模型不支持图像时，Windsurf 中的图像附件会显示正确的警告。
* 现在，当模型达到最大输出 `令牌` 限制而导致响应被静默截断时，会显示警告，并在管道模式下以非零状态码退出，而不是将部分输出当作完整结果返回。
* 在发生 HTTP 413 后，降低后的尾部图像数量上限现在会在后续轮次中保持生效；这可防止该上限在每轮重置为 20，并反复触发 413 循环
* 现在会在 message-forest chokepoint 将 bmp/tiff/ico 图像重新编码为 PNG，而不是使用不受支持的 `mime_type` 将其转发给 Anthropic；此前这会显示为 `messages.N.content.0.image.source.base64.media_type: Input should be 'image/jpeg', 'image/png', 'image/gif' or 'image/webp'` 400 错误。
* 现在，对于字节无法被完整解码的超大 (>5 MB) 图像，会直接丢弃，而不是原样透传；此前这会显示为 `image exceeds 5 MB maximum` 400 错误。
* 在多项选择题的“其他 (自行输入) ”字段中输入内容时，不再会丢失 `e`/空格，也不会将 `j`/`k`/数字识别为快捷键；现在所有字符都会正常插入答案中。
* 当你的组织要求使用沙箱模式时，Plan 模式现已可用。此前 `/plan` 和 `/mode plan` 会被拒绝，并提示“Plan mode is not available”，尽管 Plan 模式是只读的。
* 现在，退出码为 2 的用户提示前 hooks 会正确阻止提示，而不再被静默忽略。
* 回退一个步骤时，对于 Agent 在 IDE 中编辑被拒绝的文件，不再错误报告“file was modified externally”冲突。
* 回退或编辑已取消的提示 (在任何输出开始流式传输前就已停止) 时，不再会因“could not resolve step.”而失败。
* 命令执行完成后，沙箱模式不再会在项目目录中留下空的幽灵点文件 (`.bashrc`、`.gitconfig`、`.mcp.json` 等) 。
* 会话内的 `skill` 工具现在可以发现 `.windsurf/skills/`、`.agents/skills/` 和 `.claude/skills/` 下经由符号链接指向的 skills，与 `devin skills list` 保持一致。
* `/handoff` 现在会收集整个代码仓库中的未跟踪文件，而不只是当前子目录中的文件
* `/handoff` 现在会将未跟踪文件包含在发送到 cloud Devin 的 git diff 中，而不只是已跟踪的更改
* 现在，Windsurf 中“Always Allow”的权限授予会在不同会话间持续保留。此前，在 ACP 权限对话框中选择“Always Allow”只会为当前会话授予该作用域。

<div id="202656-1">
  ## 2026.5.6-1
</div>

<div id="web-search">
  ### 网页搜索
</div>

直接在你的 Devin CLI 会话中进行网页搜索。Agent 可以
查阅文档、查找解决方案，并从互联网上获取相关信息，
无需离开终端。

### 新增

* 为 GitHub MCP 服务器内置了 OAuth 设备授权流程。`devin mcp add github --url https://api.githubcopilot.com/mcp/` 现在可通过设备授权流程进行身份验证 (在 github.com/login/device 输入代码) ，无需 `--oauth-client-id`。
* 新增 `/copy` 命令，可将上一条 Agent 响应复制到系统剪贴板。支持通过 SSH 连接使用，也支持 Linux 桌面环境。
* 选择类提示中的编号选项现在可直接按 `1`-`9` 键选择，无需再使用方向键 + Enter。对于非搜索提示，该快捷键会以数字前缀显示在每个选项前。
* 新增 `web_search` 工具，可在 Agent 会话期间搜索网络。

### 已修复

* 现在取消会话时，也会停止正在运行的子 Agent，而不再让它们继续在后台运行
* 将输出重定向到 `/dev/null` 的 Shell 命令 (例如 `2>/dev/null`、`>/dev/null`、`&>/dev/null`) 不再提示需要对 `/dev/null` 的写入权限。
* Edit 工具预览现在会显示正确的文件行号，不再总是从 1 开始。
* 输出令牌上限已从 16k 提升至与各模型的实际容量一致 (Opus 为 128k，Sonnet 为 64k) ，从而防止响应过早被截断。
* 在 BS-mode 终端中，Option+Backspace 现在可在选择菜单 (用户问题中的“Other”字段和搜索) 中正确删除单词，而不是插入 `h`。
* 斜杠命令的输出现在与提示之间有一致的视觉间隔，与 Agent 响应的显示方式保持一致。

<div id="202655-0">
  ## 2026.5.5-0
</div>

### 新增

* `skill search` 可在项目路径下递归查找可由模型调用的技能，并按关键词筛选。

### 变更

* 默认模型现已从 Adaptive 调整为 SWE 1.6 Fast。

### 已修复

* `apply_patch` 的 diff 现在会在补丁写入过程中逐步显示，而不再只在完成后才显示。无论是新建文件还是修改现有文件的补丁，diff 都会逐步呈现。
* 现在，如果通过重命名后的二进制文件、符号链接或别名运行 Devin CLI，命令提示会显示实际用于启动 Devin CLI 的二进制名称。
* 修复了 MCP OAuth 动态客户端注册失败时进程卡住的问题。发生错误时，本地回调 server 未被正确关闭，导致进程会一直阻塞，等待一个永远不会发生的浏览器重定向。
* `/steps`、`/revert` 和 `/fork` 现在会显示压缩前的步骤，并且可对这些步骤进行操作。此前，会话压缩后，所有更早的步骤都会变得不可见且无法回退。
* 现在，当文本和工具调用在同一次流式返回中同时产生时，文本会在滚动历史中正确显示在工具调用之前。

<div id="2026430-4">
  ## 2026.4.30-4
</div>

### 修复

* `/usage` 命令现在会向按配额计费的用户显示剩余配额百分比和超额余额，不再显示“未消耗任何额度”。

<div id="2026430-0">
  ## 2026.4.30-0
</div>

***

bumps:
chisel: minor
config-importers: minor
-----------------------

新增了对 OpenCode、VS Code 和 Zed 编辑器的 MCP 配置导入支持。
新增了对 Cursor 全局 MCP 配置 (`~/.cursor/mcp.json`) 的加载支持。
可通过用户配置中的 `read_config_from` 切换新的提供程序。

### 新增

* 通过 `apply_patch` 进行的文件编辑现在会在 Windsurf 中显示为内联 diff，与 `edit` 工具中已显示的 diff 预览一致。

* 新增 `/login-status` 命令，可显示登录调试信息 (电子邮件、套餐、团队) 。

* 新增 `post_compaction` 钩子事件，会在上下文压缩后触发，压缩摘要可通过 stdin 获取。

<div id="changed">
  ### 已更改
</div>

* Permission 提示现在对“始终允许”的命令选项采用了更清晰的表述，并且在组织策略允许时，可提供切换到 Bypass 的选项。

* 后台 shell 命令现在会显示为一张带加载动画的单个 exec 卡片，而不是在每次 `get_output` 和 `kill_shell` 轮询时分别显示单独的“Command Read”/“Killing shell”卡片。

* Ctrl+L 现在会像 bash 和其他 shell 一样正确清屏。可见内容会滚动到终端的滚动缓冲区中，因此你仍然可以向上滚动查看。完整重绘 (从头重新渲染所有内容) 现已改为 Ctrl+Shift+L。

* 启动横幅不再显示用户的电子邮件地址。

* 从其他目录恢复会话时，现在会提示你选择使用会话的原始目录、永久切换到当前目录，或仅本次使用当前目录。

* 改进了模型输出的流式视图。

* 已更新启动时的盲文 Logo，以匹配 devin.ai/terminal 上的设计。

### 已修复

* 现在使用 `devin -r` 恢复 Windsurf 会话时，将显示对话历史记录，而不再是空白界面。
* MCP OAuth 自动发现现已支持仅接受 POST 请求的服务器，以及 `.well-known` 路径受 SSO (单点登录) 保护的服务器。
* 现在恢复会话时，会正确还原所选模式 (Plan、Ask、Code) ，而不再默认切回 Code。
* 技能发现不再从技能文件夹内嵌套的配置目录中识别重复技能，从而减少会话开始时的令牌用量。
* Enterprise 账户现已支持 Shell 集成设置 (`devin shell setup`) 。

<div id="2026424-9">
  ## 2026.4.24-9
</div>

### 已修复

* 在将退格键发送为 BS 的终端中，Opt+backspace 不再会插入 'h'。

<div id="2026424-1">
  ## 2026.4.24-1
</div>

<div id="interactive-step-picker-for-revert">
  ### 用于 `/revert` 的交互式步骤选择器
</div>

现在，不带参数的 `/revert` 会打开一个可搜索的交互式选择器，显示所有会话步骤。选择一个步骤即可回退到该步骤。Agent 空闲时，连按两次 Esc 可打开同一个选择器。

### 新增

* 现已全面支持配置为 `"transport": "sse"` (传统 SSE 协议) 的 MCP 服务器。此前，这些服务器会报错并被拒绝；现在会通过传统 SSE 协议连接 (事件流使用 GET，消息使用 POST) 。已存储的 OAuth 令牌会自动注入，401 响应会触发交互式 OAuth 流程。

* 身份验证成功后会发送终端通知 (响铃 + 桌面通知) ，方便你在通过浏览器登录后返回终端。

* `/btw <prompt>` 可利用当前对话上下文向 Agent 快速提出一个顺带问题。回答会流式显示在 Agent 输出下方的框中，不会把这个问题加入主对话，因此你可以在不打断 Agent 当前工作的情况下随时确认进展。

* 新增 `devin cloud drs` 子命令，可直接通过 CLI 管理环境蓝图、沙箱会话和构建。

* 新增首次启动欢迎框，提供终端版 Devin 的入门提示。

* 在执行 `devin setup` 期间新增 Git 提供商连接提示：会检测本地已登录的 `gh` CLI 账户，并提供将其连接到 Devin 的选项，或打开浏览器来设置 GitHub App 或其他提供商。

* 在空提示处输入 `&` 会进入交接模式，这是 `/handoff` 的快捷方式，与 `!` 的 bash 模式用法相对应。

* 输入框中的上下文感知占位文本会根据 Agent 状态提供引导：空闲时提示向 Devin 寻求帮助、工作时建议你给 Devin 更多指引，并说明如何发送排队中的消息。

* 支持通过 MCP 配置中的 `disabledTools` 按服务器禁用单个 MCP 工具。被禁用的工具会对 Agent 隐藏，并在调用时被拒绝。

* 新增 `devin mcp enable` 和 `devin mcp disable` 子命令，无需移除即可切换 MCP 服务器的启用/禁用状态。支持 `--scope` (user、local、project) 。已禁用的服务器会在 `devin mcp list` 中显示 `(disabled)` 标签，并在 `devin mcp get` 中显示状态行。

* 支持需要预先注册 OAuth 客户端的 MCP 服务器 (例如 GitHub) 。可向 `devin mcp add` 和 `devin mcp login` 传递 `--oauth-client-id` (以及可选的 `--oauth-client-secret`) ，或在你的 MCP 配置中设置 `oauthClientId` / `oauthClientSecret`。

* 组织选择现已成为设置向导的一部分。属于多个 Devin 组织的用户会在初始引导期间被提示选择一个；单组织用户则会被自动选定。

* 新增 `/org` 命令，用于在终端中选择 Devin 组织。

* 新增选项：退出计划模式时，可将计划交接给 cloud Devin 会话，适用于使用 Devin 账户登录的用户。

* 新增 `Ctrl+R` 模糊搜索，可将之前的提示插入输入框。

* 在 `config.json` 中新增代理配置部分，用于控制 CLI 如何路由出站 HTTP 流量。可将 `proxy.mode` 设置为 `"system"` (默认) 、`"manual"` 或 `"off"`，为手动模式提供 `proxy.url`，并使用 `proxy.no_proxy` 绕过特定主机。

* 为 16 色终端主题新增 `terminal-light` 和 `terminal-dark` 主题名称。`16color` 和 `terminal-colors` 仍然受支持，以保持与 `terminal-dark` 的向后兼容性。

* `/theme` 现可接受可选主题名称，例如 `/theme dark` 或 `/theme light`。

* 当你在带有 Devin wiki 的 repo 中打开 CLI 时，该 wiki 现在会在后台下载，并在后续会话中提供给 Agent，因此它可以使用 explore 子 Agent 回答项目相关问题。

<div id="changed">
  ### 已更改
</div>

* Browser 身份验证页面已重新设计，用于显示你的电脑与 Devin 之间的连接状态，并与 devin.ai 网站风格保持一致。

* 登录和 API 密钥身份验证标签现在改为使用 Devin 或通用 API 密钥措辞，不再使用旧版仅适用于 Windsurf 的措辞。

* Code 模式现在会自动批准对 workspace 目录中文件的编辑。独立的“Accept Edits”模式已并入 Code；两者在模式选择器中都显示为“Code”，并且当 org 策略允许时，会使用自动批准变体。

* 默认模型现已改为 Adaptive，它会自动将每一轮请求路由到最适合当前任务的模型。你仍然可以使用 `/model` 或在配置中设置 `agent.model` 来选择特定模型。

* Declarative Repo Setup (DRS) 现在是内置的 agent skill，而不再是 `/drs` 斜杠命令。当你询问 environment setup 时，agent 会自动调用它。`devin cloud drs` 子命令仍像以前一样正常工作。

* Shell 命令预览现在使用更清晰的标题，并在预览内容中以带提示符前缀的形式显示命令。

* Cloud handoff 现在会在可展开的部分中发送已收集的终端 context。

* `/handoff` 现在会在所选组织 没有已连接的 git provider 时停止，并提示 user 先运行 `devin setup`，再重试。

* 新的 Devin CLI session 现在使用便于记忆的双词 ID。

* 模型选择器现在会在高亮模型上显示带标签的价格 (例如“$5 / MTok In · $25 / MTok Out”) ，而不是不带标签的美元金额。

* 现在通过交互式选择器切换模型、主题或模式时，斜杠命令 会显示确认消息。

* 已清理 斜杠命令 输出：移除了不必要的颜色，改进了间距，并简化了进度消息。

* 改进了 agent 提问中对自由输入“Other”答案的处理方式。现在，输入的不匹配预定义选项的内容会自动识别为自定义答案。

* `/resume` 现在在未提供 session ID 时运行，会打开交互式 session 选择器。

* Rule 文件现在使用更严格的注入限制，并且当触发的 Rules 超出可用 context 预算时，会切换为仅提供路径的指引。

* 选择提示现在使用中性的高亮行，具有更清晰的对比度，并会一致显示条目描述。

* 统一了工具预览中的动词时态：流式预览现在使用现在进行时 (“Editing file.rs”) ，已完成预览使用过去时 (“Edited file.rs”) 。

* 状态消息 (警告、错误、提示) 现在通过 Alert 组件渲染，并带有正确的图标和适配主题的颜色。

* 为错误消息添加了更明确的标题：“出现了一些问题”、“配额已用尽”、“已达到轮次限制”、“无法打开浏览器”。

* 已将所有面向用户的字符串中的“cancelled”拼写统一为“canceled” (单个 L) 。

* 现已将“连接已丢失，正在重试...”替换“Inference failed mid-stream, retrying...”。

* 无论在深色还是浅色主题中，弱化文本现在都更易于阅读。

* 多项选择题现在使用与其他 CLI 提示相同的选择 UI，包括输入自定义答案。

### 已修复

* `apply_patch` 的文件写入现在会与 `write` 和 `edit` 工具的写入一起显示在 Agent 时间线 / worklog 中。

* 长会话在关闭时现在退出得更快。

* 当文本占满终端宽度时，代码块不再丢失最后一个字符。

* Agent 主动流式传输事件时，输入响应性得到提升。

* 渲染后的 markdown 中，有序列表现在会显示数字标记 (`1.`、`2.`、`3.`) ，而不是项目符号。

* 现在，即使请求配置了 temperature，OpenAI 推理模型也不会再失败。

* 提示历史记录现在可在 Devin 运行期间打开，包括显示补全结果时。

* 待办列表不再会在 Agent 更新完成后消失。

* `/upgrade` 现在会打开 Devin 套餐页面，而不是 Windsurf 定价页面。

* 现在，打开由较新版本 CLI 写入的会话数据库时，会显示清晰的“请运行 `devin update`”提示，而不再是原始的“migration is missing from the filesystem”错误。

* `/handoff` 现在会通过会话配置选项设置 repo，并将会话标记为“Terminal”。

* 模型选择器搜索不再用单个变体替代系列分组。

* 如果后台自动更新会自行安装新版本，则不再显示“Update vX available!”横幅。现在仅在 user 需要手动操作时才会显示 (例如外部托管安装，或自动更新已被禁用时) 。

* 文件和代码片段引用现在会渲染为可读路径，而不是原始的 XML 标签。

<div id="2026417-0">
  ## 2026.4.17-0
</div>

<div id="background-auto-updates">
  ### 后台自动更新
</div>

在 macOS 和 Linux 上，终端版 Devin 运行期间会下载并启用新版本，因此下次启动时会自动使用最新版本。更新过程中中途退出也是安全的，不会导致安装损坏。可在 `config.json` 中将 `"auto_update": false` 设为关闭此功能。

<div id="interactive-config-editor">
  ### 交互式配置编辑器
</div>

`/config` 会在终端中打开一个交互式配置编辑器，支持树状导航、搜索和按类型编辑值。

<div id="handoff-to-cloud-devin">
  ### 通过 `/handoff` 交接给 cloud Devin
</div>

`/handoff` Slash Command 现已正式推出。你可以将 task 交接给远程 Devin session，并通过实时状态更新查看 Agent 当前正在处理的内容。

<div id="searchable-model-picker">
  ### 可搜索的模型选择器
</div>

模型选择器现已支持搜索：输入即可筛选模型，使用方向键导航，并可一眼查看定价信息。

### 已新增

* 支持自适应选择和 model-router 选择，现在会在推理时自动解析为具体模型。

* 在 `devin auth status` 中提供更详细的登录信息：登录方式、用户名和电子邮件、用户 ID、团队 ID、套餐和层级，以及缓存的团队设置。

* 新增托盘面板，列出正在运行的后台 shell。在输入框中按向下箭头即可打开，使用上下方向键导航，并按 `x` 终止选中的 shell。

* 支持由企业配置默认模型。Admin 现在可以通过 Windsurf 或 Devin Enterprise Admin 仪表板，为新 session 设置团队级默认模型。

* 在云 Agent 托盘中新增键盘选择功能：使用方向键选择云 Agent，并按 Enter 在默认浏览器中打开其 session。当无法启动浏览器时，每个条目下方仍会显示 session URL 作为后备方式。

* 现在会强制执行组织的 “Auto run terminal commands” 设置。企业管理员现在可以限制 CLI 用户可用的 permission 模式——例如，当组织策略设置为 “Auto” 或更低时，禁止选择 Bypass 模式。

* 新增一种方式：当 Agent 正忙时，在空输入框中按 Enter 可立即将排队消息发送给 Agent，以便在当前工具调用完成后立刻处理 (且不会中断该调用) 。

* `/handoff` 现在会将本地 git diff 附加到 Devin session 中，使其能够看到未提交的更改。

* 当未配置 org 时，`/handoff` 现在会提供交互式组织选择器，替代此前要求手动编辑配置的报错。

* 新增 `legacy_terminal` 配置选项，用于兼容 VT100 终端，禁用键盘增强探测、OSC 序列和主题自动检测。

* 新增 `disable_osc` 配置选项，用于独立控制 OSC 序列发送 (终端标题和超链接) 。

* 新增 `skip_workspace_trust` 配置选项，用于跳过 workspace trust 提示。

* 在模型选择器中显示按模型区分的令牌定价，展示每百万令牌的输入和输出成本。

* 对于由 server 标记的模型，在模型选择器中显示 NEW、PROMO 和 BETA 徽章。

* 当无法获取按令牌计费的价格时，使用相对成本层级 (Free / \$ / \$\$ / \$\$\$) 作为后备说明。

* 新增 `/rename-session` 斜杠命令，用于重命名当前 session。

* 新增 `/revert <step>` 命令，用于将文件更改撤销回特定 conversation 步骤

* 新增 `/steps` 命令，用于列出 conversation 步骤，以便与 `/fork` 和 `/revert` 搭配使用

* 为 `/fork` 新增可选的 `[step]` 参数，用于从更早的 conversation 节点分支

* Shift+Insert 现在会从剪贴板粘贴，与标准 X11/Linux 粘贴快捷键保持一致。

<div id="changed">
  ### 已更改
</div>

* `/bug` 现在会明确说明该报告会发送给终端版 Devin 的开发者。

* 改进了模型选择器，采用紧凑的单行高度条目、清晰可见的搜索输入框边框，以及更精简的所选模型价格显示。

* 现在对于未知的斜杠命令，会根据相似的命令名称显示“你是不是想输入？”建议。

* `/handoff` 状态行现已改为使用标准的动画旋转指示器和弱化文本样式，替代静态半圆符号和蓝色强调色。

* `/handoff` 现在无需参数即可使用。它会总结当前对话，并交接到远程 Devin 会话以继续任务。

* 切换到不可用权限模式时的错误消息现在会说明 sandbox 模式会限制可用模式，以及该限制是否由组织强制实施。

* 输入框下方的模型名称现在使用默认文本颜色，不再显示为蓝色。

* 登录体验已简化：旋转指示器现在会显示“按 Enter 改为手动粘贴令牌”，而手动令牌流程现在只会输出一行简洁提示，不再是一大段分步骤文本。

* 已从登录旋转指示器中移除“正在使用 Windsurf 登录。如果浏览器未打开...”这段前导提示。

* 计划模式的批准提示现在会显示计划专属选项：“是，实施计划并接受编辑”、“是，实施计划并绕过权限”和“否，计划需要更改”。

* “16-color” 主题已重命名为 “Terminal colors”，以更明确地表示它会继承你的终端模拟器配色方案。

* 会话恢复选择器 (`devin -r`、`devin list`) 现在提供可搜索的键入筛选界面，与模型选择器体验一致。

* 更新了托盘面板，现在始终同时显示 Cloud agents 和 Subagents 选项卡；当某个列表没有条目时，会显示空状态提示，说明另一项功能。

* 子 Agent 和云端 Agent 的托盘面板现在按时间倒序排序，因此最近启动的 Agent 会显示在顶部。

* 始终启用的规则文件 (例如 `AGENTS.md`) 在注入到上下文时，现在每个文件的大小上限为 32 KiB。超出上限的规则会被截断，并附带指向源路径的提示，以便 Agent 按需读取完整文件。

### 已修复

* 来自上游服务器的错误 (如配额耗尽、5xx 响应、连接中断等) 现在会在 REPL 中以易读的警告形式显示，并附带重试提示，而不再是原始的 `Error: …` 文本；同时也会以带类型的原因传递给 ACP 客户端，以便它们按正确的严重级别进行渲染。

* 现在会遵循在 Windsurf 内运行的终端版 Devin 中用户的 `deny` / `allow` / `ask` 权限规则 (包括 `Read(...)` 和 `Write(...)`) ，与独立 CLI 的行为一致。

* 使用自适应模型时，不再会在每一轮都触发不必要的压缩。

* 恢复会话时，Logo 现在会显示在会话历史上方，与新会话的布局一致。

* Windows 上的 `/add-dir` 不再会弄乱包含反斜杠的路径。`D:\Source\Project` 和 `..\Project` 这两种形式现在都能正常工作。

* 在终端宽度较窄时，启动横幅文本的续行现在也能正确对齐。

* 询问当前日期时，星期几现在会正确显示。

* 如果复合 shell 命令中包含你在 CLI 权限中已拒绝的命令，这些命令现在会被拦截。

* 修复了已选中/高亮的 UI 元素 (如活动的问题选项卡、选中的图片附件和选中的子 Agent) 与未高亮文本使用相同文字颜色、导致难以区分的问题。

* 配置了 `"transport": "sse"` 的 MCP 服务器现在会明确报错，说明不支持旧版 SSE，而不是静默地通过错误的 transport 连接。

* 启用沙箱时，自主模式下不再出现针对 shell 命令的不必要权限提示。

* 现在已在文档和 `devin skills paths` 输出中澄清：在 Windows 上，全局 skills 位于 `%APPDATA%\devin\skills\`，而不是 `~/.config/devin/skills/`。

* 光标定位现在使用与 VT100 兼容的序列 (CR + CUF) ，而不是并非所有终端都支持的 CHA。

* 提示和旋转指示符现在会遵循 ASCII 模式设置。

* 修复了浏览器登录页面：只有在实际完成登录后才会显示“Authentication Successful”，否则会显示失败页面。

* 无法识别的斜杠命令现在会显示错误，而不是被发送给模型。

* 在 Linux 上缺少 `socat` 时，现在会显示包含安装指引的明确错误信息，而不是静默失败。

* 同一轮中的文件编辑不再偶尔互相覆盖。

<div id="202649-0">
  ## 2026.4.9-0
</div>

<div id="read-only-tools-allowed-by-default">
  ### 默认允许使用只读工具
</div>

只读工具调用 (文件读取、grep、glob、thinking) 现在默认始终允许，不再弹出权限提示。用户、项目和组织中已配置的拒绝规则仍然会优先生效，因此你仍然可以限制对敏感路径的读取。

<div id="devinhooksv1json-support">
  ### 支持 `.devin/hooks.v1.json`
</div>

使用与 Claude Code hooks 相同的格式，在独立的 `.devin/hooks.v1.json` 文件中定义命令执行前后的钩子。

<div id="devin-mcp-add-overhaul">
  ### `devin mcp add` 调整更新
</div>

`devin mcp add` 现已与 Claude Code 的语法保持一致：采用位置 URL 参数 (例如 `devin mcp add notion https://mcp.notion.com/mcp`) 、根据 `--url` (HTTP) 或末尾参数 (stdio) 推断传输方式、默认作用域从 `user` 改为 `local` (写入 `.devin/config.local.json`，并被 git 忽略) ，以及新增短选项 (`-t`、`-s`、`-e`、`-H`) 。

<div id="agent-mode-and-permission-mode-separation">
  ### Agent 模式与权限模式分离
</div>

Agent Profile (普通、规划、询问) 与权限模式 (普通、接受编辑、绕过、自主) 现已拆分为两个独立的控制项。可通过 `/plan`、`/ask`、`/normal` 这些斜杠命令切换 Profile。`/plan <prompt>` 会切换到规划模式，并在一步内立即发送该提示。可使用 Shift+Tab 或 `/mode` 轮换切换权限模式。

<div id="live-streaming-tool-previews">
  ### 实时流式工具预览
</div>

现在，工具调用会在参数流入时立即显示，呈现结构化的标题和内容 (编辑显示 diff，写入显示代码块，exec 显示命令) ，无需等待完整请求。

<div id="terminal-notifications">
  ### 终端通知
</div>

CLI 现在会在 Agent 完成任务、需要输入，或请求批准使用工具时发送终端通知。在受支持的终端模拟器中，这会触发程序坞角标和通知横幅。可通过 `notify` 配置选项控制：`"never"`、`"smart"` (默认，仅在未聚焦时) 或 `"always"`。

<div id="added">
  ### 已添加
</div>

* 连接到声明支持 elicitation 能力的 ACP 客户端时，新增了结构化表单输入支持。

* 为 ACP 工具调用事件新增了推理工具名称元数据，以便 ACP 客户端能够按工具决定展示方式 (例如，对内部工具隐藏参数面板) 。

* 在 stable 和 next 版本中启用了 `devin acp` 子命令，因此任何已发布的终端版 Devin 构建都可由支持 ACP 的编辑器作为 Agent Client Protocol 服务器启动。

* 为 ACP 客户端 (例如 JetBrains) 新增了 `/ask`、`/compact`、`/context` 和 `/undo-add-dir` 斜杠命令。

* 扩展了 ACP 会话中的 `/help` 输出，以列出所有内置命令和已发现的 skills。

* 在 Windsurf UI 中显示子 Agent 活动和生命周期事件。

* 使页脚中的 “Mode:” 和 “Model:” 标签可点击，以打开各自的选择菜单

* 为选择菜单新增鼠标支持：点击选择、滚轮导航、悬停高亮

* 为 `/continue` 和 `/rm-session` 命令新增自动补全，显示最近会话的 ID 前缀、距今时间和标题。

* 为 `devin update` 和 `/update` 新增 `--force` 标志，即使当前已是最新版本也会强制重新安装。

* 为 MCP 服务器新增交互式 OAuth 支持——当 MCP 服务器需要身份验证时，会自动打开浏览器，并在 REPL 中显示状态消息。

* 将 `/new` 作为 `/clear` 的别名，用于开始新的会话。

* 在输入框顶部边框显示当前生效的权限级别。

* 可通过 `Alt+↑`/`Alt+↓` 和 `/feedback` 对 Agent 响应提供赞/踩反馈。

* 新增 `respect_gitignore` 配置选项，用于控制 Agent 通过工具访问文件时是否遵循 `.gitignore` (默认：关闭) 。它与 `include_gitignored_files` 分开，后者仅影响 `@` 选项卡补全。

* 将 `/resume` 作为 `/ls` 的别名 (列出最近会话) 。

* 当子 Agent 完成时，在展开视图 (Ctrl+O) 中显示子 Agent 提示。

* 在等待前台子 Agent 或 `read_subagent` 调用期间，实时流式显示子 Agent 的 actions。

* 新增 `/session-stats` 命令，用于显示累计会话统计信息 (工具调用、变更文件、运行的命令、令牌、模型、请求 ID) 。

<div id="changed">
  ### 已更改
</div>

* 更改了通过 ACP 更新工作区目录的方式，改为使用替换语义，从而可通过配置选项移除目录。

* 将 `/ask <question>` 改为与 REPL 行为一致的一次性命令：临时切换到 Ask 模式，提交问题，然后恢复到之前的模式。

* 在 Windsurf 中直接在输出面板显示诊断日志，让会话故障排查更加轻松。

* 将相关的 Agent 问题整合到一个分页表单中展示，而不是一次只显示一个。

* 改进了 Plan 模式退出审批，提供了专门的审核 UI，用于显示计划摘要和上下文相关的按钮标签。

* 改进了 Windsurf hook 脚本，使其可通过 stdin 接收更丰富的工具信息，包括编辑详情、MCP 工具结果和助手响应

* `devin mcp add` 在常见的 stdio 场景下不再要求 `--transport` 或 `--command` —— 会根据 `--url` (HTTP) 或尾随参数 (stdio) 推断 transport；当省略 `--command` 时，第一个尾随参数会作为 command

* `/mode` 现在会打开交互式下拉选择器 (类似 `/model`) ，而不是打印静态列表。使用方向键导航，按 Enter 确认，按 Esc 取消。

* `-p`/`--print` 现在接受可选的内联提示，因此 `devin -p "fix the bug"` 无需 `--` 分隔符也能正常工作。旧语法 `devin -p -- fix the bug` 仍然可用。

* 已将命令权限提示中的“always allow”标签缩短为“始终允许在 `<workspace>` 中执行 `<cmd>` 命令”，其中 `<workspace>` 仅为工作区目录路径的最后一段，因此当工作区路径较长时，不再会在窄终端或 ACP 客户端 UI 中溢出。

* `/mode` 现在会打开交互式下拉选择器 (类似 `/model`) ，而不是打印静态列表。使用方向键导航，按 Enter 确认，按 Esc 取消。

* Plan 模式退出审批现在提供专门的审核 UI，用于显示计划摘要和上下文相关的按钮标签。

* 已从启动 logo 中移除品牌色，使其使用终端默认前景色。

* 截断提示现在包含“ (ctrl+o 以展开) ”说明。

* 在 Windsurf 中将模式和权限选择器合并为统一的模式选择器。现在可用的模式为 Code、Ask、Plan、Accept Edits 和 Bypass Permissions。

* 每个 Devin CLI channel 现在都会从 `~/.codeium/` 下对应的 channel 专属目录中读取 Windsurf 配置 (MCP 服务器、skills)

### 已修复

* 修复了 ACP 会话必须使用主机提供的凭据的问题，不再静默回退到本地 CLI 凭据，从而确保用量正确归属到对应账户。

* 在 ACP 聊天 UI 中保留流式 shell 命令输出，使其在命令完成后仍然可见，并在旁边显示退出码，而不是直接替换输出内容。

* 从权限提示中选择“switch to accept edits”后，会话模式选择器现在会立即更新。

* 在 Windsurf 中跳过工具调用不再导致 Agent 停止——LLM 现在能看到该拒绝并尝试其他方案

* Windsurf 中的工具失败消息现在会显示具体错误原因，而不再只是没有任何说明的“Failed”。

* 修复了 `/add-dir` 和 `/undo-add-dir` 无法处理包含空格的目录路径的问题。斜杠命令参数现在按 shell 风格引号解析 (例如 `/add-dir "my dir"` 或 `/add-dir my\ dir`) ，并且选项卡补全会自动转义目录名中的空格。

* 修复了 ASCII 模式启动横幅的行距过大问题。

* 长时间运行的 shell 命令 (如开发服务器) 现在可以可靠启动，不会阻塞后续工作。

* 修复了 bypass 模式因权限作用域错误，未能自动批准 MCP `read_resource`、computer use、recording 和 browser 工具的问题。

* 修复了 autonomous 模式会静默自动批准在 OS 沙箱外运行的隐私敏感工具 (computer use、recording、browser) 的问题。

* 修复了截图目录为相对路径时，browser 截图路径授权不匹配的问题。

* 修复了删除宽字符 (CJK/emoji) 相邻字符时出现的显示损坏问题。

* 修复了在 git 仓库外运行时，命令权限的“始终允许”无法静默持久保存的问题。

* 改进了当终端背景与所选颜色主题不匹配时的文本可见性。

* 修复了目录补全菜单中的字母排序问题，使较短的目录名排在具有相同前缀的较长目录名前面 (例如，`devin/` 现在会正确显示在 `devin-docs/` 之前) 。

* 长时间终端会话中即使有大量滚动回看内容，shell 命令输出也不再丢失。

* 修复了重新打开已保存会话时，注入的 lint 诊断显示为伪造用户消息的问题。

* 修复了 Agent 在代码编辑后不会自动审查并修复检测到的 lint 错误的问题。

* 改进了 lint 错误展示，提供更详细的信息，包括严重级别、来源和精确位置。

* 增加了 lint 修复注入次数的安全上限，以防 lint 无法修复时陷入无限循环。

* 通过不同的指令文本区分新的和持续存在的 lint 错误，帮助 Agent 理解哪些 lint 之前已经见过。

* ANSI 颜色转义码不再写入日志文件或管道 stdout/stderr。彩色输出现在仅在真实终端中启用，并遵循 `NO_COLOR` 环境变量。

* 恢复会话时，模式现在会被正确还原。

* 会话恢复后，即使经过多轮压缩，也不再丢失早期对话消息。

* 权限模式不再在会话中途意外重置。

* sandbox 会话在退出 plan 模式时，不再从 autonomous 模式退回 normal 模式。

* 在 replay UI 中重新加载会话后，代码 diff 和其他富工具调用内容不再从 edit/write 工具调用中消失。

* `shell run` 退出后不再让终端处于异常状态。

* 修复了企业代理或防火墙在会话中途重置网络连接时导致的静默崩溃问题。

* 即使网络连接缓慢或卡住，Ctrl+C 现在也能快速退出。

* 权限提示中的 session 和 始终允许 选项现在也能正确应用于同时写入文件的终端命令。

* 当模型跳过 `ThinkingComplete` 事件时，thinking 输出现在始终会先于内容渲染

* 格式错误的工具调用报错信息现在会指出具体字段及预期的值类型。

* Windows 在初始设置期间不再显示两次身份验证提示。

* Windows 安装程序现在会将文件放到正确的目录中，从而让 PATH 正确解析。

* Windows 配置文件位置现已明确说明为 `%APPDATA%\devin\config.json`，而不是 `~/.config/devin/config.json`。

* Grep 现在会搜索 `.env` 和 `.github/` 等隐藏文件，与 `rg --hidden` 的行为一致。`.git/` 目录仍会被排除。

* 大图片 (超过 5 MB) 不再发送失败。

* 会话中断或取消后，本地 shell 命令不再继续在后台运行。

* 恢复会话时会保留富提及渲染 (例如 `@README.md` 标签) ，而不是显示原始 markdown 文本。

<div id="removed">
  ### 已移除
</div>

* 已移除 REPL 中的超额状态提示横幅
* REPL 的滚动历史记录中不再显示“Thought for Xs”时长。

<div id="202641-4">
  ## 2026.4.1-4
</div>

<div id="removed">
  ### 已移除
</div>

* 不再显示 REPL 内的超额状态提示横幅。

<div id="202641-3">
  ## 2026.4.1-3
</div>

### 新增

* 当你的账户处于超额使用状态时会发出警告，让你知道相关请求会计入你的团队预付余额。
* 新增 `/usage` 命令，用于显示当前会话期间消耗的 Windsurf 积分和 ACU。

<div id="202641-2">
  ## 2026.4.1-2
</div>

### 已修复

* 安装程序现在支持已存在的 `~/.local/bin/devin` 符号链接 (其指向旧版 `~/.local/share/cognition/cli/...` 路径) ，并会在 cognition 到 devin 迁移后正确更新这些链接。

<div id="202641-1">
  ## 2026.4.1-1
</div>

### 已修复

* 删除紧邻宽字符 (CJK/emoji) 的字符时，不再出现显示异常。

<div id="202641-0">
  ## 2026.4.1-0
</div>

<div id="added">
  ### 已添加
</div>

* 在 Windsurf UI 中显示子 Agent 的活动和生命周期事件。

* 页脚中的 “Mode:” 和 “Model:” 标签现可点击，以打开对应的选择器菜单。

* 选择器菜单现支持鼠标操作：点击选择、滚轮导航、悬停高亮。

* `/continue` 和 `/rm-session` 命令现支持自动补全，可显示最近会话的 ID 前缀、距今时间和标题。

* 为 `devin update` 和 `/update` 新增 `--force` 标志，即使已是最新版本，也会强制重新安装。

* 新增对从 `.devin/hooks.v1.json` 读取 钩子 的支持；这是一个独立的 钩子 文件，格式与 Claude Code 钩子 相同。

* 子 Agent 完成时，可在展开视图 (Ctrl+O) 中查看子 Agent 提示。

* 在等待前台子 Agent 或 `read_subagent` 调用期间，会在实时显示中流式展示子 Agent 的操作。

* 新增 `notify` 配置项，用于控制 Agent 在完成任务、需要输入或请求工具批准时是否发送终端通知。可设置为 `"never"`、`"smart"` (默认) 或 `"always"`。在 `smart` 模式下，仅当终端窗口未聚焦时才会发送通知。在受支持的终端模拟器中，会触发 dock 徽章和通知横幅。

<div id="changed">
  ### 已更改
</div>

* `devin mcp add` 在常见的 stdio 场景下不再需要 `--transport` 或 `--command` —— `transport` 会根据 `--url` (HTTP) 或末尾参数 (stdio) 自动推断；如果省略 `--command`，则会将第一个末尾参数用作命令

* `/mode` 现在会打开交互式下拉选择器 (类似 `/model`) ，而不是输出静态列表。使用方向键导航，按 Enter 确认，按 Esc 取消。

* `-p`/`--print` 现在支持可选的内联提示，因此 `devin -p "fix the bug"` 无需 `--` 分隔符也可使用。旧的 `devin -p -- fix the bug` 语法仍然有效。

* 已为截断通知添加“ (ctrl+o 以展开) ”提示，方便用户查看完整输出。

### 已修复

* 在 Windsurf 中跳过工具调用不再会导致 Agent 停止——现在 LLM 会感知到该调用被拒绝，并尝试其他方案

* 现在，Windsurf 中的工具失败消息会显示具体错误原因，不再只是没有任何说明的“Failed”。

* `/add-dir` 和 `/undo-add-dir` 现已支持处理包含空格的目录路径。Slash Command 参数现在按 shell 风格引号进行解析 (例如 `/add-dir "my dir"` 或 `/add-dir my\ dir`) ，选项卡补全也会自动转义目录名中的空格。

* 即使在 git 代码仓库之外运行，命令权限中的“始终允许”现在也能正确持久化。

* 当终端背景与所选颜色主题不匹配时，文本的可见性有所改善。

* 目录补全菜单中的字母排序现在会正确地将具有相同前缀的较短名称排在较长名称之前 (例如 `devin/` 会排在 `devin-docs/` 前面) 。

* 恢复会话时，现在能够正确还原模式。

* 当企业代理或防火墙在会话中途重置网络连接时，不再会发生静默崩溃。

* 当模型跳过 `ThinkingComplete` 事件时，思考输出现在始终会在内容之前渲染。

* 已修复 Windows 上初始设置期间重复弹出身份验证提示的问题。

* 已修复 Windows 安装程序将文件放到错误目录，导致 PATH 指向错误位置的问题

* 已修复大图片 (超过 5 MB) 发送失败的问题。

<div id="2026320-2">
  ## 2026.3.20-2
</div>

### 新增

* 添加 `16color` 和 `nocolor` 主题模式。`16color` 会将输出量化为 16 色 ANSI 调色板 (遵循终端配色方案) 。`nocolor` 会为 VT100 和其他单色终端禁用所有彩色输出。

* 支持多根工作区，可在会话工作目录之外添加更多目录。

* 添加 `/workspace` 和 `/add-dir` 斜杠命令，用于在运行时列出和添加工作区目录。

* 添加 `workspace-dirs` 配置选项，用于以编程方式设置工作区目录。

* 添加 Ask 模式 (`/ask`) ，用于只读问答，不会产生代码修改

* 添加 `/bug` 斜杠命令，用于从 stdio 服务器提交 bug 报告

* 在 Windows Conhost 中运行时持续显示警告横幅，建议使用 Windows Terminal 或 Git Bash 以获得更好的体验。

* `Ctrl+Left` 和 `Ctrl+Right` 现在会在单词之间跳转，与标准 Linux 和 Windows 终端行为一致。`Ctrl+Backspace` 和 `Ctrl+Delete` 分别向后和向前删除单词。

* 添加自定义子 Agent Profile：可通过项目 `agents/` 目录中的 `AGENT.md` 文件定义专用子 Agent，并为其设置各自的系统提示、工具和模型 (实验性)

* 为技能添加 `subagent` 和 `agent` frontmatter 字段，使技能能够作为独立子 Agent 运行，而不是以内联方式运行 (实验性)

* 添加 `include_gitignored_files` 配置选项，以在 @ 选项卡补全结果中包含被 Git 忽略的文件 (默认：关闭)

* 添加 `/undo-add-dir` 命令，用于从工作区中移除目录。

* 添加 `/rm-session` 命令，用于删除会话。

* 添加了 `request_scope` 工具，用于在沙箱模式下运行时请求目录的读写访问权限

* 添加了沙箱模式系统提示，告知 Agent 沙箱限制以及如何请求额外访问权限

* `--sandbox` 标志和 `devin sandbox setup` 命令现已在所有构建渠道中可用 (此前仅限 insiders)

* 添加 `unicode_mode` 配置选项 (`auto`/`unicode`/`ascii`) ，用于不支持 Unicode 字形的终端

* 添加 `devin version` 子命令，作为 `devin --version` 的别名

<div id="changed">
  ### 已更改
</div>

* 在 bug 报告详情中包含当前启用的界面模式
* 将所有配置、数据和缓存目录从 `~/.config/cognition/`、`~/.local/share/cognition/` 和 `~/.cache/cognition/` 迁移到 `devin/`。系统会在每个旧路径创建一个向后兼容的符号链接，以便旧 sessions 继续正常工作。
* 将项目级配置目录从 `.cognition/` 重命名为 `.devin/`。为保持向后兼容，现有的 `.cognition/` 目录仍会被读取 (同时显示弃用警告) 。

### 已修复

* CLI 现在会加载在 `.claude/settings.json` 中定义的 钩子 (包括项目级和全局的 `~/.claude/settings.json`)

* 在将 Cmd+V 识别为按键事件的终端中，Cmd+V 现在会触发剪贴板粘贴 (例如粘贴图片等非文本数据时)

* 修复了将 CLI 输出通过管道传给会提前关闭的命令时触发 panic 的问题 (例如 `devin -p "..." | head`) 。

* 修复了流式传输期间 Agent 因错误停止时，部分输出 (thinking 和 content) 被静默丢弃的问题

* 修复了文件扩展名与实际图片格式不匹配时图片上传失败的问题 (例如将 JPEG 保存为 `.png`) 。现在会根据图片内容检测 MIME 类型，而不是信任调用方提供的值。

* 修复了 `devin mcp login` 在连接仅允许 `/auth/callback` 作为 OAuth 重定向路径的服务器 (例如 Glean) 时失败的问题

* 修复了粘贴超长单行文本 (例如 JSON 块、base64 字符串) 时 CLI 卡死的问题：现在会折叠超过 5,000 个字符的粘贴内容

* skills 现在会显示其真实来源路径 (例如 `.agents/skills/`) ，而不再总是显示 `.devin/skills/`

* 修复了在 `/bug` 等 Slash Command 提示中粘贴文本 (Ctrl+V / bracketed paste) 时的问题

* 现在会遵循 MCP 服务器配置中的 `disabled: true` 标志，因此在 Windsurf、Claude 或 Devin 配置文件中标记为 disabled 的服务器将不再被加载

<div id="2026317-3">
  ## 2026.3.17-3
</div>

### 已修复

* 除了旧版的 `~/.config/cognition/` 和 `.cognition/` 路径外，现在还会按文档说明从 `~/.config/devin/` 和 `.devin/` 目录加载 skills 和 Agent。

<div id="2026316-0">
  ## 2026.3.16-0
</div>

### 已新增

* 新增自动生成描述性会话标题的功能。
* 新增 `CHISEL_LOG_STDERR` 环境变量，用于将日志输出定向到 stderr
* 在 Windows 和 macOS 上新增 PAC (代理自动配置) 支持。CLI 现会遵循系统级 PAC 设置和 WPAD 自动检测，无需手动配置环境变量，即可通过正确的代理路由流量。
* 新增 `!<command>` 语法，可直接从 REPL 运行 shell 命令。输出会实时流式显示，并自动添加到对话上下文中，供你发送下一条消息时使用。输入 `!` 会进入 bash 模式，并显示专用的提示和标题指示。使用 Ctrl+C 可取消正在运行的命令。
* CLI 启动时，会在产品信息旁显示 Devin 标志。

### 变更

* `/bug` 命令现在会自动在 bug 报告中包含终端环境信息 (`TERM_PROGRAM`、`TERM_PROGRAM_VERSION`、`TERM`) 。
* 将权限提示的默认选项从“是，始终允许”改回“是” (仅此次批准)

### 已修复

* 修复在 Windsurf 中运行时，“始终允许”权限无法在多次工具调用之间保留的问题

* 修复在 Windsurf 中运行时，企业团队强制执行的权限规则未生效的问题

* 修复 `Co-Authored-By` commit 尾注错误地使用了 `noreply@cognition.ai`，而不是正确的 GitHub App 机器人邮箱的问题

* 修复权限建议将文件路径包含在命令前缀中的问题
  (例如，`allow cat foo/bar/baz.txt` 现在会正确显示为 `allow cat`) 。

* 修复推理在流式处理中途失败并重试时，重复出现“Context compacted”通知的问题

* 修复当编辑位置不在文件开头时，编辑工具报告的起始/结束行号存在偏移 1 的错误

* 修复重启后无法识别“始终允许 fetches to”权限的问题

* `mcp_list_tools` 现在会为每个工具包含 `input_schema`，这样 Agent 无需先触发工具调用错误，也能发现参数要求。

* 修复 `devin mcp login` 在使用 RFC 8414 OAuth 发现机制而非 RFC 9728 的服务器上失败的问题 (例如 Atlassian)

* 修复粘贴以 `#` 开头的文本 (例如 Markdown 标题) 时，内容被静默丢弃的问题。

* 修复主 session 仍在运行时，子 Agent 完成后加载指示器消失的问题

* 修复启动横幅中的布局偏移问题：账户信息加载后，文本会发生跳动

* 修复在 `TERM=dumb` 的无头环境中，终端输出开头出现多余 `<` 字符的问题

* 修复 thoughts 中缺少空格的问题。

* 允许在 `ask_user_question` 中使用较长的问题标头，而不是直接拒绝；超过 16 个字符的标头现在会在显示时截断并添加省略号 (…)

* 通过静态链接 C 运行时，修复 Windows ARM 上缺少 DLL 的错误

<div id="removed">
  ### 已移除
</div>

* 已移除“正在从……加载配置”的启动提示。从 Cursor、Windsurf 和 Claude Code 导入配置的功能仍可正常使用，只是不再显示这条提示。

<div id="202639-0">
  ## 2026.3.9-0
</div>

### 新增

* 添加 `show_path` 配置选项，在输入框边框中显示当前工作目录
