DeepSeek Harness 插件介紹:dsh-reference-render

DeepSeek Harness (DSH) 採用“一切皆插件”的架構理念。在構建智能體對話流時,經常需要引用特定資源(如報告 ID、數據庫記錄等)。如果沒有統一的渲染標準,這些引用可能只是普通的 Markdown 鏈接,缺乏上下文展示和交互入口。dsh-reference-render 插件旨在解決這一痛點,提供一種域中立的結構化引用渲染方案。

插件定位

這是一個由 popingalex 維護的 DSH 客戶端插件。它不擁有業務真理,而是作爲渲染層存在,將標準的 GFM(GitHub Flavored Markdown)鏈接轉換爲具有交互功能的行內 Chip。

核心能力

  1. 域中立渲染:插件不處理具體的業務邏輯,內容由其他插件通過契約提供。
  2. 自動轉 Chip:普通的 GFM 鏈接會自動被渲染爲行內 Chip。
  3. 裝飾支持:支持 dot、bar、icon 裝飾,每側最多 3 個。
  4. 交互能力:
    • 懸浮預覽:鼠標懸停可查看引用內容。
    • 右側欄跳轉:點擊 Chip 可在右側欄打開對應資源。

安裝與啓用

由於該插件尚未發佈至 npm,需直接從源碼構建安裝。請確保你的環境滿足依賴要求(DSH 0.2.1-alpha.1,Node.js ^22.19.0 或 >=24.0.0)。

git clone https://github.com/popingalex/dsh-reference-render.git
cd dsh-reference-render
pnpm install
pnpm build
npm pack
dsh plugin --profile web add ./dsh-reference-render-0.1.0.tgz

典型用法

1. 基礎引用

在對話文本中直接使用 [label](dsh-ref:<kind>:<id>) 語法,插件會將其渲染爲 Chip。

Build completed. See [RP-42](dsh-ref:report:RP-42) for details.

2. 內容插件集成

內容插件可以通過註冊插槽和監聽事件來聲明引用並提供裝飾。例如,內容插件可以註冊 reference.hover.content 並提供圖標裝飾。

ctx.effect(() => ctx.slots.register({ 
  name: 'reference.hover.content', 
  select: (owner) => isOurs(owner.descriptor) ? {} : null 
}, MyHoverCard))

ctx.on('reference/open', ({ descriptor }) =>
  isOurs(descriptor) ? (ctx.sidebarRight.openResource(descriptor.uri), { handled: true }) : undefined)

適用場景與注意

  • 適用場景:適用於需要在對話流中嵌入各種資源引用的場景,特別是需要統一交互體驗(如懸浮預覽、側邊欄跳轉)的 DSH 插件開發。
  • 兼容性:目前僅供 DSH 0.2.1-alpha.1 測試使用。
  • 運行機制:
    • 未聲明的引用保持爲普通 Chip,無操作(Hover 和 Click 均無效)。
    • 移除該插件不會影響主機(DSH 主進程)。
  • 生態說明:該插件收錄在社區目錄(SkillHub)中,與 DeepSeek 或幻方無官方從屬關係。

總結

dsh-reference-render 爲 DSH 插件生態提供了標準化的引用渲染層。它通過解耦渲染邏輯與業務邏輯,讓內容插件專注於數據提供,而由該插件統一處理引用的展示與交互。

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

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

小夜