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
羽毛球分组比赛记分
小程序二维码

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

小夜