dsh-linkify:讓 DSH 裏自己發的消息也能點鏈接

前言

在 DeepSeek Harness(DSH)裏和智能體協作時,你經常要在輸入框裏貼文檔地址、倉庫鏈接或帶超鏈接的說明文字。DSH 的對話區對助手回覆會按 Markdown 渲染,但用戶自己發出的內容在氣泡裏往往是純文本:寫成 [標題](https://…) 或裸 URL,界面上不一定能點。更麻煩的是從瀏覽器或其它聊天工具複製帶鏈接的富文本進 DSH 時,富文本里的 href 常會丟,只剩可見文字,鏈接信息沒了。

下面介紹社區客戶端插件 dsh-linkify(維護者 alvachhhhh):在用戶消息氣泡裏把 Markdown 鏈接和裸 https://… 收成可點擊鏈接,並在粘貼時把帶鏈接的富文本轉成 [label](url),避免鏈接在進輸入框的路上被剝掉。

這是什麼

dsh-linkify 是掛在 DSH 客戶端上的插件,分類爲「客戶端」。它不改模型側邏輯,只處理會話 UI:用戶消息展示、輸入框粘貼與部分表格形態內容的識別渲染。插件當前版本爲 0.1.8,許可證 MIT,源碼在 GitHub 倉庫 alvachhhhh/dsh-linkify;社區目錄頁爲 skillhub.cn 上的 dsh-linkify。

核心功能

README 中寫明的行爲如下,安裝前可按需對照源碼覈對。

  1. 用戶消息裏的鏈接可點擊
    消息中出現 [label](https://…) 或裸 https://… 時,在你自己的消息氣泡裏顯示爲帶下劃線的可點擊鏈接;點擊後在 DSH 內置瀏覽器標籤頁打開(若無該標籤頁則回退爲 window.open)。

  2. 粘貼富文本時保留鏈接
    從瀏覽器或聊天應用複製帶超鏈接的富文本粘貼進 DSH 時,插件在寫入輸入框前將其轉換爲 [label](url),且只插入一次,避免重複。輸入框本身仍是純文本編輯器,不會在輸入框內就地渲染鏈接——這是 DSH 作曲器的設計,不是插件缺陷。

  3. 表格粘貼與渲染
    從網頁、Excel 或 Numbers 複製的表格:粘貼時可把製表符分隔的行轉成管道表格(pipe table);氣泡裏若已是 pipe 行或一致的製表符分隔行,也會按表格渲染,單元格內鏈接仍可點擊。不依賴「必須先經過粘貼轉換」才能在氣泡裏看到表格。

  4. 與助手回覆無關
    助手回覆中的鏈接走 DSH 原生 Markdown 渲染,不由本插件負責。

兼容性與依賴

插件要求 DSH 0.2.2 或更新(package.json 中 engines.dsh 爲 ^0.2.2-0)。實現上用到 conversation.user.text.node 插槽、uiConversation.userText 規則 API 以及 sidebarRight 瀏覽器標籤頁,這些自 0.2.2 起可用。

安裝與啓用

DSH 市場無法直接安裝本地 link: 包(pnpm 會按 registry 重新解析 @deepseek-ai/dsh-* 依賴範圍),因此需按倉庫 README 手工鏈接。下面步驟摘自官方說明;P 請換成你實際使用的 profile 路徑。

git clone https://github.com/alvachhhhh/dsh-linkify.git ~/Projects/dsh-linkify

P=~/.dsh/profiles/desktop          # use the profile you actually run
mkdir -p "$P/node_modules"
ln -sfn ~/Projects/dsh-linkify "$P/node_modules/dsh-linkify"

# 1) declare the dependency
#    package.json -> dependencies: "dsh-linkify": "link:/Users/you/Projects/dsh-linkify"
# 2) add it to the bundle list
#    package.json -> dsh.profile.bundles: add "dsh-linkify"

編輯 profile 的 package.json 後重啓 DSH Desktop。卸載時刪除上述 dependency 與 bundle 條目並重啓。

插件以標準 DSH bundle 發佈(dsh.bundle + dsh.client),客戶端注入 @deepseek-ai/dsh-client-ui-conversation,platform 爲 web,immediately 爲 true。

典型用法

經過上面的安裝與重啓,無需額外配置項即可使用。

  1. 在輸入框直接寫 Markdown 鏈接或裸 URL
    發送後,在自己的消息氣泡裏應看到可點擊鏈接,例如:
   文檔見 [DSH 插件目錄](https://www.skillhub.cn/plugins/alvachhhhh/dsh-linkify)
   或裸鏈:https://github.com/alvachhhhh/dsh-linkify
  1. 從瀏覽器複製帶下劃線的鏈接文字再粘貼
    粘貼進作曲器後,內容應變更爲 [可見文字](原始 url) 形式的 Markdown 源文;發送後在氣泡中鏈接保留且可點。

  2. 粘貼表格
    從表格類應用複製多行製表符分隔數據,粘貼後可能轉爲 pipe table 源文;發送後氣泡中按表格展示,單元格內鏈接仍可點擊。

助手側已有的 Markdown 鏈接行爲不變;本插件只增強用戶側展示與粘貼鏈路。

適用場景與注意

適合誰: 經常在 DSH 裏自舉鏈接、粘貼文檔摘錄或表格、又希望消息氣泡裏能直接點開 URL 的開發者或智能體使用者。

運行與安全: 插件與當前 DSH 客戶端進程同權限運行。社區目錄 skillhub.cn 爲獨立生態站點,與 DeepSeek / 幻方無官方從屬關係;安裝前建議閱讀倉庫源碼與 MIT 許可證,自行判斷是否納入日常 profile。

開發自測(可選): 維護者在倉庫中提供:

node --check client.js
node check.mjs     # asserts, no test framework

check.mjs 覆蓋規則匹配、粘貼轉換、表格識別(pipe 與 tab 行)、粘貼監聽與渲染點擊行爲。

結尾

dsh-linkify 針對的是 DSH 用戶消息裏「鏈接寫了卻點不了」和「富文本粘貼丟 href」兩個具體痛點:展示側把 Markdown 與裸 URL 鏈起來,粘貼側先把富文本收成 [label](url)。若你已在用 DSH 0.2.2+ 並願意手工把 bundle 鏈進 profile,可按 README 安裝後直接用輸入與粘貼驗證效果。

  • 社區目錄:https://www.skillhub.cn/plugins/alvachhhhh/dsh-linkify
  • GitHub:https://github.com/alvachhhhh/dsh-linkify
羽毛球分组比赛记分
小程序二维码

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

小夜