前言¶
B 站 Toy(Toy 廣場)是一類可在瀏覽器裏打開的輕互動頁面。若希望在 DeepSeek Harness(DSH)對話或工作流裏「逛廣場、查詳情、打開鏈接、讀寫評論、點贊收藏」,需要有人把登錄態、接口參數和常用動作封裝成穩定工具,而不是每次讓模型手寫 URL 或猜測 Cookie 字段。
專用視覺包(如 dsh-coach-perceive-v3、dsh-cv-recall)負責 Toy 畫面內的點擊與按鍵;dsh-bili-toy 的定位是聯網工具層:掃碼登錄、拉列表與詳情、用系統瀏覽器打開 Toy、評論與互動寫接口。下面按安裝、目錄、工具表和邊界說明其用法。
這是什麼¶
dsh-bili-toy 是社區維護的 DSH 插件(維護者:yuanstarstar,分類:聯網工具)。它將 B 站 Toy 相關 HTTP 接口與 17 個 toy_* 工具暴露給宿主,讀類接口大多可匿名,寫操作依賴登錄後寫入用戶目錄的憑證。
插件當前版本爲 0.1.4,要求 dsh >= 0.1.7-rc.1、node >= 22。倉庫與目錄頁:
- 目錄:https://www.skillhub.cn/plugins/yuanstarstar/dsh-bili-toy
- 源碼:https://github.com/yuanstarstar/dsh-bili-toy
核心功能¶
登錄與設置頁¶
登錄工具包括 toy_login_qr、toy_login_poll、toy_login_status、toy_logout。二維碼走 passport.bilibili.com 域的 web 二維碼接口;輪詢成功後從響應 Set-Cookie 取出會話字段,必要時補 buvid3。
DSH 設置頁會出現 玩Toy 區塊,也可在該處掃碼;客戶端由 client.js 注入,修改客戶端代碼後刷新設置頁即可,無需整包重啓(首次掛載插件時仍需刷新或重啓宿主以看到該區塊)。
逛廣場與檢索¶
| 用途 | 工具 |
|---|---|
| 分類廣場 | toy_square(tab:all / game / interactive-play / tool / test / guide / collection / other / recommend / weekly) |
| 週刊與活動 | toy_weekly、toy_activities |
| 搜索與詳情 | toy_search、toy_detail |
打開與記憶¶
toy_open 在系統瀏覽器新標籤打開 Toy URL(附帶前端約定的 spm_id_from 查詢參數);toy_current 返回最近一次打開的 Toy,狀態寫在用戶目錄的 settings.json。
評論與互動¶
評論列表與發表走 B 站 reply 接口,type 固定爲 11(與 PC 詳情頁 data-params 一致)。toy_comments 只讀;toy_comment 可發主樓或樓中樓,並支持 atName / atUid。
互動側提供 toy_like、toy_favorite(不傳 id 時可列收藏夾)、toy_mine(收藏 / 自建 / 訪問記錄 / 用戶信息)。Toy 收藏須走 /x/toy/favorite/add|del,不能誤用通用收藏接口。
排查¶
toy_probe 在本地返回已驗證的接口地圖,便於對照 README 中的路徑表調試,不發起寫操作。
插件不實現 Toy 頁面內的點擊、滾動或 OCR;那部分應交給前述專用感知包。
家目錄與憑證¶
數據目錄爲 <DSH_HOME>/bili-toy/(Windows 默認 C:\Users\<你>\.dsh\bili-toy\):
credential.json:SESSDATA、bili_jct、DedeUserID、buvid3 等(Windows 上可用 icacls 收緊權限)settings.json:pageSize、category、replySort、上次打開的 toytoy.log:操作日誌(約保留 400 行)
分發插件包時不要附帶 credential.json、settings.json、toy.log、login-qr.png、selfcheck-out.json;收包方需自行掃碼登錄。
安裝與啓用¶
README 記錄的本機安裝方式爲目錄聯結(junction)加 profile 依賴,包名爲 @local/dsh-bili-toy。示例:
New-Item -ItemType Junction `
-Path "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\@local\dsh-bili-toy" `
-Target "D:\plugins\plugins\dsh-bili-toy"
在對應 profile 的 package.json 中:
dependencies增加:"@local/dsh-bili-toy": "link:D:/plugins/dsh-bili-toy"dsh.profile.bundles追加:"@local/dsh-bili-toy"
裝好後宿主會對 profile 的 package.json 做 HMR 監聽,通常幾秒內自動掛載;可在 logs\host\dsh-<日期>.log 查看 [hmr] 行,在 toy.log 中確認「host 已掛載」。若報 profile package identity is invalid,檢查 package.json 的 name 是否與裝入 node_modules 的包名一致。
注意:HMR 主要管首次掛載;改插件服務端源碼(.js / .mjs)後需重啓 DSH Desktop 纔會加載新邏輯。package.json 的 exports 須包含 "./package.json": "./package.json",否則設置頁可能不出現「玩Toy」且日誌無報錯。
另:用 PowerShell 5.1 的 Set-Content -Encoding UTF8 寫 JSON 可能帶 BOM,導致宿主恢復模式解析失敗;插件相關 JSON 應保存爲無 BOM UTF-8。
典型用法思路¶
- 調用
toy_login_qr,再toy_login_poll直至toy_login_status顯示已登錄(或直接在設置頁 玩Toy 掃碼)。 toy_square或toy_search拿數字id,用toy_detail/toy_comments讀詳情與評論(slug 短鏈頁需從頁面腳本解析M.toyID,否則只能toy_open)。toy_open交給人在瀏覽器裏玩;若 workflow 需要頁面內自動化,再接dsh-coach-perceive-v3等包。- 寫評論、點贊、收藏前確認模型調用的是帶
csrf的寫接口;點贊漏csrf會返回-111。
本機健康自檢(可選):
$env:ELECTRON_RUN_AS_NODE='1'
& "<DSH 安裝目錄>\DSH Desktop.exe" "D:\plugins\plugins\dsh-bili-toy\selfcheck.mjs"
查看 selfcheck-out.json 中 toolsOk、apiOk、qrOk 是否均爲 true。
適用場景與注意¶
適合:需要在 DSH 裏結構化訪問 Toy 廣場、代發評論(含 @)、點贊收藏,並把 Toy 在系統瀏覽器中打開的開發者或智能體編排者。
不適合:依賴插件在 Toy 畫面內模擬點擊或讀屏的流程;應組合專用 CV/感知插件。
權限與安全:插件以當前 DSH 進程權限訪問本機目錄與 B 站接口;安裝前應在 GitHub 閱讀源碼與許可證(倉庫未在已抓取片段中單獨列出許可證文件名,以倉庫當前聲明爲準)。發評論、點贊、收藏爲真實寫操作,README 說明未做二次確認。
已知邊界:部分 Toy 有防盜鏈,插件只負責打開 URL;少數接口對 sort、pageSize 等參數敏感,宿主若傳入 undefined 可能導致 ps=NaN 類 -400 錯誤(插件側已做歸一化說明)。Toy 專用收藏接口與通用收藏接口不可混用。
結尾¶
dsh-bili-toy 把 B 站 Toy 的登錄、廣場瀏覽、詳情評論與瀏覽器打開串成一組可編排工具,並與「只負責遞 URL、不做畫面操作」的邊界寫清楚。需要進一步瞭解參數與接口表,可直接閱讀倉庫 README;安裝與社區索引見 SkillHub 目錄頁 與 GitHub 倉庫。