前言¶
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-adapterskill,让会话里的 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_capabilities、openbiliclaw_get_runtime_status、openbiliclaw_get_platform_availability、openbiliclaw_get_activity_feed - 推荐与惊喜:
openbiliclaw_recommend、openbiliclaw_reshuffle、openbiliclaw_append_recommendations、openbiliclaw_get_delight、openbiliclaw_respond_delight、openbiliclaw_submit_feedback - 对话与探测:
openbiliclaw_chat、openbiliclaw_get_chat_history、openbiliclaw_next_probe、openbiliclaw_respond_interest_probe、openbiliclaw_next_avoidance_probe、openbiliclaw_respond_avoidance_probe - 画像:
openbiliclaw_get_profile、openbiliclaw_get_profile_edit_state、openbiliclaw_edit_profile - 本地收藏:
openbiliclaw_list_saved、openbiliclaw_save_local、openbiliclaw_remove_saved
写操作(反馈、惊喜回应、探测回应)要求调用方提供稳定的 requestId,只在「同一动作重试」时复用,不能拿去套到另一条推荐或另一种反馈上。save_local 只写本地 SQLite,不会同步到外部账号。
安装与启用¶
前置条件¶
插件 README 列出的前置条件有两条,版本约束也写在 package.json 的 peerDependencies 里:
- 一套可用的 DeepSeek Harness,并且带 Web GUI。插件声明
dsh.client.platform为web,对dsh-*包和@deepseek-ai/cordis的要求是0.1.0-rc.6及以上、@deepseek-ai/cordis ^4.0.1。不要在同一个 profile 里混用0.0.1时代的 DSH 工具包。 - 本机已有正在运行的 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 项目根目录(里面要有 .venv 和 skills/)。cordis.patch.yml 的顶层是 patch 列表,新增配置行必须放在 insert 下面;不带 insert 的 id 条目会被当成覆盖已有行,找不到 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 的日常顺序是:capabilities → get-profile / runtime-status → 处理兴趣和回避探测 → reshuffle 或 recommend → 提交反馈。对应到 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 里一键完成爬取和平台源配置」的需求——那一块明确留在主项目。
使用时有几条边界值得单独看:
- 这是客户端插件,不是完整的 OpenBiliClaw。 没有后端、没有开启 Agent Bridge v2,面板和工具都没有对象可连。Cookie 同步、平台任务仍由浏览器插件等主项目组件承担。
- 只覆盖消费侧。 平台源 / 爬取配置、源状态、池配比,以及浏览器插件专属的设备配对、断开暂停,都不在这个仓库里。
- 本地收藏默认不出本机。
openbiliclaw_save_local只写 SQLite;skill 规定没有用户明确授权和--allow-state-changing时,不要跑sync-saved。DSH 这 22 个工具本身也没有注册同步命令。 - 版本要对齐。 需要 DSH
0.1.0-rc.6或更高,且不要和0.0.1时期的工具包混装。 - 权限模型。 插件以当前
dsh进程权限运行,会通过ctx.shell调本机 Python CLI,也能连本机127.0.0.1:8420。安装前应阅读源码和 BSD-3-Clause 许可证;可复现安装请固定 commit。 - 目录站点不是官方应用商店。 发现插件可以用社区目录,核对应回到 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