DeepSeek Harness 插件:request-frame-preview(预览与下载模型请求帧)

前言

在开发基于 DeepSeek Harness (DSH) 的应用或调试智能体行为时,开发者经常需要确认发送给模型的具体参数。这包括系统提示词、工具定义以及消息流转的原始结构。该插件直接读取当前会话状态或持久化日志,重建并发送完整的请求帧,帮助开发者精确校验输入格式。

插件介绍

request-frame-preview 是一个由 zampie 维护的 DSH 插件,遵循 MIT 许可证。

它提供了两个部分:
* 主机端:注册一个只读的 HTTP 端点。
* 浏览器端:在会话头部工具栏提供“请求预览 / Request preview”按钮。

核心功能

  1. 预览请求帧:点击会话头部的按钮,可以打开覆盖层,查看以下内容:
    • 系统提示词:消息数组中的索引 0。
    • 工具声明:每个工具定义的行,点击可查看参数。
    • 消息数组:从索引 1 开始的消息流,包含 user、assistant、tool-result 角色,以及 reasoning 内容和 tool_calls 结构。
  2. 下载 JSON:将完整的请求帧(包含配置、系统提示词、工具参数模式及消息)保存为 dsh-request-<sessionId>.json 文件。

安装与启用

通过命令行安装该插件:

dsh plugin --profile web add request-frame-preview

安装完成后,需要重启 dsh web 进程(或等待插件市场自动重启)以加载插件包。安装成功后,在会话头部工具栏中会出现“请求预览 / Request preview”按钮。

使用步骤

  1. 启动一个会话。
  2. 点击工具栏中的“请求预览 / Request preview”按钮。
  3. 在弹出的界面中查看系统提示词、工具定义和消息内容。
  4. 点击“下载 JSON”按钮,保存完整的请求帧数据。

数据生产方式

插件的数据来源分为两种情况:
* 当前运行会话:通过 requestHeader() 和 deriveMessages() 函数获取,这与智能体循环在构建请求时读取的数据一致。
* 历史会话:当会话已关闭时,会从持久化日志的 sessionQuery.readSession 和 readSurface 中读取数据。

数据重组严格遵循 DeepSeek chat-completions 适配器的文本路径:系统提示词作为第一条消息,每个工具结果块作为独立的 role: "tool" 消息,助手文本、推理内容和工具调用则被拆分到对应的线缆字段中。

安全与注意事项

  • 只读端点:HTTP 端点仅支持 GET 和 HEAD 请求,不涉及任何状态修改操作。
  • 跨域限制:当请求头 Origin 存在且与 Host 不匹配时,插件会拒绝跨域请求;不带 Origin 的请求(如 curl 或 <a download>)则被允许,这与 dshmarket 的 GET 路由惯例一致。
  • 调试性质:该插件是一个调试辅助工具。它将会话的完整系统提示词、工具模式及消息内容暴露给能够访问该端点的人。主机端点本身不构成安全边界,不应作为防御措施依赖。

总结

该插件帮助开发者精确还原发送给模型的请求帧结构,便于排查配置错误或调试工具调用逻辑。其源码与文档位于 GitHub:https://github.com/zampie/request-frame-preview

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