dsh-plugin-bili-share:在 DSH 里把 B 站链接转成 b23 短链与封面

前言

在 DeepSeek Harness(DSH)里写文稿、回帖或让 Agent 整理资料时,常会碰到 B 站视频 URL:又长、不利于粘贴,配图还要自己去找封面。手动打开视频页复制标题、再换短链,步骤碎且容易断在剪贴板格式上。

下面介绍社区插件 dsh-plugin-bili-share(维护者 Vito-Li-tech):把 Bilibili 链接解析为 b23.tv 短链、封面直链和标题,并在 DSH 里提供斜杠命令、侧栏面板和 Agent 工具,方便一键复制文字或分享图。

这是什么

dsh-plugin-bili-share 是面向 DSH 的 B 站分享辅助插件。核心能力:输入各类 B 站视频链接或 BV/av 号,输出官方格式短链 https://b23.tv/<BV号>、封面 URL(来自 B 站 x/web-interface/view)以及标题。

插件在宿主侧注册工具 bili_short_link_with_cover、斜杠命令 /bili,以及本地接口 /bili-share/api;浏览器端提供侧栏「B站分享」面板与复制逻辑。当前 npm 包版本为 1.2.6,许可证 MIT,要求 Node >=20,DSH 引擎 >=0.1.7-rc.1。

社区目录页:SkillHub - dsh-plugin-bili-share。源码与说明:GitHub 仓库。

核心功能

  1. 链接解析:支持 bilibili.com/video/BV...、m.bilibili.com、av 号、裸 BV/av,以及 b23.tv 短链;短链会先跟随重定向再解析。
  2. 短链生成:不调用已失效的分享 click API,直接拼 https://b23.tv/<BV号>。
  3. 封面与标题:调用 api.bilibili.com/x/web-interface/view 的 data.pic,http:// 会升级为 https://。
  4. 失败语义:预期内失败返回 ok:false 与 error,并回传输入 URL 作备用,不抛异常打断会话。
  5. 浏览器安全:封面经 /image 代理,仅允许 B 站图床,降低 SSRF 风险;画布生成分享卡不受 CORS 限制。

输出示例(README 原文):

输入:https://www.bilibili.com/video/BV1GJ411x7h7
输出:https://b23.tv/BV1GJ411x7h7
      https://i1.hdslb.com/bfs/archive/....jpg
      【官方 MV】Never Gonna Give You Up - Rick Astley

安装与启用

DSH 的模块解析以 profile 内安装的包为准;README 说明不宜用 link: 指到工作区,否则可能解析不到 @deepseek-ai/* 依赖。官方做法是本地打 tgz 包,再通过插件管理器安装(或让 Agent 调用 plugin_manager 的 install_bundle)。

在插件源码目录执行:

cd C:\path\to\dsh-plugin-bili-share
Remove-Item *.tgz -Force
npm pack --pack-destination .

将生成的 .tgz 安装进当前 profile。宿主代码更新后需重启 DSH;仅浏览器端变更时刷新页面即可。

可选配置写在 profile 的 cordis.patch.yml 中,例如缩短接口超时:

- id: bili-share
  config:
    apiTimeout: 5000

完整配置项(均有默认值):

键 默认值 说明
apiBase https://api.bilibili.com B 站 API 根地址
shortLinkBase https://b23.tv 短链前缀
apiTimeout 8000 视频详情接口超时(ms)
resolveTimeout 8000 b23 短链解析超时(ms)
userAgent 桌面 Chrome UA 请求 B 站使用的 UA

安装前应自行阅读仓库源码与 LICENSE,确认你愿意以当前 DSH 进程权限运行该插件(它会代表你请求 B 站接口)。

典型用法

斜杠命令 /bili

  1. 先复制一个 B 站链接,在输入框输入 /bili 并回车:自动解析并打开「B站分享」面板,按需点「复制文字 + 封面」或「复制图片卡」。
  2. 或直接输入 /bili <链接或 BV 号> 并回车:不经过模型,在对话里返回短链、封面和标题。

剪贴板读取需要浏览器授权;若被拒绝,/bili 仍会打开面板,可手动粘贴链接。

侧栏「B站分享」

粘贴链接 → 生成 → 在结果卡片上操作:

  • 复制文字 + 封面:写入 text/plain 与 text/html(封面以 data URL 内嵌);即时通讯软件通常取文字,Word/飞书等富文本环境可带封面图。
  • 复制图片卡:仅 image/png,生成 720px 宽分享卡(封面 + 标题 + 短链),适合微信 / QQ 发一整张图。
  • 「短链」「封面」旁的复制按钮各自只复制对应字段。

文字形态示例:

🔗 短链: https://b23.tv/BV1GJ411x7h7

📺 标题: 【官方 MV】Never Gonna Give You Up - Rick Astley

说明:剪贴板一次只能让目标应用选一种格式;微信 / QQ 往往优先取图片。要可点击的文字用左侧按钮,要图用右侧,无法保证一次粘贴同时得到两种效果。

Agent 工具

在新会话中自然语言即可,例如:

帮我把 https://www.bilibili.com/video/BV1GJ411x7h7 转成 b23 短链,顺便给我封面。

模型会调用 bili_short_link_with_cover。

适用场景与注意

适合:在 DSH 内写推荐语、整理播放列表、把 BV 链发给同事或发到支持富文本/图片的渠道;需要 Agent 自动规范化 B 站 URL 时。

边界(README 已知限制):

  • 主要面向视频稿件;番剧、直播、专栏等链接常无法解析 BV/av,会降级为「无法解析」。
  • 接口成功但无封面时,ok:true、coverUrl 为空并带 warning。
  • 插件会访问 B 站公网 API,受网络与接口策略影响;超时等可通过 apiTimeout / resolveTimeout 调整。

DSH 生态理念是「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。本文事实均来自上述 GitHub README 与 package.json。

结尾

dsh-plugin-bili-share 把「短链 + 封面 + 标题」收成 DSH 内的一条链路:命令、面板和工具共用同一套解析逻辑,减少手工开页复制。

  • 目录页:https://www.skillhub.cn/plugins/Vito-Li-tech/dsh-plugin-bili-share
  • GitHub:https://github.com/Vito-Li-tech/dsh-plugin-bili-share
羽毛球分组比赛记分
小程序二维码

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

小夜