dsh-bili-share:按分区定时向 QQ 分享 B 站公开视频

前言

在 DSH 里做内容分发,常见做法是手动搜链接、复制标题,再用别的脚本或机器人往群里丢。节奏不好控时,要么刷屏,要么长期没人发。若你只想从 B 站公开榜单里按分区筛视频,以随机间隔发到白名单 QQ 群或好友,并且希望去重、安静时段和每日上限都内置,dsh-bili-share 把挑片、调度、发送和状态记在 DSH Host 插件里完成,不引入额外第三方运行时依赖。

下面介绍它做什么、怎么装、怎么配,以及和 agent 工具配合的用法。

这是什么

dsh-bili-share 是维护者 Xuanminggod 发布的 DeepSeek Harness(DSH)Host 插件,源码仓库为 Xuanminggod/Xuanminggod-s-repository。当前 package.json 版本为 0.3.0,许可证 MIT,dependencies 为空。

它只读 B 站匿名公开接口(排行榜 / 综合热门),按你设定的分区与过滤条件随机挑一条视频,通过你自己部署的 OneBot v11 HTTP 发到指定群或私聊;同一接收方不会对同一视频重复推送,状态写在本地,重启后仍有效。

核心功能

挑片与过滤

  • 数据源示例:sources 里 type: "ranking",用 rid 指定分区(资料中示例:4 游戏、36 知识、188 科技、0 全站)。
  • filters 支持时效(maxAgeDays)、时长上下限、最低播放量、包含/排除关键词、同一 UP 主在最近 N 条内的冷却(sameUpCooldown)。
  • 七道过滤后再随机抽取一条;排行榜有约 10 分钟缓存,短时间连续操作可能因去重出现 NO_CANDIDATE,属预期行为。

发送与克制策略

  • 发送走 OneBot:POST {baseUrl}/send_group_msg、POST {baseUrl}/send_private_msg;老式端点名会自动回退;accessToken 非空时带 Authorization: Bearer。
  • 默认节奏:间隔 4–10 小时随机、每天最多 3 条、23:00–08:00 安静时段不发;连续失败 3 次自动暂停。
  • 消息支持标题模板、可选封面、推荐语模式 off | desc | ai(AI 走宿主默认模型,失败会降级到简介首句)。

状态与配置

  • 数据目录:$DSH_HOME/bili-share/(默认 ~/.dsh/bili-share/),含 config.json、state.json、apply-report.json。
  • 插件分 Host(调度与发送)与 Client(设置页):设置 → 插件 → dsh-bili-share,保存后热生效;装完或升级后需刷新页面才看到面板。

Agent 工具(v1.1 已支持先挑后发)

工具 用途
bili_share_now 立刻挑一条发;支持 dryRun、bvid、target
bili_share_pick 只挑不发,1–10 条候选
bili_share_send 发送指定 bvid,可传 note 作推荐语
bili_share_status 下次时间、今日条数、最近发送、最后错误
bili_share_set_paused 暂停/恢复自动分享
bili_share_config 改配置并立刻生效

v1 明确不做:B 站登录、评论弹幕、搜索/UP 订阅(计划 v2)、B 站小程序卡片、替你管理 QQ 机器人本体。

安装与启用

本地目录安装(命令来自 README,路径需换成你机器上的实际绝对路径):

dsh plugin --profile desktop add /绝对路径/dsh-bili-share

也可通过插件市场或插件管理器安装。装好后在设置里打开 dsh-bili-share 配置页,或准备编辑 ~/.dsh/bili-share/config.json。

典型用法

1. 设置面板(表单)

在面板中配置:启用状态、接收方 targets、分区与过滤、节奏 schedule、文案 message、OneBot 的 qq.baseUrl / accessToken。点保存写入 config.json 并立即生效。测试期可在 message.tag 填例如 (试验),正式使用时清空。

2. 让 agent 改配置

示例自然语言:

分享游戏区的视频到群 123456789,每 3~6 小时一次

对应工具 bili_share_config,只传要改的字段;注意 targets 在顶层,不在 qq 里:

{ "targets": [ { "kind": "group", "id": "123456789" } ] }

3. 先挑后发(推荐)

  1. bili_share_pick(4) —— 取 4 条候选,看标题和简介。
  2. 若装了视频故事板插件,可对 URL 调用 video_storyboard(url) 做轻量预览。
  3. 写一句推荐语。
  4. bili_share_send({ bvid, note }) —— 只发这一条,note 原样作为推荐语。

未装故事板时可跳过第 2 步,由你或模型根据简介写 note。

4. OneBot 最小要求

任何实现 OneBot v11 HTTP 的后端均可(README 举例 NapCat、Lagrange、go-cqhttp 兼容实现)。插件仅使用上述两个发送端点。

配置骨架(字段以 README 为准,可按需裁剪):

{
  "enabled": true,
  "sources": [{ "type": "ranking", "rid": 4, "limit": 50 }],
  "filters": {
    "maxAgeDays": 7,
    "minSeconds": 60,
    "maxSeconds": 3600,
    "minViews": 10000,
    "includeKeywords": [],
    "excludeKeywords": [],
    "sameUpCooldown": 2
  },
  "qq": {
    "baseUrl": "http://127.0.0.1:3000",
    "accessToken": ""
  },
  "targets": [
    { "kind": "group", "id": "123456789", "at": [], "persona": "" }
  ],
  "schedule": {
    "intervalMinMinutes": 240,
    "intervalMaxMinutes": 600,
    "dailyMax": 3,
    "quietHours": "23:00-08:00"
  }
}

适用场景与注意

适合谁

  • 已在 DSH 里跑 agent,并自备 OneBot 后端与 QQ 机器人账号。
  • 想把 B 站公开榜单内容以可控频率推到固定群/好友,且需要 per-target 去重与本地状态。

使用前应知晓

  • 插件以当前 dsh 进程权限运行,安装前请阅读仓库源码与 MIT 许可证,确认 OneBot 地址、群号与过滤规则符合你的合规要求。
  • B 站匿名接口可能返回风控码(资料中 -352 → BILI_RISK_CONTROL),插件不会盲目重试。
  • 设置页是插件自带 Client 半边,而非宿主自动生成的 schema 表单(自检中 hasConfigSchema: false 属已知边界)。
  • 社区目录 SkillHub 插件页 与 GitHub 仓库由社区维护,与 DeepSeek / 幻方无官方从属关系;DSH 生态遵循「一切皆插件」,按需选用即可。

结尾

dsh-bili-share 把「从 B 站公开榜挑片 → 随机间隔 → OneBot 发到 QQ」收成一套 Host 插件:过滤、去重、安静时段和 agent 侧 bili_share_* 工具都在 README 里写全。若要进一步核对实现与版本,以仓库为准:

  • 目录页:https://www.skillhub.cn/plugins/Xuanminggod/Xuanminggod-s-repository
  • GitHub:https://github.com/Xuanminggod/Xuanminggod-s-repository
羽毛球分组比赛记分
小程序二维码

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

Xiaoye