用 dsh-openbiliclaw 把 OpenBiliClaw 裝進 DeepSeek Harness

前言

DeepSeek Harness(命令行入口是 dsh)是 DeepSeek AI 開源的智能體框架,官方倉庫寫得很明確:Everything is a Plugin——模型、工具、技能、會話、沙箱、界面都可以按插件替換和組合。框架本身在 deepseek-ai/deepseek-harness,社區裏也有獨立站點幫忙找插件。需要先說清楚: DeepSeek Harness 插件庫 是社區運營的目錄,和 DeepSeek、幻方沒有從屬或背書關係,條目只指向維護者自己的倉庫。

日常在 DSH 的 Web 界面裏寫代碼、調度 Agent,瀏覽器標籤頁往往還開着 B 站、小紅書、YouTube。推薦流在平臺那邊,工作流在 Harness 這邊,兩邊的興趣信號也接不上。OpenBiliClaw 本身是一個本地運行的跨平臺內容發現 Agent:先根據使用、反饋和對話更新畫像,再去多個平臺找內容。dsh-openbiliclaw 做的事情更窄——把消費側搬進 DSH 的 Web GUI,讓人能在同一套界面裏刷推薦、答探測,也讓 DSH 裏的 Agent 通過工具走同一套後端。下面按目錄頁和倉庫 README 把定位、能力和安裝寫清楚。

這是什麼

dsh-openbiliclaw 是 OpenBiliClaw 的 DeepSeek Harness 客戶端插件,由 whiteguo233 維護,npm 包名是 @openbiliclaw/dsh-plugin。目錄頁把它歸在「工作流與自動化」,許可證是 BSD-3-Clause,主要語言是 JavaScript。寫作時倉庫 package.json 裏的版本是 0.3.204,GitHub 顯示 36 顆星(社區目錄頁當時寫的是 25,星標以倉庫頁面爲準)。

它解決的問題可以分成兩半:

  • 人用側:在 DSH 左側欄底部加一個 OpenBiliClaw 按鈕,點開後從右側滑出抽屜,裏面是推薦、內容庫、對話、畫像、設置。視覺和瀏覽器插件、手機版對齊,深色模式跟隨 DSH 主題。
  • Agent 用側:註冊 22 個 openbiliclaw_* 工具,以及 openbiliclaw-adapter skill,讓會話裏的 Agent 能讀推薦、回答興趣/迴避探測、保存內容、轉述對話,把「推薦 → 反饋 → 畫像 → 更準的推薦」接進 DSH。

主項目在 whiteguo233/OpenBiliClaw(MIT 許可證)。它從 B 站起步,現在覆蓋 B 站、小紅書、抖音、YouTube、X、知乎、Reddit、Linux.do、Bangumi、V2EX、微博和開放 Web;數據默認留在本機 SQLite。插件 README 寫得很清楚:本倉庫只做消費側。爬取、平臺源管理、賬號同步仍屬於主項目(後端 + 瀏覽器插件 / 手機版),有意不帶進 DSH。

目錄頁和主項目 README 常用「第四欄」概括那五個頁籤。插件 README 補充了一句實現細節:當前官方 DSH 已經去掉舊的 aside 列,實際用的是兩個加法槽位——sidebar.footer.action(左側欄底部按鈕)和 shell.overlay(幀級浮層抽屜),不佔用獨立列,也不用改 DSH 源碼。

核心功能

面板和 Agent 工具走同一套後端狀態。面板裏收藏的條目,Agent 立刻能看到;Agent 代答的探測,面板也會同步。默認通過 HTTP 和 WebSocket 連本機後端 http://127.0.0.1:8420

人用側:五個頁籤

推薦(For You)。頂部可以出一張驚喜推薦 hero 大圖(16:9 封面、匹配分數、推薦理由),卡片上能點看看、喜歡、稍後看、收藏、少來點、聊一聊。封面和圖瀏覽器插件、PC Web 一樣走後端 /api/image-proxy,用來歸一化小紅書、YouTube 等 CDN 地址;代理失敗會回退成文本或佔位,不留空白卡。列表支持無限滾動,接近底部大約 800px 時預加載下一頁,也可以換一批、追加一批、刷新。底部有探測、驚喜、保存一類事件的動態流。後端還沒初始化時,面板會給出「開始初始化」入口並輪詢狀態。

內容庫。稍後再看和收藏與主項目共用本地列表,可以打開、移除、在兩個列表之間互切。歷史記錄覆蓋近 30 天「點開過 / 看過 / 移除的」,帶收藏、稍後、不再推薦等徽章;「移除的」分類可以恢復。已同步到 B 站的條目會從側欄隱藏(數據還在);非 B 站條目會標明「僅本地保存」,避免誤報成已同步。面板裏也能看到「同步到平臺」的入口,但 Agent 側註冊的 22 個工具裏沒有 sync-saved——把本地收藏推到外部賬號,仍然要按主項目的授權方式來做。

