# Web 界面与网关功能映射草案

> 说明：本草案用于把“Web 界面与网关”分类中的功能点，与当前源码中的用户可见行为建立对应关系，作为后续正式用户手册拆分的依据。
>
> 取证范围：
>
> - `src/jarvis/jarvis_web_gateway/cli.py`
> - `src/jarvis/jarvis_web_gateway/app.py`
> - `src/jarvis/jarvis_web_gateway/agent_manager.py`
> - `src/jarvis/jarvis_web_gateway/terminal_session_manager.py`
> - `frontend/src/App.vue`
>
> 编写约束：
>
> - 面向用户描述，不暴露函数名、内部调用链、类名等实现细节。
> - 仅记录已从源码中确认的行为，不补充猜测性能力。

## 分类范围

根据功能清单，本分类聚焦以下能力：

- Web Gateway 启动与连接
- 登录认证与连接控制
- Agent 列表、创建、复制、重命名、删除、切换
- Web 端消息展示、输入、确认、人工介入
- 会话恢复与历史记录
- 独立终端与执行终端展示
- 文件树、目录选择、在线编辑器
- 补全、设置与连接参数

---

## 1. 启动与连接入口

### 1.1 启动 Web Gateway 服务

- **用户可见行为**：可通过命令行启动一个本地 Web Gateway 服务，并指定监听地址与端口。
- **操作入口**：命令行支持传入地址、端口、可选密码。
- **效果**：启动时会在终端打印当前地址、端口，以及是否已设置密码。
- **限制/注意事项**：未设置密码时，不启用密码认证；是否最终需要认证还受网关配置影响。
- **源码依据摘要**：CLI 暴露启动命令；启动时打印监听信息并调用 Web 服务启动入口。

### 1.2 通过浏览器连接网关

- **用户可见行为**：前端首次打开会显示连接弹窗，要求填写网关地址，可选填写密码。
- **支持格式**：
  - `127.0.0.1:8000`
  - `example.com:8000`
  - 完整 URL（含协议）
- **效果**：连接成功后关闭弹窗，显示在线状态，并记住最近一次网关地址。
- **源码依据摘要**：前端提供连接弹窗、地址解析、自动推断 HTTP/WS 协议、连接成功后保存地址到本地存储。

### 1.3 在线/离线状态展示

- **用户可见行为**：界面顶部显示连接状态，如“连接中 / 已连接 / 未连接”。
- **效果**：用户可以直观看到当前是否已连上 Gateway。
- **源码依据摘要**：前端基于当前连接状态生成顶部文案与状态点样式。

---

## 2. 登录认证与连接控制

### 2.1 使用密码登录获取访问凭证

- **用户可见行为**：如果网关启用了密码，用户可在连接前输入密码完成登录。
- **效果**：登录成功后，后续接口与连接使用凭证访问；密码会在成功后从界面输入框中清空。
- **限制/注意事项**：凭证有效期与网关进程生命周期绑定，网关重启后需要重新登录。
- **源码依据摘要**：后端提供登录接口，校验密码后返回访问凭证；前端登录成功后仅在内存中保存凭证并清空密码。

### 2.2 接口与连接统一鉴权

- **用户可见行为**：创建 Agent、查看列表、读取文件、终端管理等操作都依赖已登录的访问凭证。
- **效果**：未登录或凭证无效时，请求会失败，前端无法正常拉取数据或操作资源。
- **源码依据摘要**：后端对主要 HTTP API 增加鉴权依赖，并支持 WebSocket 在建立连接时或连接后发送认证信息。

### 2.3 连接锁定模式

- **用户可见行为**：设置中可开启“锁定连接（拒绝新连接）”。
- **效果**：
  - 开启后：已有活动连接时，新连接会被拒绝。
  - 关闭后：新连接会替换旧连接。
- **注意事项**：此设置会保存在浏览器本地，下次打开页面可沿用。
- **源码依据摘要**：前端提供开关并保存到本地；网关在连接建立时按该设置决定拒绝新连接还是替换旧连接。

