# 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. 内置命令（如「磁盘使用」）仍可一键执行。