對話。蘇格拉底式一問一答,用來把興趣說清楚。興趣探測和迴避探測都是卡片:確認、拒絕、聊聊、稍後。還有待聊確認卡(準 / 不準 / 聊聊),回覆會帶上被確認的原話。

畫像。和 popup 同構的畫像卡,包括 MBTI、核心特質、深層需求、興趣樹、風格、洞察與覺察。另外有一張「阿B 最近新記住了什麼」認知卡,可以展開影響、推理、依據,並加載更早的認知更新。

設置。和瀏覽器插件的後端設置頁對齊,大致分三塊:模型(實例、默認調用鏈、模塊路由、Embedding、併發和超時)、調度(版本更新、調度參數、猜測興趣參數)以及通用項(連接地址、語言、數據目錄、海外網絡代理、局域網訪問密碼、開機自啓動、重新初始化)。面板本地保存連接地址,改完立刻生效;地址不要再拼 /api

Agent 用側:22 個工具

工具定義在倉庫的 src/tools.ts,名稱與 openbiliclaw-adapter skill 對齊,經 Agent Bridge v2 CLI 調用後端。按用途可以分成幾組:

  • 協商與狀態:openbiliclaw_get_capabilitiesopenbiliclaw_get_runtime_statusopenbiliclaw_get_platform_availabilityopenbiliclaw_get_activity_feed
  • 推薦與驚喜:openbiliclaw_recommendopenbiliclaw_reshuffleopenbiliclaw_append_recommendationsopenbiliclaw_get_delightopenbiliclaw_respond_delightopenbiliclaw_submit_feedback
  • 對話與探測:openbiliclaw_chatopenbiliclaw_get_chat_historyopenbiliclaw_next_probeopenbiliclaw_respond_interest_probeopenbiliclaw_next_avoidance_probeopenbiliclaw_respond_avoidance_probe
  • 畫像:openbiliclaw_get_profileopenbiliclaw_get_profile_edit_stateopenbiliclaw_edit_profile
  • 本地收藏:openbiliclaw_list_savedopenbiliclaw_save_localopenbiliclaw_remove_saved

寫操作(反饋、驚喜回應、探測回應)要求調用方提供穩定的 requestId,只在「同一動作重試」時複用,不能拿去套到另一條推薦或另一種反饋上。save_local 只寫本地 SQLite,不會同步到外部賬號。

安裝與啓用

前置條件

插件 README 列出的前置條件有兩條,版本約束也寫在 package.jsonpeerDependencies 裏:

  1. 一套可用的 DeepSeek Harness,並且帶 Web GUI。插件聲明 dsh.client.platformweb,對 dsh-* 包和 @deepseek-ai/cordis 的要求是 0.1.0-rc.6 及以上、@deepseek-ai/cordis ^4.0.1。不要在同一個 profile 裏混用 0.0.1 時代的 DSH 工具包。
  2. 本機已有正在運行的 OpenBiliClaw 後端,並開啓 Agent Bridge v2,默認監聽 127.0.0.1:8420。Bridge CLI 的調用形式是 python -m openbiliclaw.integrations.openclaw.cli,插件默認用 {workdir}/.venv/bin/python

主項目怎麼部署,以 OpenBiliClaw 倉庫 爲準,本文不展開。

目錄頁安裝命令

社區目錄給出的安裝命令如下,在 DeepSeek Harness 終端裏運行:

dsh plugin add github:whiteguo233/dsh-openbiliclaw

倉庫聲明瞭 dsh.bundle,這條命令會把插件當成完整包裝進當前配置,並帶上 openbiliclaw 配置行。需要可復現安裝時,把 commit 哈希釘死,不要用下面的字面量 commit

dsh plugin add github:whiteguo233/dsh-openbiliclaw#<commit哈希>

目錄頁同時提醒:插件以當前 dsh 進程的權限運行,安裝時可能執行代碼。裝之前應檢查源碼倉庫和許可證。

把 workdir 指到主項目

裝完之後仍要按 README 把 workdir 指到本地 OpenBiliClaw 項目根目錄(裏面要有 .venvskills/)。cordis.patch.yml 的頂層是 patch 列表,新增配置行必須放在 insert 下面;不帶 insertid 條目會被當成覆蓋已有行,找不到 openbiliclaw 時會直接跳過:

- insert:
    - id: openbiliclaw
      name: '@openbiliclaw/dsh-plugin'
      config:
        workdir: '/你的/OpenBiliClaw/項目目錄'

README 給出的配置項如下:

默認 說明
workdir (必填) OpenBiliClaw 後端項目根目錄;bridge CLI 和 SKILL.md 都從這裏解析
pythonBin {workdir}/.venv/bin/python 調用 bridge CLI 的 Python
skillPath {workdir}/skills/openbiliclaw-adapter/SKILL.md adapter skill 文件
timeoutMs 300000 單次 CLI 調用超時
stdoutMaxBytes 2000000 CLI 輸出上限