### 2.4 认证失败与连接被拒绝提示

- **用户可见行为**：如果密码错误、凭证无效或连接被拒绝，会重新看到连接弹窗并显示错误信息。
- **效果**：用户可以立即修正密码或重新尝试连接。
- **源码依据摘要**：网关通过错误消息返回认证失败/连接拒绝信息；前端收到后显示错误并重新打开连接弹窗。

---

## 3. Agent 列表与生命周期管理

### 3.1 查看 Agent 列表

- **用户可见行为**：左侧边栏展示所有 Agent，包含名称/类型、状态、工作目录、模型组、是否启用 worktree 等信息。
- **效果**：用户可以快速浏览当前可用 Agent。
- **源码依据摘要**：后端提供 Agent 列表接口；前端定时刷新并渲染列表。

### 3.2 创建通用 Agent / 代码 Agent

- **用户可见行为**：点击“+”打开创建弹窗，可选择 Agent 类型、名称、工作目录、模型组；代码 Agent 额外支持启用 worktree。
- **效果**：创建成功后，Agent 会加入列表并自动切换到该 Agent。
- **注意事项**：工作目录必填；代码 Agent 的 worktree 开关仅对代码 Agent 生效。
- **源码依据摘要**：前端创建表单包含上述字段；后端接收创建请求并按类型启动对应 Agent 进程。

### 3.3 复制 Agent

- **用户可见行为**：可复制现有 Agent，沿用其类型、工作目录、模型组等信息。
- **效果**：快速生成一个相似的新 Agent，并自动切换到副本。
- **源码依据摘要**：前端支持单个复制与批量复制；后端仍通过创建接口生成新 Agent。

### 3.4 重命名 Agent

- **用户可见行为**：可为 Agent 设置自定义名称，也可清空名称恢复默认显示方式。
- **效果**：列表和顶部区域显示更新后的名称。
- **源码依据摘要**：前端提供重命名弹窗；后端支持更新名称字段并持久化。

### 3.5 删除 Agent

- **用户可见行为**：删除前会弹出确认；删除后该 Agent 不再出现在列表中。
- **连带效果**：前端同时清理该 Agent 的历史记录、文件树状态等本地数据。
- **注意事项**：界面明确提示删除后无法恢复。
- **源码依据摘要**：前端删除前要求确认并清理本地缓存；后端提供删除接口并停止/移除 Agent。

### 3.6 批量选择、批量复制、批量删除

- **用户可见行为**：可进入批量模式，对多个 Agent 一次性执行复制或删除。
- **效果**：完成后会显示成功/失败数量提示，并退出批量模式。
- **源码依据摘要**：前端有批量选择状态与批量操作按钮，对选中的多个 Agent 逐个调用接口处理。

### 3.7 Agent 状态展示

- **用户可见行为**：Agent 可显示“运行中 / 已完成 / 运行中（等待多行输入）/ 运行中（等待确认）”等状态。
- **效果**：用户能区分 Agent 是否还在执行、是否在等输入。
- **源码依据摘要**：前端综合进程状态与执行状态生成展示文本；后端在等待输入、确认和恢复运行时推送状态更新。

### 3.8 Agent 列表跨重启恢复

- **用户可见行为**：网关重启后，之前已保存的 Agent 列表仍可恢复显示；仍在运行的 Agent 会继续被识别为运行中。
- **效果**：减少重复创建 Agent 的成本。
- **源码依据摘要**：后端将 Agent 列表持久化到数据目录，并在启动时恢复状态、为运行中的 Agent 重新挂接监控。

---

## 4. Agent 切换、连接与恢复

### 4.1 切换当前 Agent

- **用户可见行为**：点击 Agent 列表项可切换当前工作 Agent。
- **效果**：主消息区、输入区、状态、历史消息、文件树等都随当前 Agent 切换。
- **源码依据摘要**：前端切换时会重置输入状态、加载该 Agent 历史消息并建立独立连接。

