前言¶
用 DSH 做數據分析、讀論文或者彙報實驗結果時,常見的問題是:模型給出的表格和數字,得自己再複製到繪圖工具裏才能看。工具日誌裏的 ASCII 圖能看個大概,但沒法調樣式,刷新會話之後通常也就沒了。
ylifeonlyonce/dsh-inline-visuals 解決的是這個問題:讓 agent 在對話流裏直接產出一張卡片圖,卡片跟着會話日誌走,刷新、重開、分支都還在。下面介紹這個插件。
這是什麼¶
這是 YLifeOnlyOnce 維護的一個 DeepSeek Harness 插件,作用是把數據畫成圖,嵌在回覆正文的下方,而不是隻留在工具日誌裏。名字裏的 Inline 指的就是圖直接長在回答裏。
社區目錄頁把它歸在「趣味換裝」分類(第 3 方目錄的歸類,跟功能本身關係不大)。項目 2026-11-05 建倉,README 標註 MIT 許可證,package.json 裏的版本號是 1.1.0。
README 和倉庫描述對種類數量的寫法不一致:README 標題寫「18 kinds of charts…」,還配了一枚 18 類的徽章;倉庫 description 寫「14 replayable visual kinds」。實際能力以下面那張種類表爲準。
能畫什麼¶
README 給出的種類表分三組:
| 分組 | 種類 |
|---|---|
| Charts | bar · line · area · pie · doughnut · scatter · radar · waterfall |
| ML & papers | training curves · ROC/PR curves · confusion matrix · histogram · model leaderboard · embedding scatter |
| Everything else | compare table · timeline · gantt · heatmap · flow · KPI tiles |
這些圖都支持 presentation styles:橫向或堆疊的柱狀、階梯線、數據標籤、圖例、網格、五種配色、高度與密度、散點趨勢線、對數座標軸、EMA 平滑、誤差棒。
體積上,宿主側約 35 KB,瀏覽器側一個自包含文件約 217 KB(Chart.js 內聯,React 與宿主共用)。測試用 node:test 寫了 38 個,每次 push 跑 CI,npm 發佈由 tag 驅動並帶 provenance。
安裝與啓用¶
在 DSH 會話裏粘貼一行:
plugin_manager({ action: "install_bundle", target: "dsh-inline-visuals" })
不需要 clone,不需要配置。裝完之後 agent 的工具列表裏會出現 show_visual 和 edit_visual。
README 標註需要 DeepSeek Harness v0.2.1-rc.3 或更高版本。想從源碼裝的話,README 給出的替代路徑是 github:YLifeOnlyOnce/dsh-inline-visuals,或者把 Plugin Manager 指向本地 clone,細節見倉庫裏的 docs/reference.md。
典型用法¶
裝完直接跟 agent 說需求。README 給了幾個例子:
Compare three caching strategies — hit rate, memory and complexity — as a chart.
Turn that into a horizontal stacked bar, and add value labels.
Draw our release pipeline as a flow.
Show last week’s traffic as a heatmap.
改樣式也不用從頭重畫,edit_visual 會在原 spec 上打補丁。
讀論文和訓練日誌的場景:
Plot train/val loss for 8 epochs on a log scale, smoothed, with error bars.
Draw the ROC curve from these points and mark AUC.
Make a confusion matrix for cat/dog/bird from this table.
Compare these four models on accuracy, F1 and latency — highlight the best.
Cluster these embeddings by class and show a t-SNE scatter.
它是怎麼工作的¶
模型發出一個小的聲明式 spec,插件校驗後把它寫到 tool result 上,客戶端用宿主的主題來渲染。因爲數據已經在會話日誌裏,回放時不需要再調一次模型。
實現層面的幾個細節:
- 卡片存在會話日誌(
tool/result.meta)裏,不是單獨的文件。 - 插件自身不做任何網絡請求。
- 模型只發數據,不發 HTML 或 JavaScript。
- 圖表類(canvas)支持點擊數據點,一鍵把後續提問帶進輸入框。
- 純文本客戶端會收到一份緊湊的文字摘要,信息不丟。
- spec 的穩定版本是
version: 3,v1/v2 的 spec 仍然能渲染。 - 導出:複製爲 JSON 或 CSV,圖表導出 PNG,手繪卡片導出 SVG。
適合誰,以及注意點¶
適合想在 DSH 裏讀論文、看訓練曲線、做數據對比,並且希望圖能留在會話裏的人。功能上跟繪圖工具重疊,但勝在不用離開對話、不用二次加工。
注意幾點:
- 插件以當前 DSH 進程的權限運行,安裝前應當先讀一遍源碼,確認它的行爲符合預期。許可證是 MIT(© 2026 YLifeOnlyOnce)。
- README 上的種類數(18)和倉庫描述(14)不一致,如果要做選型,建議直接看
docs/reference.md的參數清單。 - 倉庫目前只有 1 個 star,關注度很低,遇到問題基本得自己提 issue 或者改源碼。
- 按 README 的說法,目前只有 chart 類畫布支持點擊追問,其他類型的交互還沒上。
小結¶
這個插件的價值是把「圖」變成會話日誌的一部分:圖出現在回答下方,能點擊追問、能改、能導出,重開會話還在。安裝一行命令,不需要配置。
- 目錄頁:https://www.skillhub.cn/plugins/YLifeOnlyOnce/dsh-inline-visuals
- GitHub:https://github.com/YLifeOnlyOnce/dsh-inline-visuals