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

+156
View File
@@ -0,0 +1,156 @@
# 更新日志
B站评论助手 版本历史。下载:https://dl.88531.cn/bili.html · 网盘:https://pan.quark.cn/s/95e3ee9d8e0f
---
## v1.8.1 · 2026-10-13
### 🐛 修复
- **修复下载得到 txt 文件**:`new Blob(chunks)` 未传 `type` 导致 MIME 为空,Chrome 嗅探内容后把 CDN 返回的 HTML 错误页存成了 `.txt`。现在 Blob 会带上正确 MIME(优先响应头,非 video/audio 时按文件头魔数判定,兜底 `video/mp4`)
- 新增**内容魔数校验**:CDN 返回 HTTP 200 + HTML 验证页时(`resp.ok` 拦不住),直接报错「CDN 返回的不是视频(是网页/错误页)」,不再把网页存成「视频」
- 空内容也一并拦截,给出明确提示
---
## v1.8.0 · 2026-10-13
### ✨ 新功能
- **「发送内容」三选一**:只发评论(默认)/ **只发私信,不发评论** / 评论 + 私信
- 私信对象在面板显式标注:**仅本视频评论区里发过评论的人**(不含 UP 主、不含没评论的路人)
### 🐛 修复
- 只发私信模式下按「本视频增量」判断是否记为已处理,避免前面发过私信导致后面没发的视频被误跳过
---
## v1.7.1 · 2026-10-13
### 🐛 修复
- **修复私信内容不生效**:`runDmStep` 误用 `video.dmText`(搜索结果对象恒为 undefined),导致填写的私信内容永远取不到、静默回落成评论模板。改为读 `cfg.dmText`
- 私信内容改为**三级回落**:自定义(逐行校验随机取)→ 复用本次评论内容 → 模板,日志标明来源(`私信[私信自定义]/[复用评论]/[模板]`)
---
## v1.7.0 · 2026-10-13
### ✨ 新功能
- **私信评论区用户**(默认关闭,红框区):评论后可继续私信本视频评论区用户
- wbi 签名 + csrf,自带 MD5 实现(先 UTF-8 编码,避免中文被截断算错签名)
- **同一用户终身只发一条**(B站 21047 限制),永久按 mid 去重
- 间隔 2~4 分钟随机,每视频默认最多 2 人,触发频率风控码立即停整个任务
- **安装统计上报**:上报机器码 + 版本到授权系统,后台可看安装数与版本分布(不碰B站账号)
- **有新版本提示**:上报时拿回 `latest_version`,面板顶部提示并一键跳官网
---
## v1.6.6 · 2026-10-13
### ✨ 新功能
- 面板底部新增「使用说明」折叠区(三步上手 / 三种评论方式 / 核心优势 / 注意事项)
- 面板底部新增醒目的「⬇ 获取最新版本 · 使用说明」大按钮,一键直达官网
### 🐛 修复
- 自定义评论输入框占满整行、加高到 5 行,右下角可拖拽调高
---
## v1.6.5 · 2026-10-13
### 🐛 修复
- 自定义评论输入框占满整行、加高到 5 行
---
## v1.6.4 · 2026-10-13
### 🐛 修复
- 评论最短字数从 10 字降到 **3 字**
- 重复字检测改为按长度自适应,短评论不再被误杀
---
## v1.6.3 · 2026-10-13
### ✨ 改进
- **AI 评论改为读取视频真实内容**(标签 / 简介 / 弹幕 / 观众热评),不再只看标题瞎猜
- Prompt 收紧:禁止空泛夸奖、禁止编造视频里没有的内容
---
## v1.6.2 · 2026-10-13
### 🐛 修复
- 自定义内容不合规时直接报错拦截,**绝不静默换成模板**
- 面板输入时实时显示有效/无效行数
---
## v1.6.1 · 2026-10-13
### 🐛 修复
- 发布确认增强:轮询确认 + 输入框清空信号,评论成功不再误报「未在页面确认」
---
## v1.6.0 · 2026-10-13
### ✨ 新功能
- **接入授权系统**(CardAuth):1 天免费试用 / 卡密激活 / 公告推送
- 倒计时精确到秒,到期仅锁定自动评论(**下载视频不受影响**)
---
## v1.5.0 · 2026-10-13
### ✨ 新功能
- 面板底部新增**「下载当前页视频」**,最高 1080P,带实时进度
- 用 `declarativeNetRequest` 给 CDN 注入 Referer(绕开 `chrome.downloads` 不能自定义 Referer 的限制)
---
## v1.4.x · 2026-10-13
### ✨ 新功能
- 新增**地区筛选**(34 省市 + 36 热门城市;B站接口不支持省份参数,走关键词拼接 + 标题/标签二次过滤)
- 新增**分区筛选**(20 个)
- 最热门优先排序(按播放量降序)
- 评过的视频自动跳过并提示
---
## v1.3.x · 2026-10-12
### ✨ 新功能
- 评论方式新增**「自定义」**,一行一条随机取用
### 🐛 修复
- 修复跨子域名任务丢失(任务改由后台 Service Worker 持有)
- 修复「跳到视频页后无反应」
---
## v1.2.x · 2026-10-12
### 🐛 修复
- **靠谱性增强**:评论框是懒加载的,改为「阶梯滚动找组件」(每步 300~700px、350~800ms),实测冷启动 4.3s 挂载
- 评论框可能贴底/浮动 → 容器内找不到时全页深扫并 `scrollIntoView`
- 修复成功列表/日志显示重复(runtime 消息广播导致)
### ✨ 改进
- 发送间隔改为 **1~2 分钟随机**(原固定 90 秒)
---
## v1.1.0 · 2026-10-12
### ✨ 重大改进
- **改为模拟真人**:自动打开视频页 → 滚到评论区 → 逐字输入 → 点发布(原为 API 直发)
---
## v1.0.0 · 2026-10-12
### 🎉 首版
- 按关键词搜索 B站视频并自动评论
- 五种排序、固定模板 / AI 生成、防重复、可中断、页面实时进度浮层
+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站社区规范与当地法律法规。使用本插件产生的一切行为由使用者自行承担。