### 4.2 自动重连 Agent

- **用户可见行为**：如果当前 Agent 的连接不存在或已断开，界面会尝试自动重连。
- **效果**：减少手动刷新和重复进入 Agent 的成本。
- **注意事项**：连接建立存在重试与等待时间，尤其在新建 Agent 启动阶段更明显。
- **源码依据摘要**：前端为 Agent 连接实现多次重试、超时与稳定性校验逻辑。

### 4.3 已完成 Agent 不再强制建立实时连接

- **用户可见行为**：当 Agent 已完成时，仍可查看其状态与历史，但不一定再建立实时连接。
- **效果**：适合把已完成 Agent 当作历史会话查看。
- **源码依据摘要**：前端切换后会先查询状态；若 Agent 已停止，则跳过实时连接。

### 4.4 可恢复会话检测与恢复

- **用户可见行为**：若某个 Agent 没有历史消息但存在可恢复会话，界面会弹出会话选择框，允许恢复。
- **效果**：用户可继续之前未完成的会话。
- **注意事项**：用户也可选择跳过恢复，直接进入历史查看/新会话。
- **源码依据摘要**：后端提供列出与恢复会话接口；前端在切换 Agent 后检查并弹出选择对话框。

---

## 5. 消息区与结果展示

### 5.1 普通消息展示

- **用户可见行为**：消息区展示普通文本、Markdown、代码块等内容，并附带时间、来源标识等信息。
- **效果**：适合阅读分析结论、说明文本和普通回复。
- **源码依据摘要**：前端对 Markdown 进行渲染，并为消息生成时间戳、来源名称和交互标记。

### 5.2 流式消息展示

- **用户可见行为**：当回复以流式方式输出时，界面会边接收边更新消息内容，结束后清理流式占位状态。
- **效果**：用户能实时看到输出逐步生成。
- **源码依据摘要**：前端对流式开始、分块、结束三类消息分别处理。

### 5.3 差异对比展示

- **用户可见行为**：差异内容可按双栏形式查看，包含文件名、增删统计、左右行对照与高亮。
- **效果**：适合查看变更前后内容。
- **源码依据摘要**：前端针对差异类消息做专门渲染，并支持语言高亮与增删样式。

### 5.4 复制消息内容

- **用户可见行为**：每条可复制消息都提供复制按钮。
- **效果**：复制成功后会出现提示；浏览器原生复制失败时会尝试降级方案。
- **源码依据摘要**：前端优先调用剪贴板 API，失败后再尝试兼容方式复制。

### 5.5 历史消息分页加载

- **用户可见行为**：切换 Agent 或进入会话时，可加载本地历史消息，并支持继续向前加载更多。
- **效果**：用户能浏览过往输出，不依赖当前连接是否在线。
- **源码依据摘要**：前端通过本地历史存储分页读取，并在首次加载时自动滚动到底部。

---

## 6. 输入、确认与人工介入

### 6.1 永久在线输入框

- **用户可见行为**：底部始终保留输入区，根据当前状态显示多行输入框或单行输入框。
- **效果**：用户可以在普通运行阶段提前输入内容，也可以在 Agent 请求时即时提交。
- **源码依据摘要**：前端维护多行/单行两种模式，根据执行状态自动切换。

### 6.2 等待多行输入

- **用户可见行为**：当 Agent 进入多行输入等待时，输入框提示会变化，“完成”与“@补全”按钮可用。
- **效果**：适合输入较长说明、多段内容或补充材料。
- **源码依据摘要**：后端在请求输入时区分单行/多行；前端据此切换模式并更新状态。

### 6.3 等待确认

- **用户可见行为**：当 Agent 需要确认时，消息区出现确认框，支持确认/取消，并带默认焦点逻辑。
- **效果**：用户可快速完成是否继续等确认操作。
- **源码依据摘要**：后端发送确认请求；前端渲染确认对话框并支持回车确认当前焦点按钮。

