Skip to content

聊天与会话 ​

聊天前先完成模型配置。阅读文档无需启动模型服务。

发送第一条消息 ​

  1. 新建会话,确认供应商和模型。
  2. 输入明确的小任务,例如“把下面三点整理为一段说明”。
  3. 按当前设置的发送快捷键提交。
  4. 查看内容是否逐步出现,以及工具请求或错误提示。

回复支持 Markdown、代码、数学公式和图表等渲染。代码显示不代表已执行;工具执行有自己的调用记录。

阅读流式回复 ​

回复生成时,新到达的正文以短暂透明度过渡出现,代码、链接和公式保留各自的格式。历史消息不会重新播放整段逐字效果;停止生成或回复结束后,已收到的内容仍可阅读。系统开启“减少动态效果”时,正文直接显示。

停留在会话底部时,新内容会继续跟随显示。向上翻阅历史后,不会因为回复继续生成而强行拉回底部;主动回到底部后恢复跟随。切换会话会重新建立该会话的滚动状态。

聚焦消息区后,PageUp / PageDown 每次移动当前消息可视高度的 4/5,保留约 1/5 上下文,窗口变化后自动重新计算。子代理记录支持相同操作。输入框、编辑器和独立滚动的工具结果保留自己的键盘操作。

长代码块可以展开或折叠;在同一代码块继续生成时,已选择的展开状态会保留。Think 思考消息默认折叠,点击后展开全文;流式更新与完成时保留用户手动选择的展开状态。工具详情也可展开阅读,收起后其内部控件不会进入键盘 Tab 焦点顺序。复制后的成功提示会短暂显示,不代表代码已执行。

聊天区随浅色或深色主题调整层次。输入区聚焦时显示细线提示,键盘导航也有可见焦点。字体和字号仍使用偏好设置中的选择。

消息区和输入框共用自适应宽度:正文按可用聊天列的 64% 调整,常规窗口范围为 680–920px,窄窗口随可用空间收缩。输入卡片比正文宽 32px,使输入文字与正文对齐。助手消息不再额外显示 “Work details” 总标题;真实工具调用、参数、Result 和子代理入口仍可展开。

连续工具调用收起时采用 24px 摘要行与 4px 间距。开启 Coding View 后,展开成功的工具调用,再悬停或用键盘聚焦可显示 Inspect,进入对应执行记录;收起详情时该入口一同收起,不预留空白行。

包含两轮及以上消息时,宽窗口右侧显示对话轮次导航。悬停或键盘聚焦短线可预览对应问题和回答,点击跳转到该轮消息;方向键及 Home / End 移动焦点,Enter 激活。向历史跳转后暂停跟随流式输出,不改变草稿或执行状态。聊天列不超过 900px 时隐藏导航,避免遮挡正文。

回合耗时 ​

有可信执行记录的回合在首个助手区域显示一次耗时,执行中显示 Working…,结束后显示 Worked for 8s、Worked for 2m 08s 等。超过一小时仍使用分钟,例如 Worked for 65m 03s。失败或取消会附带 Failed / Cancelled,即使没有正文也保留对应状态。

耗时由后端从实际执行开始到终止记录,包含本轮模型重试、工具执行与等待,不包含两轮之间等待用户输入的空闲时间。CLI 与 Desktop 使用同一记录,重新打开会话仍可查看。旧会话或异常退出后缺少完整终点的记录不显示最终耗时,不从消息时间戳、请求耗时之和或 token 数估算。耗时与助手正文之间保留分隔线;助手底部操作栏下方和下一轮消息上方不再重复画线。复制、反馈、Usage 和时间功能保持可用。

整理会话 ​

历史会话用于回到之前的上下文。切换前确认当前任务是否仍在执行;重新进入后检查消息与模型信息。

恢复会话时,当前模式存在同名可用模型即可继续使用,不会仅因供应商前缀不同提示切换。CLI 生成的话题名称会保存为会话标题;旧的默认 CLI 标题在列表中使用首条用户消息作为可读名称,手动命名保持不变。

Desktop 的 Code 模式须先选择项目,文件工具使用已信任的项目目录。没有项目的旧会话可继续阅读,选择项目后才能继续发送;发送按钮与后端均检查项目关联。Home 聊天仍可使用独立会话工作目录。

会话标题与 Chat / 阅读模式 / Trajectory 位于同一行,长标题会截断。标题下拉菜单中的“复制会话 ID”复制当前会话的完整 ID,成功与失败分别提示;重命名、导出和删除入口保留。

Chat 旁的“阅读模式”(英文界面为 Reading mode)只显示用户与助手消息,保留 Markdown 正文、图片和文档附件,隐藏思考过程、工具执行、耗时、用量与消息操作栏。用户消息与助手消息交界处使用随主题变化的细横线分隔;同一助手回复中的多个正文片段不重复加线。空的执行记录与上下文压缩标记不占位。

