前言¶
在 DSH 的智能體會話裏,agent 通常以純文本回答。當回答需要以界面形式呈現時,純文本會顯得不夠直接。dsh-generative-ui 是面向 DeepSeek Harness 的客戶端插件:agent 輸出 TSX,dsh web 負責即時渲染。
這是什麼¶
dsh-generative-ui 的包名是 dsh-generative-ui,當前 package.json 版本爲 0.0.2,許可證爲 MIT,維護者爲 CNSeniorious000。
它讓 agent 用 live React interface 代替純文本回答,並在模型仍輸出時流式渲染。插件包含兩端:
lib/index.js(node 端):注入 system-prompt、註冊generative-uiskill、提供 compiler wasm 和 canvas 文件讀取路由。lib/client.js(web 端):接管ui4a/tsx代碼塊,在瀏覽器內編譯 TSX,並掛載 canvas panel。
核心功能¶
- Inline 渲染:
ui4a/tsxfenced block 會在回覆段落之間就地渲染。 - Canvas 渲染:
ui4a/canvases/<id>.ui4a.tsx文件會在對話旁的面板打開,並可跨輪次保留。 - 流式渲染:生成的組件在模型繼續輸出時持續渲染。
- 依賴與主題:生成的代碼可在渲染時從
esm.sh解析 npm 導入,共享宿主單個 React 實例,並使用應用設計令牌適配明暗主題。 - 提示分層:
src/prompt.ts每次請求攜帶觸發、圍欄語法、canvas 路徑和顏色令牌;src/skill.ts按需加載,並承載判斷與佈局。
安裝與啓用¶
從 registry 安裝:
dsh plugin --profile web add dsh-generative-ui
如需預覽未發佈 commit:
dsh plugin --profile web add https://pkg.pr.new/CNSeniorious000/dsh-generative-ui@main
如在本地 checkout 中開發:
dsh plugin --profile web add link:/path/to/dsh-generative-ui
安裝後啓動 dsh web。如果 dsh web 已經在運行,需要重啓,因爲插件在啓動時掛載,且沒有熱更新。
關於版本:從 npm registry 安裝會使用 caret;README 示例說明 ^0.0.1 在 0.0.x 版本下只匹配 0.0.1。如需補丁版本,可改爲 ~0.0.1。該插件發佈來自 CI over OIDC,tarball 帶有 npm provenance。
典型用法¶
1、Inline 用法:讓 agent 在回覆中輸出 ui4a/tsx fenced block,內容會在回覆段落之間就地渲染。
2、Canvas 用法:讓 agent 生成 ui4a/canvases/<id>.ui4a.tsx 文件,內容會在對話旁的面板打開,並跨輪次保留。
3、如果模型沒有生成 UI:先檢查 agent preset。minimal 預設不會啓用 skill 工具;應使用 standard,或複製預設並加回 tool-skill。
4、本地開發:
bun install
bun run check
bun run build
適用場景與注意¶
這個插件適合在 dsh web 中需要讓 agent 生成 live 界面,而不是隻返回純文本的會話。
插件配置聲明 client 平臺爲 web,並注入:
@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-conversation
使用前注意:
- 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。
- 許可證爲 MIT,當前
package.json版本爲0.0.2。 - 生成的代碼會依賴 npm 導入,並在渲染時從
esm.sh解析。 - 如果會話使用
minimalpreset,skill工具不會被啓用,模型不會被告知該格式;改用standard,或複製預設並加回tool-skill。 - 插件沒有熱更新,新增安裝後需要重啓
dsh web。
結尾¶
dsh-generative-ui 的價值在於把 agent 回答從純文本擴展到可流式渲染的 TSX 界面,並提供 inline 與 canvas 兩種呈現位置。
GitHub:https://github.com/CNSeniorious000/dsh-generative-ui
插件線索給出的目錄頁:https://www.skillhub.cn/plugins/CNSeniorious000/dsh-generative-ui(該 URL 未出現在已抓取 README/package.json 正文中)。