### 6.4 输入回显

- **用户可见行为**：用户发送的输入会回显到消息区，形成完整的对话记录。
- **效果**：方便回看曾经输入过什么。
- **源码依据摘要**：前端在发送用户输入或缓冲区输入前，会先把输入追加到当前 Agent 消息流中。

### 6.5 输入缓冲区

- **用户可见行为**：当 Agent 当前未在等待输入时，用户输入不会丢失，而是进入缓冲区。
- **效果**：等到后端下一次真正请求输入时，缓冲区内容可自动发出。
- **适用场景**：提前准备后续补充内容、排队输入。
- **源码依据摘要**：前端根据当前执行状态判断是直接发送还是进入缓冲区，并在下一次输入请求时自动处理。

### 6.6 缓冲区管理

- **用户可见行为**：界面会提示缓冲区有内容，可打开管理面板查看、编辑、加载回输入框、清空。
- **效果**：避免误发内容，支持二次修改。
- **源码依据摘要**：前端维护按 Agent 分组的输入缓冲区，并提供管理面板与相关按钮。

### 6.7 输入历史记录

- **用户可见行为**：多行输入框中可通过上下方向键快速翻阅历史输入；当前临时编辑内容会在回到最新状态时恢复。
- **效果**：重复提问或重复指令更方便。
- **源码依据摘要**：前端将历史输入保存在本地，并实现浏览与恢复逻辑。

### 6.8 快捷键行为

- **用户可见行为**：
  - 多行输入：`Ctrl+Enter` 发送
  - 多行输入中输入 `@`：打开补全
  - 多行输入：`Alt+T` 可触发特定终端相关输入信号
  - 等待多行输入且输入框为空时：`Ctrl+C` 触发“完成”
  - 单行输入：`Enter` 发送
- **源码依据摘要**：前端对多行/单行输入框分别实现键盘快捷操作。

### 6.9 完成信号

- **用户可见行为**：点击“完成”后，会要求再次确认，防止误触。
- **效果**：在多行输入场景中告诉 Agent“我已经输入完了”。
- **注意事项**：如果当前不在等待多行输入，完成信号会被缓存，等下次适用时自动触发。
- **源码依据摘要**：前端对完成按钮增加确认步骤，并区分立即发送与缓存两种路径。

### 6.10 人工介入

- **用户可见行为**：当 Agent 正在运行时，顶部可显示“人工介入”按钮。
- **效果**：用户可在执行过程中主动插入干预信号。
- **源码依据摘要**：前端在运行中显示按钮；网关接收人工介入消息后切换全局中断状态。

---

## 7. 补全能力

### 7.1 打开补全面板

- **用户可见行为**：在多行输入框中输入 `@`，可打开补全面板。
- **效果**：帮助用户快速插入常见命令、规则引用或其他可选项。
- **源码依据摘要**：前端监听 `@` 键并打开补全弹窗。

### 7.2 补全项分类展示

- **用户可见行为**：补全列表中可看到多类可插入项，例如替换变量、内置命令、规则项等。
- **效果**：减少记忆成本，提高输入效率。
- **源码依据摘要**：后端整理多类可用补全项并统一返回；前端按列表展示。

### 7.3 文件补全搜索

- **用户可见行为**：在补全面板搜索时，会额外返回文件相关补全结果。
- **效果**：用户可以快速插入工作区中的文件路径。
- **注意事项**：文件补全基于项目文件集合与模糊匹配结果，展示条数有限。
- **源码依据摘要**：后端按 Agent 工作目录搜索项目文件并做模糊匹配；前端把文件补全结果合并进列表。

### 7.4 键盘选择补全项

- **用户可见行为**：可用上下键选择、回车插入、Esc 关闭补全弹窗。
- **效果**：无需鼠标即可高效操作。
- **源码依据摘要**：前端为补全弹窗实现了键盘导航、滚动到选中项和插入逻辑。

