前言¶
在 DSH 裏對接 B 站 Toy 廣場,常見做法是手寫定時任務、自己調 Toy 接口,再在會話裏補進度和評論。dsh-bili-toy-bot 把「到點選片、開玩、收工點評、播報」收成一條工作流:默認把一局任務寫成提示詞交給綁定會話裏的 agent,用 toy_* / coach_* 完成操作;也可退回插件自帶的 headless Edge(CDP)模式。配套插件 dsh-bili-toy 提供 Toy 接口與登錄憑證,本插件不負責登錄。
下面按定位、能力、安裝、用法和注意事項說明。維護者:yuanstarstar;當前版本 0.4.5(資料來源:GitHub README / package.json)。SkillHub 分類爲「工作流」。
這是什麼¶
dsh-bili-toy-bot 是 DSH Desktop 的本地 bundle 插件(@local/dsh-bili-toy-bot),向宿主註冊 20 個 bot_* 工具,並在設置頁提供「玩toy機器人」面板。出廠人設寫在包內 preset.json(不含登錄與會話狀態);運行配置與記錄寫在用戶家目錄 C:\Users\<你>\.dsh\bili-toy-bot\。
引擎要求:node >= 22,dsh >= 0.1.7-rc.1。
核心功能¶
兩種玩法¶
默認:playMode: 'session'(交給綁定會話玩,推薦)
到點建 run 記錄 → buildPlayPrompt 生成整局提示詞 → agent.followup 發進綁定會話 → 會話內 agent 自行挑遊戲、toy_open、用 coach_* 看畫面操作 → 單局時長內可 bot_say 開局一句、收工後 1~3 句點評(0.4.1 起不在局內每 20 秒刷進度)→ 可選 toy_comment 評論。
備選:playMode: 'headless' 或未綁會話時兜底
插件用 headless Edge 開頁,點「開始遊戲」、定時截圖、到點或掛機收工;動作偏保守(有文字按鈕、畫面中下、空格等),頻率受 maxActionsPerMinute 限制。截圖落在 runs/<id>/shots/。
調度與策略¶
- 活躍時段
slots(默認12:00-23:00,支持跨夜如21:00-01:00)。 - 每天局數上限
maxRunsPerDay(默認 6)、兩局最短間隔minGapMinutes(默認 20 分鐘)、每天總時長dailyTotalMinutes(默認 90)、單局最長maxMinutesPerToy(默認 20)。 - 「看錶間隔」
heartbeatSeconds(默認 10 秒):每隔多久判斷該不該開工(設置頁可見,0.4.4 起由「心跳」改名以免與兩局間隔混淆)。 - 選品:
allowAuthors/allowSlugs白名單、blacklistKeywords黑名單;bot_plan可只挑不玩。
人設、評論與 @¶
人設(名字、形象、性格、口頭禪、選片口味等)與說話風格、開局模板可在配置或設置頁編輯;bot_voice 可試寫評論效果。
評論默認關(commentEnabled: false)。打開後受 commentMaxPerDay / atMaxPerDay 限制。atEnabled 與 atTargets: [{name, uid}] 控制能否 @ 及可 @ 名單(第一條當「主人」);評論提示詞要求只 @ 名單內用戶。dryRun: true 時只規劃不發評論;關 dryRun 才真發(見 README「開關流程」)。
播報:broadcastMode 爲 feed(動態)、session(綁定會話)或 off。
工具面(節選)¶
| 類別 | 工具 |
|---|---|
| 狀態與配置 | bot_status、bot_config_get / bot_config_set、bot_start / bot_stop |
| 對局 | bot_plan、bot_play_now、bot_runs / bot_run_get、bot_diary / bot_stats |
| 會話 | bot_sessions、bot_session_bind、bot_session_activate |
| 播報與評論 | bot_say、bot_voice、bot_comment_draft / bot_comment_send / bot_comment_list、bot_feed |
完整 20 項見 README 表格。
安裝與啓用¶
README 寫明:不需要 npm 安裝器;須先具備 dsh-bili-toy(與機器人同父目錄放置即可,通過 @local/dsh-bili-toy/lib/bili.mjs 或相對路徑 ../../dsh-bili-toy/lib/bili.mjs 解析接口)。
- 將 release zip 解壓到任意目錄,例如
D:\plugins\dsh-bili-toy-bot。 - 在 profile 的
node_modules下建目錄聯接,並改package.json(保持 UTF-8 無 BOM)。 - 重啓 DSH Desktop(宿主代碼不熱更新)。重啓後設置頁出現「玩toy機器人」,工具列表出現 20 個
bot_*。
# 示例:目錄聯接 + package.json 片段(摘自 README)
$profile = "$env:USERPROFILE\.dsh\profiles\desktop"
New-Item -ItemType Junction -Path "$profile\node_modules\@local\dsh-bili-toy-bot" -Target "D:\plugins\dsh-bili-toy-bot"
"dependencies": {
"@local/dsh-bili-toy-bot": "link:D:/plugins/dsh-bili-toy-bot"
},
"dsh": {
"profile": {
"bundles": [ "...", "@local/dsh-bili-toy-bot" ]
}
}
安裝前請自行閱讀倉庫源碼與 LICENSE,確認權限與行爲符合預期;插件以當前 DSH 進程權限運行。
典型用法¶
綁定會話並手測一局¶
設置頁「綁定會話」可列在線會話、一鍵綁定或新建;也可用工具:
bot_config_set { sessionId: '<會話id>', playMode: 'session' }
bot_play_now
接口會同步返回是否已交給會話;面板可顯示「已經交給會話 / 會話不在線」。0.4.5 修復:設置頁「立刻玩一局」發送的 minutes 僅作當次上限,不再覆蓋已保存的 maxMinutesPerToy。
打開自動調度¶
bot_config_set { commentEnabled: true } # 需要真發評論時
bot_config_set { dryRun: false } # dryRun 影響是否真發評論
bot_start
需要暫停時調用 bot_stop。查狀態用 bot_status(含時段內與否、今日局數、下一局時間、綁定會話是否在線)。
家目錄裏有什麼¶
C:\Users\<你>\.dsh\bili-toy-bot\
config.json # bot_config_* 讀寫
state.json # 今日計數、上次開工
history.json # 各 toy 遊玩次數
bot.log
cdp-profile/ # headless Edge 獨立 profile
runs/<id>/ # meta、steps、shots、diary
daily/<日期>.md # 日報
適用場景與注意¶
適合誰: 已在 DSH 使用 dsh-bili-toy、希望用固定作息自動逛 Toy 廣場,並更傾向在綁定會話裏用 agent 完成一整局(或接受 headless 兜底)的開發者。
依賴: 無 dsh-bili-toy 時接口解析會失敗;B 站登錄與 Toy API 由配套插件負責。
安全與合規: 自動評論、@ 用戶、瀏覽器自動化均依賴你的配置與賬號;默認 enabled: false、commentEnabled: false、dryRun: true,避免誤開。headless 模式會寫獨立 cdp-profile,不共用日常瀏覽器標籤。
生態說明: DSH 社區插件目錄(如 SkillHub)爲社區站點,與 DeepSeek / 幻方無官方從屬;安裝鏈路以維護者 README 爲準,勿臆造 dsh plugin add github:... 一類未在資料中出現的命令。
結尾¶
dsh-bili-toy-bot 把 Toy 廣場的定時遊玩、會話交棒、收工點評和過濾策略封裝成可配置的 20 個 bot_* 工具與設置頁,適合作爲 DSH 工作流裏「B 站 Toy 自動逛玩」的一層。
- 目錄頁:https://www.skillhub.cn/plugins/yuanstarstar/dsh-bili-toy-bot
- 源碼與文檔:https://github.com/yuanstarstar/dsh-bili-toy-bot