安装
在 DeepSeek Harness 里通过 dsh-market 安装
dsh plugin --profile web add dshmarket
或使用命令行
dsh plugin --profile web add request-frame-preview
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络。请先审阅源码,并尽量锁定 commit(github:owner/repo#sha)。
README
该插件的 README 只有英文版本。
Preview and download the exact request frame that DeepSeek Harness sends to
the model for a session: the full system prompt, the tool declarations
(tools), and the wire message array (system → user / assistant /
tool-result in order), rebuilt from the session log.
A small DSH plugin with a host half (one read-only HTTP endpoint) and a browser half (a "请求预览 / Request preview" button in the session header).
Install
dsh plugin --profile web add request-frame-preview
or from a local checkout:
dsh plugin --profile web add /path/to/request-frame-preview
Restart dsh web (or let the plugin market restart it) so the bundle is
loaded. A 请求预览 button then appears in the session header utilities,
next to the built-in "Session log" button.
What it does
Click the button to open an overlay showing, top to bottom:
- ① system prompt — message
#0of the wire array (collapsed by default). - ② tools — the tool declarations carried by the request, one
toolrow each; click a row to see its parameters. - ③ messages — the wire message array from
#1on, withuser,assistant,tool-resultchips,tool_call_ids, reasoning content andtool_callsexpanded inline.
下载 JSON / Download JSON saves the whole frame (config + system + tools
with full parameter schemas + messages) as dsh-request-<sessionId>.json.
How the data is produced
- Live session first:
requestHeader()andderiveMessages()— the very same folds the agent loop reads when it builds each request. - Cold session fallback:
sessionQuery.readSession+readSurfacefrom the durable log. - Wire expansion mirrors the DeepSeek chat-completions adapter's text path:
the system prompt becomes message
#0; eachtool-resultblock becomes its ownrole: "tool"message; assistant text, reasoning andtool_callsare split into their wire fields.
Layout
package.json dsh.bundle.patch -> ./cordis.patch.yml; dsh.client.platform web
cordis.patch.yml inserts the plugin row into the profile layer stack
lib/index.js host half: registers GET /request-frame-preview/api
lib/client.js browser half (window.__ModuleLoader__ bundle)
Security notes
- The endpoint is read-only (
GET/HEAD) and serves no state mutation. - Cross-origin requests are rejected when an
Originheader is present and does not matchHost; requests withoutOrigin(curl,<a download>) are allowed, mirroringdshmarket's GET route convention. - This is a debugging aid: it exposes the session's full system prompt, tool schemas and message contents to anyone who can reach the endpoint. The host endpoint is not a security boundary.
评论
评论存放在 GitHub Discussions。用 GitHub 账号登录后可发表评论或点表情。