dsh genui 實錄:AI 輸出直接升級成可點擊的互動介面

OpenTiny 社群 295 秒實操螢幕錄影的十個幀檢瞬間:一句對話讓 Agent 自己裝外掛,火車票查詢表單、可排序票價表、時段票價長條圖、番茄鐘與計算機依序生成,最後是那顆關掉這一切的小開關。

最近更新: 2026-10-15

DeepSeek Harness 對話回答深圳到北京火車票查詢:生成結果表上游標正點在「票价(元)」欄的排序箭頭上,下方輸入框顯示 DeepSeek-V41-Flash。
生成的票價表正在被排序——全程沒出現一行 HTML。

問助理「去北京的火車票多少錢」,你得到的是一段散文:數字靠自己掃、比較靠自己算。本頁的外掛讓模型直接用真元件回答——上方首圖就是它的可排序票價表,正被點擊,運行在 DeepSeek Harness 對話裡。整頁跟隨 OpenTiny 社群發布的一條 295 秒錄影:你看到的面板,全都出自一句再普通不過的對話。

本頁是「互動式輸出」的深讀——你點的、你填的,都會回傳進對話。若想了解讓 AI 輸出的 HTML「被顯示出來」的那條軸,請看 dsh 渲染插件:讓回答從能讀到能看(圖文)

TL;DR

  • ▸dsh-genui(lhuans/dsh-genui,2026-10-15 實查 ★12;OpenTiny/dsh-genui 舊名重新導向至此)把模型回覆渲染成真元件——圖表、表單、表格、小應用——你點擊或送出的內容會回流進對話。
  • ▸安裝只有一行:dsh plugin --profile web add dsh-genui。錄影裡是 Agent 自己跑的:PowerShell 執行原則攔下腳本包裝時,它直接改呼叫 CLI。裝完必須重啟才會生效。
  • ▸示範是一次火車票查詢:回覆裡帶著深圳→北京的查詢表單(出發、到達、日期選擇器、查詢按鈕)、五行可排序票價表、按時段對比的票價長條圖——隨後又按需生成番茄鐘和計算機。
  • ▸輸入框工具列的星形圖示切換 GenUI 提示詞引導(幀上提示為「GenUI prompt on」);關掉後模型回到純文字。移除用 dsh plugin --profile web remove dsh-genui——錄影結尾演示了移除後回覆打回原形。

九個逐幀核驗的步驟

第一部分 · 文字牆與安裝

  1. 1

    起點:一份調查作業變成文字牆

    外掛登場之前,錄影先給了一個反例:普通 DeepSeek 聊天視窗回答「DSH 外掛有多少」,給出的是一篇統計作文——「三百多個到一萬六千多個不等」,再接一張 awesome 清單與聚合市場的 Markdown 表(精選 353+、某市場 2,825 筆)。內容沒毛病,累的是讀的人。這就是 dsh-genui 要對著的基線。(注意:這一幀是普通 DeepSeek 聊天,不是 Harness Web UI。)

    $三百多个到一万六千多个不等
    $awesome-dsh-plugins 353+ · @ace-zone/dsh-market 2,825
    普通 DeepSeek 聊天視窗回答 DSH 插件數量問題:Markdown 統計表裡 awesome-dsh-plugins 353+、某聚合市場 2,825 筆。
    基線長這樣:同一份答案,一堵 Markdown 牆。在 0:28 觀看
  2. 2

    安裝:一句話,讓 Agent 自己來

    還沒輪到終端機:錄影把「帮我把 npm 上的 dsh-genui 插件装到 web profile,执行 dsh plugin --profile web add dsh-genui」直接打進全新的 Harness 對話並送出。這正是 README「讓 AI 代裝」一節給的原話,一字未改交給 Agent。前置條件照舊(Node、pnpm),而且重啟之前什麼都不會變——停掉、重啟、重新整理、開新對話。

    $帮我把 npm 上的 dsh-genui 插件装到 web profile,执行 dsh plugin --profile web add dsh-genui
    全新的 DeepSeek Harness 輸入框裡已敲入安裝請求「帮我把 npm 上的 dsh-genui 插件装到 web profile,执行 dsh plugin --profile web add dsh-genui」,游標停在送出按鈕上。
    整個安裝,就是一則聊天訊息。在 2:15 觀看
  3. 3

    Agent 真的動手裝——被攔了還會自己變通

    對話自動改名「安装 dsh-genui 到 web profile」開始幹活:「I'll run that plugin install command for you… The PowerShell dsh plugin is blocked by execution policy, let me call the CLI directly.」——一次真實安裝撞上 Windows 真實護欄,當場改道,不是念稿。同一段落裡影片也給了手動兜底(終端機敲同一條 add 命令),結尾還演示了鏡像的 remove 命令。

    $安装 dsh-genui 到 web profile
    $blocked by execution policy → call the CLI directly
    對話標題已變為「安装 dsh-genui 到 web profile」,Agent 正回報 PowerShell 的 dsh plugin 被執行原則攔截、決定直接呼叫 CLI。
    真實的安裝,現場改道。在 2:22 觀看

