packages/dsh-task-board
zhu1090093659/dsh-web侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。
OpenBiliClaw 的 DSH 消费侧插件:提供推荐、收藏列表、苏格拉底式对话、画像面板和 Agent Bridge 工具。
OpenBiliClaw 是本地运行、跨平台、可调教的个性化内容推荐 Agent;本仓库是它的 DeepSeek Harness 客户端插件——DSH 左侧栏一个 OpenBiliClaw 按钮,点开右侧滑出抽屉(推荐/内容库/对话/画像/设置),并注册 22 个 Agent Bridge 工具,让 Agent 读推荐、答探测、闭环学习。
English | 中文
OpenBiliClaw 是一个本地运行、跨平台、可调教的个性化内容推荐 Agent:从你在 B 站 / 小红书 / 抖音 / YouTube / X / 知乎 / Reddit / Linux.do / Bangumi / V2EX / 微博的使用、反馈与对话里持续深化你的心理画像,再主动去这些平台为你找内容。
本仓库是它的 DeepSeek Harness(DSH)客户端插件,把「消费侧」搬进 DSH 的 Web GUI:
openbiliclaw_* 工具(Agent Bridge v2 CLI)和 openbiliclaw-adapter skill,让 DSH 里的 Agent 能读取推荐、回答探测、保存内容、和用户对话,形成「推荐 → 反馈 → 画像 → 更准的推荐」的闭环。典型场景:左边和 Agent 聊需求,点左下角的 OpenBiliClaw 按钮,右侧抽屉滑出来顺手刷两条推荐,点个「收藏」,过一会儿弹出兴趣探测,和它聊两句,画像就更懂你了——全程不离开 DSH。
边界说明:本插件只做消费侧。爬取 / 平台源管理 / 账号同步等能力仍属于主项目(后端 + 浏览器插件 / 手机版),有意不带入 DSH。
推荐 · 亮色 · 推荐 · 深色(跟随 DSH 主题) ·
内容库 · 对话 · 画像 · ·
设置 · 模型 · 设置 · 调度 · 设置 · 通用 · ·
/api/image-proxy 加载,归一化小红书、YouTube 等 CDN URL;代理失败时自动回退为文本或媒体占位,不留空白卡片synced / already_synced)的条目自动从侧栏隐藏(数据保留);空态区分「已全部同步」与「还没有收藏」┌───────────────────────────── DSH Web GUI ─────────────────────────────┐
│ 左边栏 │ 会话区 │ 详情栏 │ │
│ (DSH 自带, │ (DSH 自带) │ (DSH 自带) │ ← 右侧滑出 OpenBiliClaw │
│ 底部含 │ │ │ 抽屉(推荐/内容库/ │
│ OpenBiliClaw │ │ │ 对话/画像/设置) │
│ 按钮) │ │ │ │
└─────────────────────────────┬─────────────────────────────────────────┘
│ HTTP + WebSocket (默认 http://127.0.0.1:8420)
┌─────────────────────────────▼─────────────────────────────────────────┐
│ OpenBiliClaw 后端(主项目,同一份 config.toml / SQLite / 画像)│
└────────────────────────────────────────────────────────────────────────┘
▲
DSH Agent(本插件注册的工具 + skill)── /api/agent-bridge(HTTP)──┘POST /api/agent-bridge);插件直接 HTTP 调用该端点,不再 shell 出 Python CLI/skills/openbiliclaw-adapter/SKILL.md(本仓库 skills/openbiliclaw-adapter/SKILL.md 附了同一份副本,方便对照)部分 · 说明 src/index.ts + src/tools.ts · node 半:22 个 openbiliclaw_* 工具(经 serve-api 的 /api/agent-bridge HTTP 调用后端,无需 shell 执行器)+ 注册 adapter skill src/skill.ts · 解析 SKILL.md frontmatter 并注册为 DSH skill src/bridge.ts · Agent Bridge v2 HTTP 调用封装(超时 / 错误归一化) src/client/* · browser 半:左侧栏按钮(sidebar.footer.action)+ 右侧面板列(DOM 挂载进帧网格,React),含推荐/内容库/对话/画像/设置/消息抽屉、WebSocket 实时流、深色模式 lib/ · 构建产物(lib/index.js node 半 + lib/client.js 浏览器半),可直接安装
dsh-plugin-verify(Verified DSH Plugins 判定站)用 mock-llm 跑完整 agent 循环,在 DSH 0.2.1-rc.3(deepseek-harness master 22ddee37)上验证:
✅ 通过 | waterfall 7/7 | tools/result 是 | 捕获事件 13
verify-report.json;收录待维护者复核)npx dsh-plugin-verify --repo pnpm build:lib:host && pnpm build:lib:client && pnpm build:native-system,缺原生 system.node 时 headless 会在 2/7 卡住——那不是插件问题。插件要求 DSH 0.2.1-rc.2 或更高的 0.2.x(package.json 的 engines.dsh 是唯一兼容声明);peer ABI 与 0.2.1 的 dsh-* 包及 @deepseek-ai/cordis ~4.0.5 对齐。DSH 0.2 会在装载时校验插件的 dsh 版本要求,不匹配的插件会被整包跳过并在启动日志打印 dsh: skipping profile bundle ...。
本仓库声明了 dsh.bundle,因此可以作为完整插件包交给 dsh plugin add 或插件市场安装。bundle 会自动提供 openbiliclaw 配置行;安装后仍需按下面的配置说明,把 workdir 指向本地 OpenBiliClaw 主项目目录。
dsh plugin --profile web add 'github:whiteguo233/dsh-openbiliclaw#v0.6.0'
# 之后把 @openbiliclaw/dsh-plugin 加进该 profile package.json 的 dsh.profile.bundlesdsh plugin 只是 pnpm 的转发器:装完包还要在 /package.json 的 dsh.profile.bundles 里登记包名,bundle 的 cordis.patch.yml 才会被应用。
无需改 DSH 源码,插件自己完成两处挂载:
sidebar.footer.action 加法槽(侧边栏底部、设置旁的附加动作)grid-row: 1 / grid-column: 4 的列,并把 grid-template-columns 重写成「壳层轨道 + 面板宽度」,所以打开面板是挤开中间内容而不是浮层覆盖;面板收起时该轨道宽度为 0。把本仓库放进 web profile 的依赖目录并声明插件行:
dsh plugin --profile <profile> add 'github:whiteguo233/dsh-openbiliclaw#v0.6.0'在 ~/.dsh/profiles//cordis.patch.yml 增加:
# DSH 0.2+: 新增配置行必须放在 insert 下
- insert:
- id: openbiliclaw
name: '@openbiliclaw/dsh-plugin'
config:
workdir: '/你的/OpenBiliClaw/项目目录' # 后端项目根目录(含 .venv 与 skills/)cordis.patch.yml 的顶层是 patch 列表;不带 insert 的 id 条目会被当作已有配置行覆盖,找不到 openbiliclaw 时会被跳过。
dsh web # 重启 DSH Web 进程,刷新页面面板内的「设置 → 通用 → 连接」可改后端地址(默认 http://127.0.0.1:8420,面板本地保存、立即生效;地址本身不要再附加 /api)。
键 · 默认 · 说明 apiUrl · http://127.0.0.1:8420 · 运行中的 OpenBiliClaw serve-api(Agent Bridge v2 端点)。同时通过 host 路由 /openbiliclaw/connection 提供给面板,作为浏览器半的初始后端地址 workdir · 插件作者的本地 checkout · OpenBiliClaw 后端项目根目录;skillPath 未配时由它推导,建议显式配置 skillPath · /skills/openbiliclaw-adapter/SKILL.md · adapter skill 文件;读不到时只告警,不阻断激活 timeoutMs · 300000 · 单次 bridge 调用超时
后端地址的解析顺序(面板与 Agent 工具共用同一个 apiUrl 来源):
localStorage,用户显式改过就归它管);apiUrl —— 面板启动时读取同源路由 /openbiliclaw/connection,所以配置一次两半都生效;http://127.0.0.1:8420。headless 等没有 web 服务的场景下该路由不会注册,工具仍照常可用。
插件自带完整的独立构建链,不再依赖 DSH 源码 checkout:@deepseek-ai/dsh-* 的类型从 npm 安装在 devDependencies 里,浏览器半由本仓库的 tsdown.config.ts 直接产出 DSH 的闭包模块格式。
npm install # devDependencies(0.2.1-rc.2 类型包 + tsdown + lightningcss)
npm run build # tsc -> lib/types,tsdown -> lib/index.js + lib/client.js
npm test # 构建后跑 ABI 冒烟测试(22 个工具 + adapter skill)lib/client.js 的输出契约:window.__ModuleLoader__.load({ id, factory: (require) => ... }),只把 React 平台模块留在 require 里,其余全部内联;CSS Modules 经 lightningcss 编译并注入 `` 标签。
openbiliclaw_recommend / openbiliclaw_append_recommendations / openbiliclaw_reshuffle / openbiliclaw_get_delight / openbiliclaw_respond_delight / openbiliclaw_submit_feedback / openbiliclaw_get_activity_feed / 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 / openbiliclaw_get_runtime_status / openbiliclaw_get_platform_availability / openbiliclaw_get_capabilities
按版本记录见 CHANGELOG.md。
友情链接
A DeepSeek Harness (DSH) client plugin for OpenBiliClaw, the local-first cross-platform content-discovery agent. It adds a left-sidebar OpenBiliClaw button that opens a right-side panel on the DSH web GUI (the sidebar.footer.action seat plus a DOM-mounted frame column) with the consumer side of OpenBiliClaw — recommendations with a hero delight banner, infinite scroll with prefetch, saved/history library, Socratic dialogue with interest/avoidance probes, the user profile card, and a settings surface aligned with the browser extension — and registers 22 openbiliclaw_* tools plus the openbiliclaw-adapter skill so DSH agents can drive the same backend in a closed loop. Cover images use the same backend image proxy as the browser and PC Web clients, with CDN URL normalization and a local fallback for failed loads. Crawling and source management intentionally stay in the main project. Requires DSH 0.2.1-rc.2 or newer on the 0.2 line (declared once in engines.dsh; peers align with @deepseek-ai/cordis ~4.0.5) plus a running OpenBiliClaw backend (Agent Bridge v2, default http://127.0.0.1:8420). When adding the plugin to cordis.patch.yml, wrap the row in a top-level insert entry; a bare id row is treated as an override and skipped when it does not already exist. See the Chinese section above for install, build and configuration details.