dsh-bilibili-plugin
Verifieddsh-bilibili-plugin · v1.0.1 · MIT
Bilibili operator toolkit for DSH — QR login, comments, DMs, fans, danmaku, video analytics. Registers 17 tools + 1 skill.
Install
dsh plugin add dsh-bilibili-plugin Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Tags
Creators
Readme
dsh-bilibili-plugin
给 DSH 注册一套 B站操作工具 + 一个 Skill。安装后直接对 DSH 说「帮我登录B站」「看看这个视频的数据」「回一下这条评论」就行。
装了什么
17 个工具 + 1 个 Skill。
| 分类 | 工具 | 作用 |
|---|---|---|
| 认证 | bilibili_login |
发起扫码登录,返回二维码链接 |
bilibili_login_poll |
轮询扫码状态,确认后自动保存 cookie | |
bilibili_status |
检查登录状态、账号信息、粉丝数 | |
bilibili_logout |
清除本地凭证 | |
| 账号 | bilibili_me |
获取自己账号详情 |
bilibili_my_videos |
查投稿列表和审核状态 | |
| 视频 | bilibili_video_info |
查视频详情(标题、UP主、播放、点赞、评论数) |
| 评论 | bilibili_list_comments |
读评论列表 |
bilibili_comment |
发表评论 | |
bilibili_like_comment |
评论点赞/取消 | |
bilibili_delete_comment |
删除自己的评论 | |
| 私信 | bilibili_send_dm |
发私信 |
bilibili_list_sessions |
列出会话 | |
bilibili_read_messages |
读对话内容 | |
| 粉丝 | bilibili_list_fans |
列出粉丝 |
bilibili_follow |
关注/取关 | |
| 弹幕 | bilibili_send_danmaku |
发弹幕 |
安装
方式一:本地目录(开发用)
git clone <本仓库> dsh-bilibili-plugin
cd dsh-bilibili
bash scripts/install.sh
然后编辑 ~/.dsh/profiles/<你的profile>/package.json:
{
"dependencies": {
"dsh-bilibili-plugin": "link:/绝对路径/dsh-bilibili-plugin"
},
"dsh": {
"profile": {
"bundles": ["...", "dsh-bilibili"]
}
}
}
然后:
cd ~/.dsh/profiles/<你的profile>
pnpm install
重启 DSH。
方式二:npm(推荐)
# 在你的 DSH profile 目录下
pnpm add dsh-bilibili-plugin
然后在 ~/.dsh/profiles/<你的profile>/package.json 的 dsh.profile.bundles 里加入:
"dsh-bilibili-plugin"
使用
装好后直接跟 DSH 说话就行:
登录
帮我登录B站
DSH 会调用 bilibili_login 生成二维码,转成图片发给你,你扫码确认,自动完成授权。
看数据
帮我看看这个视频的数据 https://b23.tv/xxxxx
回评论
帮我回复这个视频下的评论
发私信
给最新关注的粉丝发条私信
配置
可选配置项(在 profile 的 cordis.patch.yml 里加):
- id: dsh-bilibili
config:
cookieFile: ~/.dsh-bilibili/cookies/default.json
timeout: 30000
| 配置 | 默认值 | 说明 |
|---|---|---|
cookieFile |
~/.dsh-bilibili/cookies/default.json |
cookie 存放路径 |
timeout |
30000 |
HTTP 超时(毫秒) |
从 social-auto-upload 迁移 cookie
如果你之前用过 social-auto-upload:
mkdir -p ~/.dsh-bilibili/cookies
cp /path/to/social-auto-upload/cookies/bilibili_<账号名>.json \
~/.dsh-bilibili/cookies/default.json
cookie 格式是兼容的(都是 biliup 格式)。
设计说明
为什么不依赖 biliup 二进制?
登录用纯 HTTP 实现(TV 端扫码接口 + MD5 签名),不需要下载 55MB 的 Rust 二进制。安装更轻,跨平台更简单。
为什么不包含发视频?
视频上传涉及分片、断点续传、大文件处理。这部分用成熟工具更可靠:
- biliup —— Rust 写的,最稳定
- social-auto-upload —— Python,支持 10 个平台
本插件专注操作类接口(评论、私信、数据查询),这部分没有现成工具,也是日常运营最高频的。
已知坑
1. 不要反复验证登录状态
B站的 refresh token 是一次性的。反复刷新会让旧 token 作废,把有效凭证刷死。
需要确认状态时用 bilibili_status(只调 nav 接口,不消耗 token)。
2. 公开评论区不要发链接
在别人视频下发网盘链接、联系方式,容易判定为引流违规。
- 公开评论:只做内容互动
- 资源分发:走私信
3. 私信有频率限制
新账号私信有频次限制(估计几十条/天)。不要批量群发。
4. aid 和 bvid 不一样
bvid:BV1xx411c7mD,用户看到的是这个aid:数字 ID,接口要这个
用 bilibili_video_info 传 bvid,返回里有 aid。
开发
src/
├── index.js # 插件入口,导出 apply/inject/name/Config
├── client.js # HTTP 客户端,封装所有 B站接口
├── auth.js # 扫码登录(纯 HTTP)
└── tools.js # 17 个工具定义
skills/bilibili/
└── SKILL.md # 告诉 AI 怎么用这些工具
本地测试:
node --input-type=module -e "
const registered = [];
const ctx = { tools: { register: (t) => registered.push(t) }, logger: { info(){} } };
const { apply } = await import('./src/index.js');
apply(ctx, {});
console.log('注册了', registered.length, '个工具');
"
License
MIT