---
url: /wave-agent/specs/ui/prompt-templates.md
description: 空态页「快捷方式」区：12 个开发场景分类 → 该分类的提示词模板，点模板整段填入输入框
---

# 功能规格说明：提示词模板（快捷方式）

**创建日期**：2026-09-15

## 用户场景与测试 *（必填）*

### 用户故事：从场景分类挑一条提示词开始对话（优先级：P1）

作为第一次打开对话的用户，我希望在字标下方直接看到按开发场景分好类的提示词模板，点一下就填进输入框，以便不用先想清楚该怎么描述需求，也能开出一个结构完整的请求。

**为什么是这个优先级**：CodeWave IDE 的能力很大程度取决于如何向它提问。新用户面对空输入框最容易卡在「第一句话写什么」，这一步不解决，后面的能力都用不上。

**独立测试**：打开一个新会话（空态），点「功能开发」→ 点「测试驱动开发」，验证输入框里出现该模板全文（含 `[功能描述]` 占位符）。

**验收场景**：

1. **假设**当前会话没有任何消息（空态），**则**输入卡片上方的字标下方展示「快捷方式」区，一级为 12 个分类：项目初始化、功能开发、代码调试与优化、测试相关、前端开发、后端开发、文档编写、Git工作流、项目管理、代码分析、环境配置、高级技巧。
2. **假设**当前会话已有对话内容，**则**不展示「快捷方式」区（它是「第一次怎么开口」的入口，常驻会挤掉消息区高度）。
3. **假设**处于一级分类列表，**当**用户点击某个分类，**则**这一行整体替换为该分类的二级内容：最左侧是返回胶囊（显示当前分类名）+ 分隔竖线 + 该分类下的模板按钮；一级分类不再显示。
4. **假设**处于二级内容，**当**用户点击返回胶囊，**则**回到一级 12 个分类，分类状态清空。
5. **假设**处于二级内容，**当**用户点击某个模板按钮，**则**该模板全文整段填入输入框（替换输入框原有内容），输入框获得焦点、光标置于末尾。
6. **假设**模板里含 `[方括号]` 占位符，**则**填入输入框后占位符原样保留，由用户自行改写。
7. **假设**用户在分类层级间切换，**则**「快捷方式」区高度不变，下方输入卡片不发生位移。
8. **假设**同一分类下有多个模板，**则**全部平铺展示（不折叠、不分页）。

***

### 用户故事：桌面端与插件端共用同一套模板（优先级：P2）

作为同时在桌面端与 VS Code / JetBrains 插件里工作的用户，我希望三端看到同一份模板清单，以便我在任一端积累的用法在另一端同样可用。

**验收场景**：

1. **假设**使用桌面端、VS Code 插件或 JetBrains 插件，**则**「快捷方式」区的分类与模板清单完全一致（同一份前端常量，不按宿主分叉）。

***

### 边界情况

* **输入框里已经有草稿怎么办？** 点模板是整段替换（与设置页「新建/编辑」预填同一语义）；草稿内容不做保留与二次确认。
* **模板清单由谁下发？** 纯前端常量（`packages/webview/src/utils/quickStartTemplates.ts`），服务端与宿主都不参与。
* **窄窗口怎么排？** 分类按整行换行，不出现横向滚动。