阅读模式继续显示实时收到的正文,不停止当前任务;输入草稿和会话数据保持原样,切回 Chat 可查看完整执行信息。切换会话时保留阅读模式,重新启动界面默认显示 Chat。阅读模式不依赖 Coding View;开启 Coding View 后仍可使用 Trajectory 查看执行记录。

会话管理包含更新、删除和导出相关入口,但部分导出路径路由到网关,不能假定所有模式下都完全离线可用。删除前保留需要的内容,备份见数据维护。

提供上下文 ​

说明目标、材料和结果格式。长期任务放入项目并补充项目说明,可复用流程整理成 Skill。

添加文件后核对输入区是否显示附件或上下文。不要仅凭本地文件存在就认为模型已读取它。

使用同一数据目录时,CLI 图片可在 Desktop 回看:图片与文字按保存顺序显示,保留对应的 [Image #N] 标签,点击图片查看大图,按 Esc 关闭。编辑文字或重新发送有效图片消息不会丢弃其中的图片。旧记录仅有占位符、图片数据缺失或损坏时会明确显示不可用,不会自动读取占位符里的路径;需要重新附上原图后再发送。

使用工具 ​

确认目录与权限模式,查看实际调用。失败时区分模型请求失败、权限拒绝和工具本身失败。

任务仍在处理时避免重复发送。若停止操作可用,使用后仍应确认后端任务是否结束,不只看动画。

右侧边栏 ​

聊天页标题栏提供 Terminal、Files、Browser 三个入口,依次位于 View Artifacts 左侧,点击打开并激活对应标签。面板按钮或 Ctrl+Alt+B(macOS 为 ⌘⌥B)切换右侧边栏显隐。拖动左边缘调整宽度;收起面板不等于关闭标签。文档预览或产物列表可以暂时占用右侧,关闭后恢复原面板。设置、项目等整页界面暂时隐藏侧栏,不终止其中的终端。

Terminal、Files、Browser 与文件共用顶部标签栏,通过 + 打开内置标签。关闭当前标签后选择相邻标签,全部关闭后显示重新打开入口。切换和收起会保留终端、浏览器及文件树实例;应用重启不恢复旧 shell,文件标签需重新打开。

点击消息中的 Markdown 或其他文档卡片时,直接打开内容预览,默认不展开 Explorer,也不自动请求目录。需要浏览文件时,使用预览工具栏的“Show file tree”;文件树背景、文字、边框和选中状态随深浅主题变化。收起再展开保留已加载的目录,Refresh 可重新加载。

文件:由后端解析可信项目目录、会话 worktree 和附加根目录;无项目会话使用私有工作目录,首页使用输入区选中的项目。目录逐级展开,支持方向键、Enter 和 Home/End。打开文件会新增标签,左侧显示只读内容,右侧保持文件树;重复打开切换到已有标签,同名文件显示路径区分。二者独立滚动,隐藏树不丢失展开状态。一轮回复结束后刷新,也可手动刷新;二进制和超大文件显示说明。

文件工具栏依次提供:

  • Search In Files:搜索项目所有根目录,结果显示路径、行列和摘要。点击打开文件并高亮匹配位置;搜索遵循忽略规则,跳过二进制及超大文件,显示跳过数和截断说明。
  • Diff:红绿双色块按钮切换当前 HEAD → 工作区 的净差异,包含暂存与未暂存修改的最终结果,显示基准提交。无提交仓库以空树为基准,未跟踪文件以空内容为基准;无变化、非 Git 目录分别说明。
  • 显示/隐藏文件树:释放或恢复内容区空间,不关闭文件。
  • Open:系统文件管理器定位。箭头菜单提供默认应用、外部系统终端、WSL、文件夹定位与另存为。原生操作需要 Desktop,WSL 不可用时禁用并说明。

另存为复制磁盘文件原始字节,而非预览或未保存缓冲区。取消不创建文件,覆盖需确认,同一文件不重写,失败显示错误。

浏览器:在地址栏输入网址,或点开始页里的本地开发地址(localhost:5173 等)。只接受 http、https;本机和局域网地址自动补 http://,其他补 https://。设置中“打开聊天链接”选择应用内侧边栏时,聊天里的链接也在这里打开。

内置终端:启动真实系统 shell,绑定创建时的工作目录,切换会话不改变已运行 shell 的目录。隐藏保留输出与进程,明确关闭活动终端需要确认;取消或关闭失败保留标签。显示真实退出码,断线不当作退出码 0。Windows 通过进程作业清理拥有的子进程;Unix 上另行脱离会话的进程可能需要自行停止。

Windows Desktop 使用系统确认对话框,等待确认后才结束终端,取消会保留进程和输出。文件菜单的外部终端使用独立控制台,工作目录为当前文件所在目录;WSL 使用所选发行版中的对应路径。

页面在沙箱 iframe 中运行,不能调用应用的原生接口。桌面窗口只允许嵌入 localhost、127.0.0.1 和 https 页面;局域网 http 地址和普通 http 网站会被拦截。很多网站禁止被嵌入,空白时使用“在系统浏览器中打开”。

查看子代理会话 ​

Agent / Task 工具条目提供独立的 View subagent 入口,不需要等待最终 Result,也不依赖 Inspect 或 Coding View。点击后通过当前会话和实际工具调用 ID 查找子会话;历史记录缺少关联时显示说明,不根据任务名称或输出文字猜测。仍在建立关联时会继续等待。

子会话在右侧标签中只读显示,使用相同的聊天字体、字号和主题;重复打开同一子会话切换到已有标签,不同子会话即使同名也分别显示。可阅读完整分页历史、思考、工具参数、Result 和已保存的类型化附件,复制内容或展开详情;没有编辑、重发、分支或应用差异操作。工具输出中的普通路径文字不会自动变成附件。

只在该子会话标签可见时刷新执行中的记录,切换标签或收起侧栏暂停读取,重新显示后刷新。读取失败保留已显示的历史并提供重试;完成后可手动 Refresh 查看后续恢复执行的记录。缺失的子会话、不可用的父会话和未知执行状态会分别说明。

子会话里的代理调用也可以继续打开嵌套子会话。Go to parent conversation 跳转到其直接父会话,子会话标签仍保持原来的查看对象。关闭标签仅关闭视图,不停止代理,也不改变父会话正文、权限或执行。

执行中的消息队列 ​

执行期间发送的新消息显示在输入框上方。没有消息时隐藏;一条直接显示,多条默认折叠为数量栏,展开后在面板内滚动。

  • 服务端确认前显示发送中,暂不能编辑、删除或引导执行。提交失败保留内容,可以重试;重试使用同一提交标识,避免重复入队。
  • 纯文本可行内编辑:Enter 保存、Shift+Enter 换行、Escape 取消;中文输入法选词时 Enter 不会提前保存。含附件消息禁用纯文本编辑,避免丢失附件。
  • 删除只移除尚未进入执行的消息。编辑、删除与消费冲突时,以服务端版本校验结果为准。
  • Steer 把消息送到当前执行可接收的工具结果边界,不会先停止再重发。当前没有执行或队列暂停时不可使用;若点击时执行已结束,后端拒绝操作并保留原队列消息。普通队列由后端在本轮结束后启动下一轮,不依赖窗口保持打开。

停止当前轮会暂停派发,但不会删除队列。后端重启后需显式恢复;已交接的工作不会自动重放。刷新页面或切换会话后,面板重新读取该会话的服务端状态。

队列支持文本、内嵌图片、UTF-8 文本与代码文件,以及可提取文字的 PDF。图片预览保留缩略图、文件名和大小;普通文件显示在文字预览下方,避免长消息遮住附件信息。文件原始字节随队列持久保存,重载后仍可投递,进入历史后可下载原文件。模型接收文本文件或 PDF 提取的文字,图片继续按图片内容发送。

单个文件最多 5 MiB,提取后的文字最多 1 MiB;整个结构化消息最多 8 MiB。扫描 PDF 请改为附加页面图片。Office、音视频和仓库附件暂不支持队列投递,会明确提示失败并保留待发送内容,不代表已送入模型。本地待发送存储空间不足时,原输入内容留在输入框中。

审阅执行计划 ​

ExitPlanMode 使用专用的“审阅执行计划”对话框。计划正文按 Markdown 显示,标题与审批操作保持可见,正文单独滚动。可复制计划,展开完整文件路径,或打开本次审阅的只读快照。

执行方式提供“保留/清理上下文”与“逐次审批/自动批准/bypass”六种组合。普通 dcd 启动后,两种 bypass 组合均可选择,仍需点击“批准并开始”。清理上下文保留已保存的会话历史,清理模型工作上下文,再按已批准计划继续。详见工具权限。

点击“批准并开始”后,界面等待后端实际应用结果。审批绑定来源会话、工具调用、请求和计划版本;计划改变、请求失效或已被其他客户端处理时,旧审批不能批准新内容。

打开或切换会话不会用本地保存的权限偏好覆盖正在审阅的计划。审批期间可以切换到其他会话,再回来继续审阅。

“提出修改”提交反馈并继续规划。提交失败保留选择和反馈。关闭或 Escape 只收起对话框,不会批准;通过“待审阅计划”入口可重新打开。后端进程退出后的旧请求不会恢复审批权限,需等待新的请求。普通问答仍使用原有问答界面。

检查结果 ​

模型请求返回 HTTP 400 时,回复区域显示“无效请求”卡片,并保留此前的回复与工具记录。点击“查看详情”可以展开原始错误内容和 Status: 400,右侧复制按钮复制错误内容及状态码。卡片跟随当前浅色或深色主题。

HTTP 400 错误卡片(浅色)

HTTP 400 错误卡片(深色)

图片来自真实组件的浏览器模拟验证页面,详见验证记录。

文本完整、没有悬挂的工具步骤,切换后消息仍可访问。涉及文件修改时检查实际变更;涉及外部服务时检查返回结果。

无回复或一直加载,依次检查供应商、Rust Bridge 和模型错误,见故障排查。

独立文档站 · Desktop(Tauri 2)与 CLI(Rust)