dsh-generative-ui:让 DeepSeek Harness 用 live TSX 回答

前言

在 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-ui skill、提供 compiler wasm 和 canvas 文件读取路由。
  • lib/client.js(web 端):接管 ui4a/tsx 代码块,在浏览器内编译 TSX,并挂载 canvas panel。

核心功能

  • Inline 渲染:ui4a/tsx fenced 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.10.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 解析。
  • 如果会话使用 minimal preset,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 正文中)。

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

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

小夜