---

## 8. 独立终端面板

### 8.1 打开终端面板

- **用户可见行为**：顶部或移动端按钮可打开独立终端面板。
- **效果**：用户可以在不依赖具体执行输出的情况下，保留多个独立终端标签页。
- **源码依据摘要**：前端提供终端面板显示开关与浮动窗口；后端维护独立终端会话。

### 8.2 新建独立终端

- **用户可见行为**：在终端面板点击“+”可创建新终端。
- **效果**：创建后自动切换到新标签，并开始接收终端输出。
- **限制/注意事项**：后端对独立终端会话数量设有上限。
- **源码依据摘要**：前端支持创建终端；后端创建带 PTY 的独立终端会话，并限制最大会话数。

### 8.3 多标签终端切换与关闭

- **用户可见行为**：终端面板支持多个标签页，显示解释器名称，可切换和关闭。
- **效果**：适合同时保留多个命令环境。
- **源码依据摘要**：前端维护终端会话列表与活动标签；后端支持关闭指定终端。

### 8.4 终端输入与尺寸同步

- **用户可见行为**：用户在终端中输入命令时，会实时发送到后台；终端窗口尺寸变化时，会自动同步大小。
- **效果**：终端显示与交互更接近本地终端体验。
- **源码依据摘要**：前端为终端绑定输入与尺寸变化事件；后端支持写入输入和调整行列数。

### 8.5 终端输出与关闭通知

- **用户可见行为**：独立终端输出会实时出现在终端面板；终端关闭后前端会收到关闭通知并清理会话。
- **效果**：用户不会看到“已关闭终端仍停留在列表里”的残留状态。
- **源码依据摘要**：后端把终端输出包装为执行流消息，并在关闭时主动推送关闭事件；前端据此清理界面。

### 8.6 独立终端历史恢复显示

- **用户可见行为**：终端面板隐藏后再次显示，已存在的独立终端可恢复原有输出内容而不是空白重建。
- **效果**：便于临时隐藏终端后继续查看上下文。
- **源码依据摘要**：前端为独立终端维护历史输出，并在重新挂载终端容器后恢复显示。

---

## 9. 执行终端展示

### 9.1 执行过程中的终端嵌入显示

- **用户可见行为**：当 Agent 执行需要终端流输出的任务时，消息区中会嵌入一个终端展示区。
- **效果**：用户能实时看到标准输出/错误输出。
- **源码依据摘要**：前端在收到执行流后为对应执行 ID 创建终端展示容器。

### 9.2 执行结束后保留历史终端内容

- **用户可见行为**：执行结束后，实时终端会转为历史记录展示区，保留完整终端文本。
- **效果**：即使执行已结束，用户仍可回看输出结果。
- **源码依据摘要**：前端在执行结束时读取终端缓冲内容，标记执行已完成，并保存到历史消息。

### 9.3 历史消息中恢复执行结果

- **用户可见行为**：重新打开页面或切换回某个 Agent 时，历史中的执行结果仍可显示其保存下来的终端输出。
- **效果**：执行日志可长期回看。
- **源码依据摘要**：前端本地历史存储会保留已完成执行的终端内容；历史加载时不再过滤这类消息。

---

## 10. 文件树与目录浏览

### 10.1 Agent 工作目录快速浏览

- **用户可见行为**：在 Agent 列表中点击工作目录，可展开文件树浏览。
- **效果**：用户无需离开当前页面就能查看项目目录结构。
- **源码依据摘要**：前端为每个 Agent 维护独立文件树显示状态；首次展开时加载根目录。

### 10.2 目录展开/收起

- **用户可见行为**：目录节点支持逐级展开和收起。
- **效果**：适合按需浏览深层结构，而不是一次性加载全部内容。
- **源码依据摘要**：前端采用按需加载子节点的方式处理目录展开。

### 10.3 文件树按需加载

