ayuanwong/dsh-ux--packages-client-ui-deliverables ↗★ 14
@deepseek-ai/dsh-client-ui-deliverables
在 Web 端展示产出文件行与可点击的最终回复文件引用。 适合希望快速定位生成文件的 Web 用户;随官方 Web 补丁加载,无需单独配置。
同名套件的其他儲存庫
- deepseek-ai/deepseek-harness--packages-client-ui-deliverables
- whitelonng/dshcode--packages-client-ui-deliverables
- fufankeji/deepseek-harness-studio--packages-client-ui-deliverables
- op7418/pilot-harness--packages-client-ui-deliverables
- See-Sol-Lab/DeepSeekGUI--packages-client-ui-deliverables
- peiyuwang54/deepseek-harness-cli--packages-client-ui-deliverables
安裝
此插件尚未提供可驗證的 bundle,或相容性檢查未通過。請先閱讀倉庫說明。 閱讀完整 README ↗
說明文件
閱讀完整 README ↗@deepseek-ai/dsh-client-ui-deliverables
English | 中文
Produced-files and clickable-reference feature owner. The Node half registers final-response guidance with the system-prompt registry; the browser half registers the deliverables row a finished turn ends with into the chat view's conversation.chat.turnTail hole and links matching inline-code references in the closing prose. The shipped Web patch is the only composition that loads this package. Removing its one cordis.yml entry removes the guidance, row, and prose links together.
deliverablesDefinition folds each Turn's successful mutation calls into engine-published DeliverablesTurnData; producedForClosing reads that data with the closing Assistant seq. A mutation is recognized by render intent, not tool name — a diff card, or a generic card whose kind is edit (the shape str_replace_editor's insert presents) — so a new mutation tool joins by declaring what it does. Reads, deletes, and failed calls contribute nothing. Common command-generated artifacts that do not emit a mutation location — PDF, office documents, tables and datasets, images and design files, audio and video, archives, ebooks, databases, and 3D/CAD files — join when the settled closing answer intentionally declares an exact path as Markdown inline code, a Markdown link destination, or a path-only line. Local file:// link destinations normalize back to Host paths. Web URLs, shell commands, fenced examples, globs, and paths embedded in unrelated prose remain excluded; paths keep first-seen order and are deduplicated. This supplement is presentation-only and issues no model request.
ProducedFiles renders the row between the closing message's body and its IconActions footer: a quiet label and one measured file lane. It shows the largest leading prefix that fits (up to six chips; basename text, full path as the title) while reserving the exact localized + N files width, so the remainder stays visible without wrapping or horizontal scrolling. Each chip opens through the owner-supplied openFile — the same Host opener the tool rows use, with the chat view resolving relative paths against the session cwd. When files are hidden, a second-line Show in folder action opens the session workspace through that same owner path only while the page is loopback and the current Host handshake reports canOpenPath; direct remote Web and headless/container Linux Hosts omit the action by default. Design rationale: the workspace file links Agent Note.
The closing prose carries the same vocabulary. This plugin provides the chatFileMentions service the chat view consults per closing message: producedFileMentions resolves an inline-code token by exact path, or by being exactly the basename of exactly one produced path — a basename two paths share stays inert rather than guessing. A resolved mention keeps its code chip and takes the markdown sheet's link language — link-blue at rest, underlined on hover, exactly like URL-promoted inline code — with the full path as its title; mentions never render inside anchors or streaming text. Decision record: the inline file mentions Agent Note.
The Node half registers the static ui:deliverable-file-references system-prompt section. It asks the model to mention the primary files it successfully created or modified and to write those and any other changed-file references as Markdown inline code, using the exact file-tool path or a basename only when unique within the Turn. The guidance makes the renderer's accepted syntax explicit; it does not govern unrelated path discussions or widen the renderer's successful-mutation vocabulary.
Model Experience
Clickable file-reference guidance
What the model sees
One fixed paragraph instructs the model to name primary files from successful creation or modification calls in its final response and to format those and any other changed-file references as exact-path or unique-basename Markdown inline code, such as out/report.html.
Token effect
One fixed prompt paragraph whenever this package is loaded; no tool schema, tool result, or per-Turn context is added.
KV Cache effect
The section is static at order 190 for the lifetime of the package mount, so it remains in the reusable prompt prefix and does not change across Turns.
Known Limitations and Deferred Work
- Mention matching is exact path or unique basename only. A suffix mention (
out/index.htmlwritten asindex.htmlresolves;deep/out/index.htmlwritten asout/index.htmldoes not) stays inert; widening the matcher is deferred until a real closing-message shape needs it. - Closing-answer supplements are not filesystem claims. Common artifacts intentionally declared in accepted Markdown or on a path-only line are shown without an extra stat request; if the model names a path it did not create, the chip can hand an absent file to the Host opener. Mutation-tool locations remain the authoritative path for text and code outputs.
- Native folder handoff targets the Host desktop. A browser reached through a non-loopback authority omits the action, as does a deployment reporting no native opener. SSH forwarding that makes a remote Host look loopback-local must set the gateway's
nativeOpen: false; so must a headless macOS/Windows Host, a WSL deployment without working Windows interop, or any Linux desktop whose display/opener probe is a false positive. Identifying the operator-visible desktop remains deployment policy.