改完配置後重啓 Web 進程並刷新頁面:

dsh web

面板裏「設置 → 通用 → 連接」可以改後端地址,默認是 http://127.0.0.1:8420

典型用法

倉庫 README 描述的日常路徑是:左邊繼續和 Agent 談需求,點左下角 OpenBiliClaw 按鈕,右側抽屜滑出來刷兩條推薦、點收藏;過一會兒彈出興趣探測,聊兩句,畫像跟着更新——人不用離開 DSH。

Agent 側建議先確認後端就緒,再取推薦或探測。openbiliclaw-adapter 的日常順序是:capabilitiesget-profile / runtime-status → 處理興趣和迴避探測 → reshufflerecommend → 提交反饋。對應到 DSH 工具,啓動後可以先調用:

  • openbiliclaw_get_capabilities:協商 agent-bridge/v2 和能力列表,後端升級後應再跑一次。
  • openbiliclaw_get_runtime_status:看是否已初始化、推薦池是否可用。
  • openbiliclaw_recommend:默認返回預計算池裏的一頁(快);只有明確要現場生成每條 LLM 表述時才把 realtime 設爲 true(慢)。refreshIfNeeded 也只在用戶明確要求做一次更重的新鮮度檢查時再打開。

skill 文檔裏給 CLI 的推薦示例是(插件會把同樣的參數封裝成工具,不必在 DSH 會話裏手敲這段):

uv run python -m openbiliclaw.integrations.openclaw.cli recommend --limit 3

提交評論反饋時必須帶 note,並且爲這一次動作準備一個穩定的 --request-id

uv run python -m openbiliclaw.integrations.openclaw.cli submit-feedback \
  --recommendation-id 12 \
  --feedback-type comment \
  --request-id feedback-12-comment-1 \
  --note "方向對,但我想看更深一點。"

興趣探測則是先取問題,再把用戶的確認/拒絕/稍後/聊聊送回去:

uv run python -m openbiliclaw.integrations.openclaw.cli next-probe
uv run python -m openbiliclaw.integrations.openclaw.cli respond-interest-probe \
  --domain "建築美學" \
  --response confirm

這些命令的 JSON 契約是 host 中立的,OpenClaw、Hermes、WorkBuddy 和這份 DSH 插件走的是同一套 bridge。

適用場景與注意事項

比較適合已經在用 DSH Web GUI、並且本機跑着 OpenBiliClaw 後端的人:希望推薦、畫像、探測不要另開一套窗口,也希望會話裏的 Agent 能替你讀推薦、代答探測。不適合只想「在 DSH 裏一鍵完成爬取和平臺源配置」的需求——那一塊明確留在主項目。

使用時有幾條邊界值得單獨看:

  1. 這是客戶端插件,不是完整的 OpenBiliClaw。 沒有後端、沒有開啓 Agent Bridge v2,面板和工具都沒有對象可連。Cookie 同步、平臺任務仍由瀏覽器插件等主項目組件承擔。
  2. 只覆蓋消費側。 平臺源 / 爬取配置、源狀態、池配比,以及瀏覽器插件專屬的設備配對、斷開暫停,都不在這個倉庫裏。
  3. 本地收藏默認不出本機。 openbiliclaw_save_local 只寫 SQLite;skill 規定沒有用戶明確授權和 --allow-state-changing 時,不要跑 sync-saved。DSH 這 22 個工具本身也沒有註冊同步命令。
  4. 版本要對齊。 需要 DSH 0.1.0-rc.6 或更高,且不要和 0.0.1 時期的工具包混裝。
  5. 權限模型。 插件以當前 dsh 進程權限運行,會通過 ctx.shell 調本機 Python CLI,也能連本機 127.0.0.1:8420。安裝前應閱讀源碼和 BSD-3-Clause 許可證;可復現安裝請固定 commit。
  6. 目錄站點不是官方應用商店。 發現插件可以用社區目錄,覈對應回到 GitHub 倉庫和 DeepSeek Harness 官方文檔。

小結

dsh-openbiliclaw 把 OpenBiliClaw 的消費側嵌進 DeepSeek Harness:人用左側按鈕加右側抽屜,Agent 用 22 個 Bridge 工具加一份 adapter skill,兩邊共享同一套本地後端和畫像。它不替代主項目,也不把爬取帶進 DSH,目標是讓「幹活」和「刷到對的內容」可以停在同一個 Web GUI 裏。

目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-openbiliclaw/

插件倉庫:https://github.com/whiteguo233/dsh-openbiliclaw

主項目:https://github.com/whiteguo233/OpenBiliClaw

羽毛球分组比赛记分
小程序二维码

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

小夜