- **用户可见行为**：只有在用户展开目录时，才请求其子项。
- **效果**：减少初始加载量，提升响应速度。
- **源码依据摘要**：前端对未加载节点在首次展开时调用目录接口；后端返回当前目录下的目录与文件项。

### 10.4 目录选择器

- **用户可见行为**：创建 Agent 时可打开目录选择对话框，通过刷新、进入子目录、回到上级、搜索等方式选择工作目录。
- **效果**：比手工输入路径更方便。
- **源码依据摘要**：前端有目录选择弹窗与键盘导航；后端提供目录列表接口，返回当前路径、父路径及子项。

### 10.5 目录项过滤与排序

- **用户可见行为**：目录浏览中会隐藏以点开头的隐藏项，并优先显示目录，再显示文件。
- **效果**：更聚焦常用可见内容。
- **源码依据摘要**：后端目录列表接口会过滤隐藏项并按目录优先排序。

---

## 11. 在线编辑器

### 11.1 点击文件打开编辑器

- **用户可见行为**：在文件树中点击文件，可打开浮动编辑器面板，并以标签页方式显示文件。
- **效果**：支持在 Web 界面内直接查看或编辑文本文件。
- **源码依据摘要**：前端点击文件节点后读取文件内容与文件状态，创建编辑器标签页并显示面板。

### 11.2 多标签编辑

- **用户可见行为**：编辑器支持多个标签页切换、关闭，并显示当前文件路径与未保存标记。
- **效果**：适合同时查看或编辑多个文件。
- **源码依据摘要**：前端维护编辑器标签列表、激活标签与未保存状态。

### 11.3 只读/可编辑切换

- **用户可见行为**：编辑器默认只读，用户可手动切换为可编辑模式。
- **效果**：降低误改文件的风险。
- **源码依据摘要**：前端显式提供只读/可编辑切换按钮，并同步更新编辑器只读状态。

### 11.4 文件保存

- **用户可见行为**：用户可手动保存当前文件，保存成功后会有提示。
- **效果**：修改内容会写回原文件路径。
- **注意事项**：仅支持文本文件，且大小有限制。
- **源码依据摘要**：前端调用保存接口写回内容；后端限制为 UTF-8 文本、文件大小不超过 1MB。

### 11.5 外部变更检测

- **用户可见行为**：编辑器打开期间，会定时检查文件是否被外部修改。
- **效果**：
  - 若本地无未保存修改：自动刷新为最新内容。
  - 若本地已有未保存修改：提示存在外部变更，避免静默覆盖。
- **源码依据摘要**：前端定时读取文件元信息并比较修改时间/大小，按是否有未保存修改决定自动刷新还是报冲突。

### 11.6 关闭未保存标签/关闭编辑器确认

- **用户可见行为**：关闭未保存标签或直接关闭整个编辑器面板时，会先要求确认。
- **效果**：降低误关导致的内容丢失风险。
- **源码依据摘要**：前端在关闭标签和关闭面板前都检查未保存状态并弹出确认框。

### 11.7 编辑器窗口移动、缩放、最大化

- **用户可见行为**：编辑器面板支持拖动、八方向缩放、最大化/还原，并记住上次位置尺寸。
- **效果**：更接近桌面化使用体验。
- **源码依据摘要**：前端实现了编辑器窗口位置、尺寸与最大化状态管理，并保存到本地存储。

### 11.8 文本文件读取限制

- **用户可见行为**：并非所有文件都能在编辑器中打开。
- **限制/注意事项**：
  - 只接受绝对路径文件
  - 文件必须存在且为普通文件
  - 不支持二进制文件
  - 文件大小超过 1MB 时拒绝读取/写入
- **源码依据摘要**：后端文件内容和文件状态接口均做路径、文件类型、二进制与大小限制检查。

---

## 12. 终端与编辑器窗口体验

### 12.1 终端面板移动、缩放、最大化

