docs: README 更新到 v1.8.1 全量功能(私信/下载/授权/安装统计/三选一),新增 CHANGELOG.md 完整版本历史

This commit is contained in:
personal82555 committed 2026-10-14 09:33:57 +08:00
1 parent 3b72783efe
commit 65e939190d
2 files changed
+234 -21

No files matched your search

+78 -21
View File
@@ -1,14 +1,49 @@
# B站评论助手(BiliKeywordComment)
Chrome/Edge 浏览器插件(Manifest V3):按**搜索关键词**找 B站视频,自动生成评论逐条发布。直接使用你浏览器里的 B站登录态,**不需要手动填 Cookie**。
Chrome/Edge 浏览器插件(Manifest V3):按**搜索关键词**找 B站视频,自动**评论**或**私信评论区用户**,也可**下载当前页视频**。直接复用你浏览器里的 B站登录态,**不需要手动填 Cookie**。
- 官网 / 下载:https://dl.88531.cn/bili.html
- 夸克网盘:https://pan.quark.cn/s/95e3ee9d8e0f
- 授权中心:https://auth.88531.cn · AI 模型 KEY:https://ai.88531.cn/
## 功能
- 🔍 关键词搜索:综合/最多播放/最多弹幕/最多收藏/最新 五种排序
- 💬 两种评论内容:固定模板(零配置可用)/ AI 生成(OpenAI 兼容接口,失败自动降级并提示)
- 🛡 防重复:评论成功的视频记入本地历史,下次自动跳过
- ⏸ 可中断:运行中随时 ⏹ 停止,停止标记跨页面刷新保留,发送前二次检查
- 🖥 过程可见:真实 B站标签页置前 + 页面右上角浮层逐步显示,侧边栏有计时、成功列表和执行日志
### 搜索与筛选
- 🔍 关键词搜索,六种排序(**最热门**/综合/最多播放/最多弹幕/最多收藏/最新发布)
- 📁 分区筛选:20 个(科技/知识/游戏/影视/音乐…)
- 🌍 地区筛选:34 省市 + 36 热门城市(B站接口不支持省份参数,走「关键词拼接 + 标题/标签二次过滤」)
- ▶ 播放量门槛、最多 N 条,处理过的视频自动跳过
### 发送内容三选一
| 选项 | 行为 |
|---|---|
| **只发评论**(默认) | 只在视频下发公开评论 |
| **只发私信,不发评论** | 不发公开评论,只私信评论区里发过评论的人 |
| **评论 + 私信** | 先评论,再私信评论区用户 |
### 评论
- 💬 三种内容来源:固定模板(零配置可用)/ 自定义(一行一条随机取)/ **AI 按视频真实内容生成**(先抓标签、简介、弹幕、热评,不瞎编)
- 🤖 AI 走 OpenAI 兼容接口,失败自动降级模板并提示
- 📝 最短 3 字(重复字检测按长度自适应,短评论不误杀)
- 🧑 **模拟真人**(默认):自动打开视频页 → 滚到评论区 → 逐字输入 → 点发布;也可选 API 直发
### 私信(高风险,默认关闭)
- 🎯 对象**仅限本视频评论区里发过评论的人**(不含 UP 主、不含没评论的路人)
- 🔐 wbi 签名 + csrf,MD5 自带实现(先 UTF-8 编码,避免中文被截断算错签名)
- ♾ **同一用户终身只发一条**(B站 21047 限制),已发过的自动跳过
- ⏱ 间隔 2~4 分钟随机(比评论更严),触发频率风控码立即停整个任务
- 内容三级回落:自定义 → 复用评论内容 → 模板;日志标明来源
### 下载
- ⬇ 下载当前页视频,登录后最高 1080P,多 P 支持 `?p=N`
- ✅ 输出真正的 mp4(Blob 带 MIME + 文件头魔数校验,CDN 回网页/错误页直接报错,不会存成 txt)
### 授权与运维
- 🔑 1 天免费试用(倒计时精确到秒),卡密激活绑定本机永久可用;**下载视频不受授权限制**
- 📊 安装统计上报(仅机器码 + 版本,不碰B站账号),后台可看安装数与版本分布
- 📢 公告推送到面板顶部,有新版本时提示并跳官网
- 🔁 可中断:随时 ⏹ 停止,停止标记跨页面刷新保留,发送前二次检查
- 🖥 过程可见:页面右上角浮层逐步显示,侧边栏有计时、成功列表和执行日志
- 🔁 双通道网络:页面 fetch 优先,被 CORS/CSP 拦截时自动走后台代理兜底
## 安装
@@ -16,34 +51,56 @@ Chrome/Edge 浏览器插件(Manifest V3):按**搜索关键词**找 B站视
1. 解压 zip(或直接用解压后的目录)
2. 打开 `chrome://extensions` → 打开右上角「开发者模式」
3. 「加载已解压的扩展程序」→ 选 `BiliKeywordComment` 目录
4. 打开 B站并登录,点工具栏图标打开侧边栏
更新版本:下载新版解压 → 在 `chrome://extensions` 点该扩展「重新加载」,配置与记录都保留。
## 使用
1. 登录 B站网页版(登录态直接复用,插件不存 Cookie)
2. 点工具栏图标打开右侧边栏
3. 填搜索关键词,设置「最多 N 条 / 每隔 X 秒 / 播放量门槛 / 评论方式」(自动保存)
4. 点 **▶ 开始执行** → 页面自动置前,右上角浮层显示每一步;⏹ 停止随时可中断
2. 点工具栏图标打开右侧边栏(所有设置自动保存)
3. 填搜索关键词 → 选排序/分区/地区 → 选评论方式 → 选发送内容
4. 点 **▶ 开始执行** → 右上角浮层显示每一步,侧边栏有计时、成功列表和执行日志;⏹ 停止随时可中断
AI 模式需填 LLM 配置(默认已预填 `https://ai.88531.cn/v1` + `mimo-v2.6-flash`,填 API Key 即可);不填也能跑,走固定模板。
AI 模式需填 LLM 配置(已预填 `https://ai.88531.cn/v1` + `mimo-v2.6-flash`,到 https://ai.88531.cn/ 领 KEY);不填自动走固定模板。
## 风控提醒
- 默认「最多 3 条、间隔 90 秒」,请勿调得过于激进
- 评论不含外链/广告,纯内容型;触发验证码(12045)或今日上限(12008)会自动停止
- 建议每天 ≤ 10 条,宁可少发
- 评论默认「最多 3 条、间隔 1~2 分钟随机」,私信「每视频最多 2 人、间隔 2~4 分钟随机」,请勿调得过于激进
- 评论/私信不含外链、广告;触发验证码(12045)或今日上限(12008)会自动停止
- 私信触发 21020/21046(频率过高)会立即停止整个任务
- 建议每天评论 ≤ 10 条、私信 ≤ 10 条,宁可少发
- **使用本插件产生的一切行为由使用者自行负责**
## 文件结构
| 文件 | 作用 |
|------|------|
| `manifest.json` | MV3 清单(侧边栏 + 内容脚本 + host 权限) |
| `background.js` | Service worker:LLM 代理、API 兜底、评论历史、运行编排 |
| `content.js` / `content.css` | 页面内执行:搜索 → 生成 → 发布 + 进度浮层 |
| `sidepanel.html` / `sidepanel.js` | 侧边栏 UI |
| `manifest.json` | MV3 清单(侧边栏 + 内容脚本 + host 权限 + DNR) |
| `background.js` | Service worker:LLM 代理、API 兜底、评论历史、运行编排、授权、安装上报 |
| `content.js` / `content.css` | 页面内执行:搜索 → 生成 → 发布/私信 + 进度浮层 + 视频下载取址 |
| `sidepanel.html` / `sidepanel.js` | 侧边栏 UI(含视频下载落盘) |
| `icons/` | 16/32/48/128 图标 |
## 已验证
## 关键技术点(踩坑记录)
- 面板 harness:初始化填值、测试连接、空关键词拦截、启动/停止/完成生命周期、行内警告、零 JS 错误、零 alert
- 真实扩展加载(Chromium + `--load-extension`):SW 启动、内容脚本 ping、B站搜索/评论接口页面源可达(CORS 通过)、bgFetch 兜底 200、未登录分支浮层与提示正确、重复注入仅一个浮层
- 后台 LLM 真代码分支:真实 200 取正文、400 去 thinking 重试、空内容提额重试、无关 400 不盲试、异常可读报错、URL 归一化
- 评论框在 `<bili-comments>` 的**嵌套 shadow DOM**,且**懒加载**——必须阶梯滚动找组件,普通 `querySelectorAll` 够不到
- 评论框可能贴底/浮动,容器内找不到要**全页深扫**并 `scrollIntoView`
- 视频 CDN 要求 Referer,而 `chrome.downloads` 不能自定义 Referer(Unsafe header)→ 用 `declarativeNetRequest` 动态规则注入(**不加 resourceTypes 过滤**,否则不匹配下载请求)
- **下载得到 txt 的根因**:`new Blob(chunks)` 没传 type → MIME 为空 → Chrome 嗅探内容 → HTML 错误页被存成 `.txt`。必须 `new Blob(chunks, {type})`,并校验文件头魔数
- 私信 wbi 签名:mixin_key 按 64 位索引重排取前 32 位,`w_rid = md5(sorted_query + mixin_key)`;官方测试向量 `wts=1702204169` + mixin `ea1db124af3c7062474693fa704f4ff8` → `8f6f2b5b3d485fe1886cec6a0be8c5d4`
- MD5 的 `charCodeAt(i)&0xFF` 会把中文截断成单字节 → 签名含中文就全错,必须先 UTF-8 编码
- 本机(含代理)访问 `api.bilibili.com` / `api.vc.bilibili.com` **全部返回风控 HTML 页**,无法在服务器侧实测发送,只能在用户浏览器里跑
## CHANGELOG
见 [CHANGELOG.md](CHANGELOG.md)
## 源码
- GitHub:https://github.com/personal82555/bili-auto-comment
- Gitee:https://gitee.com/jinghui111/bili-auto-comment
## 免责声明
本插件仅供学习交流,请遵守 B站社区规范与当地法律法规。使用本插件产生的一切行为由使用者自行承担。