# 消息预览与原始请求

适用范围：next-ver 当前实现。预览用于检查提示词、动态模板、工具配置及最终请求字段，不发送模型请求。

## 操作

1. 在当前会话打开预设工作台，选择预设并调整配置。
2. 点击「解析当前草稿」，主动解析动态模板与当前 DSH 宏。预览不会提交宏变量写入；提供者自身仍应遵守预览无副作用的接口约定。
3. 查看消息顺序、提示信息和 Assistant Prefix。聊天记录默认只展开最近两条，可点击「展开全部」查看早期记录；折叠只改变显示，不删除请求内容。
4. 点击「原始消息（Raw）」检查 JSON 字段，消息和工具浅层默认展开，深层对象、数组及长文本按需展开；可用「展开一层」「收起全部」批量操作。大对象和数组分批显示；「复制」始终复制完整原始字符串，不复制树形摘要。
5. 正常发送后，查看自动同步的实际请求。若发生工具调用，可选择对应续轮，核对每次真正发送的内容。

## 三种来源

| 面板来源 | 含义 | 调试时如何使用 |
| --- | --- | --- |
| 实际请求 | 捕获的出站请求快照 | 核对本轮真正发送的消息与参数；展示的是请求，不代表模型已成功响应 |
| 草稿预览 · 未发送 | 当前草稿经已支持的序列化路径生成 | 发送前检查；草稿、模式、工具或变量变化后需重新解析 |
| 适配器输入 · 最终出站尚未确认 | 尚未取得最终 HTTP 请求体 | 只能检查适配器输入，不应当作最终 Raw |

消息卡片和 Raw 来自同一份快照。打开 Raw、折叠 JSON 或展开历史只做界面渲染，不重新调用动态模板，也不改动原会话记录。JSON 无法解析时回退显示原文。

官方 Messages、其他适配器以及附件准备存在发送前边界；以面板标明的来源为准。实际 Raw 仅在插件能捕获对应传输时可用，不会把未捕获的适配器输入标成实际请求。

## 动态内容与模式

动态模板在发送或主动解析草稿时运行，不在每次输入、切换视图时执行。发送前预览与后续发送是两次独立准备，期间用户消息或外部数据变化可能产生不同结果。调试某次发送时，应选择其实际请求快照。

DSH 系统模板跟随输入框所属会话的模式；尚无会话时采用当前输入模式。正文按预设和模式分别保存，运行时变量在实际请求中重新读取。修改草稿或设置后，已有实际请求仍表示当时的内容，不会被新设置重写。

- [DSH 系统模板与请求参数](../api/DSH_SYSTEM_TEMPLATE.md)
- [动态模板、marker 与历史修改接口](../api/TEMPLATE_API.md)
- [动态解析与预览的设计依据](../plans/DYNAMIC_TEMPLATE_PREVIEW_PLAN.md)

## Raw 的工具信息

Raw 使用紧凑 JSON 树，默认展开消息与工具的浅层结构，显示角色、工具名称和条目数。长文本就地展开，深层 schema 按需打开；支持展开一层、收起全部及每批 50 项加载。批量操作与初始展开均有限额，避免大目录一次创建过多节点。

工具摘要只读取当前快照：说明原生工具数量以及 `tool_choice`、`parallel_tool_calls` 是否存在。消息出现 DSML 时标明“消息含 DSML 文本”，这不是转换来源的证明；没有 tools 只表示未发送，不推断用户关闭了工具。完整定义、历史调用参数、调用 ID 和结果仍在原 JSON 中查看。转换后的提示词不会被伪装成原生 tools，未捕获或超限保持不可用提示。

复制保持捕获的原始字符串（包括大整数和原缩进），与树的折叠、分页或长文本摘要无关。切换请求不会使用当前工具面板重建旧快照，也不会执行工具或动态模板。
