# 2026-06-13 终端快捷命令发送时自动追加回车修复 ## 摘要 修复自定义快捷命令点击执行后未自动回车、命令悬停在输入行的问题。 ## 动机 设置页文案为「命令内容(发送时自动追加回车)」,但保存时在 `cmd` 末尾追加 `\r` 后,`useTerminalQuickCommands.create/update` 的 `cmd.trim()` 会把 `\r` 当作空白剥掉,导致入库命令无回车;终端 `execQuickCmd` 又原样发送,表现为快捷命令不执行。 ## 变更 - `formatQuickCmdForSend()`:执行时统一追加 `\r`(与命令栏 `sendCmd` 一致),对已含 `\r`/`\n` 的命令幂等。 - `execQuickCmd`:发送前经 `formatQuickCmdForSend` 处理。 - 设置页保存:仅存 trimmed 命令正文,不再在保存阶段追加 `\r`。 ## 涉及文件 - `frontend/src/composables/useTerminalQuickCommands.ts` - `frontend/src/composables/terminal/useTerminalSessions.ts` - `frontend/src/components/TerminalQuickCommandsSettings.vue` ## 迁移 / 重启 - 仅前端:重新 `vite build` 并部署 `web/app/`。 - 已有 DB 中带 `\r` 的内置/历史命令不受影响(发送时去尾后再追加一次 `\r`)。 ## 验证 1. 设置 → 终端快捷命令:添加 `echo hello`,保存后在终端页点击执行,应出现 `hello` 输出并回到新提示符。 2. 内置命令(如「磁盘使用」)仍可一键执行。