前言¶
在 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. 先挑後發(推薦)¶
bili_share_pick(4)—— 取 4 條候選,看標題和簡介。- 若裝了視頻故事板插件,可對 URL 調用
video_storyboard(url)做輕量預覽。 - 寫一句推薦語。
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