第二部分 · 一次查詢,三個元件

  1. 4

    提問:一句家常話的火車票查詢

    新對話裡使用者輸入「统计一下今天深圳到北京的火车票」。回覆開頭是一張生成的卡片「深圳 → 北京 火车票查询」:出發城市預填深圳、到達北京、日期選擇器(幀上為 2025-06-18)、一顆黑色「查询」按鈕。是表單——因為模型判斷這個答案最合適的形狀就是表單。

    $深圳 → 北京 火车票查询
    $出发城市 深圳 · 到达城市 北京 · 出发日期 2025-06-18
    生成的「深圳 → 北京 火车票查询」卡片:出發到達城市已預填、日期選擇器停在 2025-06-18、黑色查詢按鈕,上方是使用者的查詢氣泡。
    模型為這封回覆選的前門,是表單。在 1:26 觀看
  2. 5

    作答:一張五行車次的可排序票價表

    表單下方,結果以真表格渲染——序號、車次、出發到達站與時刻、歷時、座位類型、票價、餘票:G80 07:14→15:38 二等座 1068 有票,G82 一等座 1712,慢車 Z108 硬臥 497 剩 32 張,G96 無票。「票价(元)」列表頭帶排序箭頭,首圖正抓到點擊那一瞬。同一份資料三副面孔:表單用來問,表格用來掃,排序用來比。

    $G80 07:14→15:38 二等座 1068 有票
    $G82 一等座 1712 · Z108 硬卧 497 · 32张
    五行生成的車次表:G80 到 G96,列出發時刻、歷時、座位類型、497 到 1712 的票價與餘票數,「票价(元)」欄可排序。
    五班車,列列可排,不靠截圖。在 1:30 觀看
  3. 6

    把模式畫出來:票價長條圖

    同一封回覆接著給出「不同时段票价对比」——真座標軸的長條圖,上午/中午/下午/夜間四根柱,中午衝到近 1,700,夜間那班不足 500。訊息腳註寫著「用量 27.2K tok · 用时 6秒」。儲存庫 README 的圖表清單(柱狀、折線、圓餅、雷達、儀表板等)是通用能力,這一幀是它的具體一次。

    $不同时段票价对比
    $上午 · 中午 · 下午 · 夜间
    生成的長條圖「不同时段票价对比」:上午、中午、下午、夜間四根柱立在 0–1,800 元座標軸上,圖例為「票价」。
    同一封回覆的第二個元件:一眼能懂的走勢。在 1:22 觀看

第三部分 · 小應用與那顆開關

  1. 7

    「生成番茄鐘」——一個能用的小應用

    新對話「生成精美番茄钟」:回覆搭出一顆番茄鐘——0 到 1,500 的錶盤、「开始专注」「重置」「跳过本段」三顆按鈕、裝著「完成产品方案初稿」的任務欄與獨立儲存按鈕、還有一張統計表(今日完成番茄數、專注分鐘數、目前模式)。這個迴路裡沒有任何人寫程式:模型寫了介面,按鈕真的有反應。

    $开始专注 · 重置 · 跳过本段
    $本次专注任务:完成产品方案初稿
    「生成精美番茄钟」對話生成的番茄鐘應用:0–1,500 錶盤、「开始专注」「重置」「跳过本段」按鈕、寫著「完成产品方案初稿」的任務欄與今日統計表。
    一個能幹活的小應用,被寫進回覆裡。在 3:26 觀看
  2. 8

    「生成計算機」——並且真的按下去

    「生成计算器」對話渲染出計算機卡片——AC、±、數字、運算子、等號——錄影真用了它:螢幕上是 450-93,游標正按「=」(README 的招牌範例,現場複刻)。按鍵是從模型 JSON 描述串流渲染出的真元件,不是某張截圖。

    $450-93
    $AC ± 7 8 9 × 4 5 6 + 1 2 3 = 0 . 00
    「生成计算器」對話生成的計算機:螢幕顯示 450-93,游標正按等號鍵,鍵位含 AC、±、數字與運算子。
    顆顆按鍵都能用——這是按下去的瞬間,不是口號。在 3:46 觀看
  3. 9

    那顆開關:「GenUI prompt on」

    輸入框工具列上有顆星形圖示,懸停出現提示「GenUI prompt on」。它控制 GenUI 引導提示——告訴模型何時該輸出介面的那段附加提示詞(UP 主在留言區的叫法:提示詞注入)。預設開啟且跨重啟記憶;關掉後模型回到純文字。錄影結尾移除外掛(dsh plugin --profile web remove dsh-genui),同一類問題從此只回散文。

    $GenUI prompt on
    $DeepSeek-V4-Pro Low
    全新 DeepSeek 對話輸入框工具列:星形圖示帶點擊圈已按下,提示「GenUI prompt on」,旁邊是 DeepSeek-V4-Pro Low 模型選擇器。
    一顆開關,決定回覆要不要長出介面。在 3:52 觀看

