Files
2026-07-16 18:04:37 +08:00

30 lines
1.6 KiB
Markdown

# 修复输入框快捷指令触发与发送
## 背景
输入框目前把所有以 `/` 开头的内容都当成内置命令。用户输入文件路径或其他未知 slash 文本时,系统虽显示“未知指令”,但原消息不会发送。同时,快捷选择中的 `/` 只在整段输入第一个字符生效,与 `@`、`$` 的 token 触发规则不一致。
## 需求
1. 已知内置 slash 命令继续走现有命令处理链路,不显示普通用户气泡。
2. 未知 `/` 文本仍显示“未知指令”提示,但必须继续按普通消息发送给当前代理,并正常显示用户消息。
3. 未知 `/` 文本按普通消息处理附件,不应被“命令消息不支持附件”拦截。
4. `/` 快捷选择允许在行首或空白后触发,与 `@`、`$` 保持一致。
5. token 内部的 `/`(如 `src/foo`)不应触发快捷选择;换行后的行首或空白后 `/` 应可触发。
6. 保持现有 MCP、skill、prompt 建议来源与插入语义不变。
## 验收标准
- 输入 `/report/mcps?search` 时会看到未知指令提示,同时该文本作为普通消息发送。
- 输入 `请查看 /rep` 且光标位于末尾时,显示 `/` 建议菜单。
- 输入 `src/foo` 时不显示 `/` 建议菜单。
- `@`、`$` 的触发行为保持不变。
- `/help`、`/model`、`/mode` 等内置命令行为保持不变。
- 回归测试覆盖未知 slash 放行、触发边界和已知命令保留,并全部通过。
## 非目标
- 不新增手动 MCP 参数表单。
- 不重做输入框视觉样式。
- 不调整 slash 命令集合或服务器能力注入方式。