- **用户可见行为**：独立终端面板支持拖动、缩放、最大化/还原。
- **效果**：适合与消息区、编辑器同时配合使用。
- **源码依据摘要**：前端为终端面板维护独立的窗口位置、尺寸与最大化状态。

### 12.2 侧边栏宽度调整与记忆

- **用户可见行为**：桌面端可拖拽调整 Agent 侧边栏宽度，刷新后仍能保留上次宽度。
- **效果**：方便在不同屏幕尺寸下调节空间分配。
- **源码依据摘要**：前端支持侧边栏宽度拖拽，并保存到本地存储。

### 12.3 移动端行为优化

- **用户可见行为**：在移动端切换 Agent 时会自动隐藏侧边栏，部分输入框和弹窗的自动聚焦也会根据屏幕宽度调整。
- **效果**：避免遮挡，优化小屏体验。
- **源码依据摘要**：前端多处逻辑根据窗口宽度区分桌面端与移动端行为。

---

## 13. 历史记录与设置

### 13.1 查看历史记录统计

- **用户可见行为**：设置中可查看历史消息数量和占用空间。
- **效果**：便于了解本地存储情况。
- **源码依据摘要**：前端设置面板直接读取历史存储统计信息并展示。

### 13.2 清除历史记录

- **用户可见行为**：设置中可清除全部历史记录，执行前会二次确认。
- **效果**：清理后当前 Agent 的消息区也会被同步清空，并重置历史分页状态。
- **注意事项**：操作不可撤销。
- **源码依据摘要**：前端提供确认清除流程，并在成功后同步清理当前显示内容与历史状态。

### 13.3 重新连接

- **用户可见行为**：设置中可以修改网关地址、密码、连接锁定开关，并点击“重新连接”。
- **效果**：会关闭当前连接并按新设置重新建立连接。
- **源码依据摘要**：前端设置弹窗中包含相关字段与“重新连接”按钮。

---

## 14. 可直接拆分为正式文档的候选功能点

> 以下条目适合后续拆成独立用户文档（名称需再与功能清单逐项对齐）：

1. 启动 Web Gateway 服务
2. 在浏览器中连接 Jarvis Gateway
3. 使用密码登录 Web Gateway
4. 配置连接锁定模式
5. 查看 Agent 列表
6. 创建通用 Agent
7. 创建代码 Agent
8. 为代码 Agent 启用 worktree
9. 复制 Agent
10. 批量复制 Agent
11. 重命名 Agent
12. 删除 Agent
13. 批量删除 Agent
14. 切换当前 Agent
15. 查看 Agent 运行状态
16. 恢复 Agent 会话
17. 查看历史消息
18. 清除历史消息
19. 发送多行输入
20. 发送单行确认
21. 使用输入缓冲区
22. 管理输入缓冲区
23. 使用输入历史
24. 发送完成信号
25. 在运行中发起人工介入
26. 使用补全面板
27. 搜索文件补全
28. 打开独立终端面板
29. 新建独立终端
30. 切换独立终端标签
31. 关闭独立终端
32. 在消息中查看执行终端输出
33. 查看已结束执行的终端历史
34. 浏览 Agent 工作目录文件树
35. 选择 Agent 工作目录
36. 打开文件到在线编辑器
37. 切换编辑器只读/可编辑模式
38. 保存文本文件
39. 处理文件外部变更冲突
40. 管理多标签编辑
41. 调整侧边栏宽度
42. 移动/缩放/最大化编辑器
43. 移动/缩放/最大化终端面板
44. 在设置中修改连接信息并重新连接

---

## 15. 仍需在正式文档阶段二次核对的点

- 功能清单中“Web 界面与网关”条目与本草案候选文档名的逐项一一映射关系。
- 某些行为是否应拆成单独功能文档，还是合并为“操作组合文档”。
- 前端中尚未完全复核的剩余样式/辅助逻辑是否会影响用户可见行为表述。
- 文案中涉及“凭证”“会话恢复”“完成信号”等词汇，在正式手册中需要进一步用户化改写。