常見問題

這一頁最常被問的問題,答案來自錄影、留言區與外掛儲存庫。

dsh genui 是什麼?

一個 DeepSeek Harness 外掛,把模型回覆變成可互動的介面——圖表、表單、表格、選擇器、小應用——並把你的點擊與送出送回對話。儲存庫是 lhuans/dsh-genui(2026-10-15 GitHub 實查 ★12,MIT;舊地址 OpenTiny/dsh-genui 重新導向至此,UP 主置頂留言也指到這裡)。它以 dsh-genui 為名發布在 npm,安裝命令 dsh plugin --profile web add dsh-genui。發布這條實錄的帳號是 OpenTiny 社群,渲染元件來自 OpenTiny 的 genui-sdk。

和「渲染 HTML」的外掛有什麼不同?

差別有兩層:模型寫的是什麼,以及結果能不能操作。raw-html 類外掛拿模型寫好的 HTML 讓聊天介面顯示——圖表和動畫是拿來看的;dsh-genui 則讓模型輸出一份介面的結構化 JSON 描述(README 稱放在 schemaJson 程式碼區塊裡),由渲染器變成白名單元件,你點擊、送出的東西會回流進對話,模型據此繼續。一邊是顯示,一邊是回合。本頁幀裡出現的正是回合那一半:表單送出、表格排序、按鍵按下。

它支援哪些互動動作和元件?

按儲存庫 README:圖表類型(柱狀、折線、圓餅、環形、雷達、儀表板、漏斗、散點、瀑布);表單控制項(文字、下拉、單選、核取、開關、步進器、日期選擇、搜尋框、穿梭框),送出值自動回傳對話;帶分頁與搜尋的表格,以及樹、時間軸、分頁標籤、卡片;精靈、測驗等多輪回合;還有幀裡那種自由發揮的「小應用」(計算機、番茄鐘)。每次回覆由模型自行決定,明確說「用介面回答」也行。能渲染的只有白名單元件——不會注入任意 HTML 或腳本。

怎麼安裝?為什麼裝完沒反應?

一行:dsh plugin --profile web add dsh-genui(來自 npm,無需帳號、無需克隆)。錄影裡讓 Agent 代跑;PowerShell 執行原則攔下包裝腳本時,Agent 直接改呼叫 CLI。然後是最常被跳過的一步:重啟——Ctrl+C 停掉 harness,重新啟動,重新整理瀏覽器,開新對話。DSH 在啟動時鎖定外掛集,不重啟回覆就還是純文字。移除是鏡像命令:dsh plugin --profile web remove dsh-genui。

到底是哪個儲存庫?GitHub 上有兩個 dsh-genui。

影片裡的是 lhuans/dsh-genui——UP 主置頂留言與 OpenTiny/dsh-genui 重新導向雙重確認(均於 2026-10-15 核查;★12,pushed 2026-10-09)。同名的 omdsh-dev/dsh-genui(★588,pushed 2026-10-14)是另一個專案、另一套架構(dsh-ui 圍欄渲染器)——搜尋時極易混淆,影片留言區也有觀眾撞上同樣的二義。本頁所有連結都指向 lhuans 儲存庫及其網站。

每則回覆都會變成介面嗎?開銷如何?

不會——模型只在合適時才生成介面,普通問題照常回普通文字(README 明說,幀裡也有散文回答)。輸入框的星形開關可關掉 GenUI 引導,回到全文字回覆,卡片渲染仍保留。互動確實要花 token:每張介面都是模型輸出,幀裡的腳註顯示單輪數萬 token——實錄中的兩輪分別是 27.2K 與 29.1K tok。

相關指南

相鄰的幾條軸——各自改的是什麼,為什麼不是這頁。

來源與署名

全部畫面來自 Bilibili「OpenTiny社区」帳號 2026-10-12 發布的一條實錄(295 秒,無字幕軌;2026-10-15 API 實查 9,072 次播放——搜尋頁同數字虛高約 10 倍,故只引 API 值)。儲存庫身分經 UP 主置頂留言與 GitHub API 重新導向核查確認(2026-10-15);星標為同日 API 值。UP 主帳號以外的身分資訊一律按畫面所示表述、未獨立核實。上方每幀均可回跳其原始時間戳記。

DSH Plugins 是獨立的 DeepSeek Harness 外掛市集,與 DeepSeek 官方無關,也不代表官方背書。第三方外掛未經安全稽核,安裝前請審查原始碼。

每週取得最新的 DeepSeek Harness 外掛,絕不濫發。