@xzxzzx/bilibili-mcp 1.11.3 → 1.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -3
- package/README_EN.md +13 -2
- package/dist/bilibili/comments.d.ts.map +1 -1
- package/dist/bilibili/comments.js +21 -15
- package/dist/bilibili/comments.js.map +1 -1
- package/dist/bilibili/http.d.ts.map +1 -1
- package/dist/bilibili/http.js +13 -1
- package/dist/bilibili/http.js.map +1 -1
- package/dist/bilibili/search.d.ts.map +1 -1
- package/dist/bilibili/search.js +24 -8
- package/dist/bilibili/search.js.map +1 -1
- package/dist/bilibili/subtitle-integrity.d.ts +15 -0
- package/dist/bilibili/subtitle-integrity.d.ts.map +1 -0
- package/dist/bilibili/subtitle-integrity.js +53 -0
- package/dist/bilibili/subtitle-integrity.js.map +1 -0
- package/dist/bilibili/subtitle.d.ts +3 -3
- package/dist/bilibili/subtitle.d.ts.map +1 -1
- package/dist/bilibili/subtitle.js +74 -40
- package/dist/bilibili/subtitle.js.map +1 -1
- package/dist/bilibili/types.d.ts +4 -3
- package/dist/bilibili/types.d.ts.map +1 -1
- package/dist/bilibili/types.js +10 -1
- package/dist/bilibili/types.js.map +1 -1
- package/dist/cli.d.ts +9 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +81 -9
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +4 -3
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +40 -13
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -13
- package/dist/index.js.map +1 -1
- package/dist/load-env.d.ts +2 -0
- package/dist/load-env.d.ts.map +1 -0
- package/dist/load-env.js +15 -0
- package/dist/load-env.js.map +1 -0
- package/dist/server/tool-handlers.d.ts.map +1 -1
- package/dist/server/tool-handlers.js +11 -9
- package/dist/server/tool-handlers.js.map +1 -1
- package/dist/server/tool-schemas.d.ts.map +1 -1
- package/dist/server/tool-schemas.js +22 -5
- package/dist/server/tool-schemas.js.map +1 -1
- package/dist/utils/error-guidance.js +4 -4
- package/dist/utils/error-guidance.js.map +1 -1
- package/dist/utils/validation.d.ts +3 -1
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +18 -10
- package/dist/utils/validation.js.map +1 -1
- package/docs/client-setup.en.md +7 -0
- package/docs/client-setup.md +6 -0
- package/docs/tool-reference.en.md +34 -11
- package/docs/tool-reference.md +34 -11
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -53,7 +53,7 @@ Bilibili MCP 是一个本地 MCP server,让 AI Agent 读取 Bilibili 内容:
|
|
|
53
53
|
npx -y @xzxzzx/bilibili-mcp@latest check
|
|
54
54
|
npx -y @xzxzzx/bilibili-mcp@latest doctor --json
|
|
55
55
|
doctor --json 只检查本机配置状态,不能代替后面的实时登录验证。
|
|
56
|
-
setup 会询问是否安装可选的本地 ASR
|
|
56
|
+
setup 会询问是否安装可选的本地 ASR 模型,选否即可。自动化环境可用 setup --non-interactive(凭据来自已有的环境变量或全局配置,绝不提示、也绝不从 stdin/argv 读取凭据值);加 --asr-model <tiny|base|small> 可同时安装指定模型。
|
|
57
57
|
5. 让我重启或重连客户端。你无法代替我完成这一步时,请明确让我操作。
|
|
58
58
|
6. 重连后调用 MCP 工具 check_bilibili_credentials。
|
|
59
59
|
只有 configured: true 且 logged_in: true 才报告成功。
|
|
@@ -138,6 +138,15 @@ next_cursor 直到结束;按收藏夹列出成功读取的视频标题和 B
|
|
|
138
138
|
|
|
139
139
|
前提是已经通过 `setup` 安装了模型且 `doctor --json` 报告 `asr.status: ready`,否则会返回 `ASR_NOT_READY` 并附带安装指引。原生字幕始终优先:只有确认没有可用字幕时才会启动一次本地转录,结果返回 `data_source: "asr"`,并复用与字幕相同的时间戳、区间过滤、关键词搜索和时刻链接。详见[本地 ASR](#本地-asr可选)。
|
|
140
140
|
|
|
141
|
+
### AI 识别字幕(ai-*)与人工字幕的区分
|
|
142
|
+
|
|
143
|
+
Bilibili 会把部分视频的 AI 识别字幕标为 `ai-zh`、`ai-en`、`ai-ja` 等 `ai-*` 语言。为避免与人工字幕混淆,选中任意 `ai-*` 字幕时,`get_video_transcript` 与 `get_video_info` 的结果返回 `data_source: "ai_subtitle"`(不是 `"subtitle"`;本地 ASR 仍是 `"asr"`)。
|
|
144
|
+
|
|
145
|
+
- `ai_subtitle` 是 Bilibili 的 AI 转录,可能不准确,不能当作人工校验过的引用。
|
|
146
|
+
- `exclude_ai_subtitles: true`(两个工具都有,默认 `false`):过滤全部 AI 字幕(`ai-zh`、`ai-en` 等),优先返回剩余的人工字幕;仅剩 AI 字幕时视为无字幕,`get_video_transcript` 可配合 `fallback_to_asr` / `fallback_to_description`,`get_video_info` 返回简介。
|
|
147
|
+
- `force_asr: true`(仅 `get_video_transcript`,默认 `false`):绕过字幕元数据与内容选择,直接用本地 ASR 转录当前这一 P;无需同时开启 `fallback_to_asr`,且优先于 `exclude_ai_subtitles`。
|
|
148
|
+
- 每个选中的 `ai-*` 都会无条件双读并做确定性完整性评估,通过后才返回正文:跨读取稳定性(两次读取的正文不一致即不可用,适用于所有 `ai-*`)、语言(仅针对 `ai-zh`:≥80 Unicode 字母且 Han 占比 <10% 视为不匹配;其他 `ai-*` 语言不因非中文正文被拒绝);不通过时 `fallback_to_asr: true` 调用本地 ASR,否则遵循 `fallback_to_description`;video-info 返回简介且不缓存。同语言但语义不符(稳定却离题的正文)是已接受的限制,可用 `force_asr` 或 `exclude_ai_subtitles` 控制;人工字幕保持单读,第二次读取的传输、超时、认证或解析失败照常作为错误返回。
|
|
149
|
+
|
|
141
150
|
## 本地 ASR(可选)
|
|
142
151
|
|
|
143
152
|
有些视频没有任何字幕。安装本地 ASR 模型后,`get_video_transcript` 可以在你显式开启 `fallback_to_asr` 时,对已解析的这一 P 做一次本地转录。
|
|
@@ -154,7 +163,8 @@ Runtime 固定为 `faster-whisper==1.2.1`,模型存放在用户目录 `~/.bili
|
|
|
154
163
|
|
|
155
164
|
**边界:**本地转录始终被约束在安全范围内——显式选择、资源受限、Cookie 隔离:
|
|
156
165
|
|
|
157
|
-
- 原生 B
|
|
166
|
+
- 原生 B 站字幕始终优先;每个选中的 `ai-*` 都会先无条件双读评估,不通过时与无字幕一样构成确认缺失(默认返回简介或 `SUBTITLE_UNAVAILABLE`);只有在这种确认缺失状态、且你显式传了 `fallback_to_asr: true` 时才启动转录。
|
|
167
|
+
- `force_asr: true` 是显式授权直接转录当前这一 P,与是否存在字幕无关,无需同时开启 `fallback_to_asr`。
|
|
158
168
|
- MCP 调用不会下载或切换模型;模型只通过 `setup` 安装。
|
|
159
169
|
- 一次只运行一个转录任务;单 P 时长上限 2 小时、音频上限 128 MiB、转录超时 30 分钟。
|
|
160
170
|
- 临时音频在成功、失败、超时等所有路径上都会被清理。
|
|
@@ -185,7 +195,8 @@ Runtime 固定为 `faster-whisper==1.2.1`,模型存放在用户目录 `~/.bili
|
|
|
185
195
|
- **收藏夹遍历是调用方驱动的**:"全部收藏夹"指当前登录账号创建、且 Bilibili API 当前可见的收藏夹;每次调用最多读取一个 20 条上游页面,Agent 必须持续跟随 `next_cursor`。遍历是实时 best-effort,不是快照。
|
|
186
196
|
- **不跨收藏夹去重**:同一 BVID 出现在多个收藏夹时保留各自的收藏夹上下文。
|
|
187
197
|
- **跳过的条目不补漏**:无法安全规范化的视频条目会计入 `skipped_count`,不会为该页拉取替代条目。
|
|
188
|
-
- **ASR
|
|
198
|
+
- **ASR 是显式回退,不是自动行为**:每个选中的 `ai-*` 默认都会双读,完整性不通过时即使未开启 ASR 也会降级为简介或 `SUBTITLE_UNAVAILABLE`;本地转录只会在确认无字幕并显式开启 `fallback_to_asr`,或设置 `force_asr` 时运行一次,且需要本机已有 ready 模型。
|
|
199
|
+
- **AI 字幕与人工字幕可区分**:选中 Bilibili AI 识别字幕(`ai-zh` 等任意 `ai-*` 语言)时 `data_source` 为 `ai_subtitle`;它是 Bilibili 的 AI 转录,可能不准确,不能当作人工校验过的引用。需要纯人工字幕时使用 `exclude_ai_subtitles: true`。
|
|
189
200
|
- **降级是显式的**:`get_video_transcript` 默认在无字幕时返回 `SUBTITLE_UNAVAILABLE`;描述降级(`fallback_to_description`)与关键词搜索、时间戳输出和时段过滤互斥。
|
|
190
201
|
- **无访问绕过**:不会绕过付费、会员、地区、私密、下架或其他 Bilibili 访问限制。
|
|
191
202
|
- **视频搜索和收藏夹发现都需要登录凭证**,不提供匿名降级。
|
package/README_EN.md
CHANGED
|
@@ -54,7 +54,7 @@ Please help me install the Bilibili MCP server: @xzxzzx/bilibili-mcp.
|
|
|
54
54
|
npx -y @xzxzzx/bilibili-mcp@latest check
|
|
55
55
|
npx -y @xzxzzx/bilibili-mcp@latest doctor --json
|
|
56
56
|
doctor --json checks local configuration only; it does not replace the live login verification below.
|
|
57
|
-
setup will ask about installing the optional local ASR model; choosing no is fine.
|
|
57
|
+
setup will ask about installing the optional local ASR model; choosing no is fine. Automated environments can run setup --non-interactive (credentials come from existing environment variables or the global config file; no prompts, and credential values are never read from stdin/argv); add --asr-model <tiny|base|small> to also install a given model.
|
|
58
58
|
5. Ask me to restart or reconnect the client. When you can't do it for me,
|
|
59
59
|
tell me explicitly to do it myself.
|
|
60
60
|
6. After reconnect, call the MCP tool check_bilibili_credentials.
|
|
@@ -144,6 +144,15 @@ text.
|
|
|
144
144
|
|
|
145
145
|
This requires a model installed through `setup` and `doctor --json` reporting `asr.status: ready`; otherwise the call returns `ASR_NOT_READY` with setup guidance. Native subtitles always win: a local transcription starts only when subtitles are confirmed unavailable, returns `data_source: "asr"`, and reuses the same timestamps, range filters, keyword search, and moment links. See [Local ASR](#local-asr-optional).
|
|
146
146
|
|
|
147
|
+
### Distinguishing AI subtitles (ai-*) from human subtitles
|
|
148
|
+
|
|
149
|
+
Bilibili marks some videos' AI-generated subtitles as `ai-zh`, `ai-en`, `ai-ja`, and other `ai-*` languages. To keep them distinguishable from human subtitles, when any `ai-*` track is selected both `get_video_transcript` and `get_video_info` return `data_source: "ai_subtitle"` (not `"subtitle"`; managed local ASR stays `"asr"`).
|
|
150
|
+
|
|
151
|
+
- `ai_subtitle` is Bilibili AI transcription; it may be inaccurate and is not equivalent to a human-checked citation.
|
|
152
|
+
- `exclude_ai_subtitles: true` (both tools, default `false`): filters out all Bilibili AI tracks (`ai-zh`, `ai-en`, etc.) before selection and prefers any remaining human subtitle. If only AI tracks remain, the result is treated as definitive absence — `get_video_transcript` may use explicit `fallback_to_asr` / `fallback_to_description`, and `get_video_info` returns the description.
|
|
153
|
+
- `force_asr: true` (transcript only, default `false`): bypasses subtitle metadata and content selection and transcribes the resolved Part with the local ASR, even when valid human subtitles exist. It does not require `fallback_to_asr: true` and wins over `exclude_ai_subtitles`.
|
|
154
|
+
- Every selected `ai-*` track is unconditionally read twice and passes a deterministic integrity assessment before its body is returned: cross-read stability (two reads with different normalized bodies are unusable; applies to every `ai-*` language) and language (ai-zh only: a body with at least 80 Unicode letters and under 10% Han letters is an `ai-zh` mismatch; other `ai-*` languages are not rejected for being non-Chinese). An unusable track invokes the local ASR with `fallback_to_asr: true`, otherwise the existing `fallback_to_description` contract applies; video-info returns the description without caching it. Stable same-language bodies that are semantically off-topic are an accepted limitation, controlled by `force_asr` or `exclude_ai_subtitles`. Human subtitles stay single-read, and a transport, timeout, auth, or parse failure on the second read remains an error.
|
|
155
|
+
|
|
147
156
|
## Local ASR (optional)
|
|
148
157
|
|
|
149
158
|
Some videos ship without any subtitle. Once you install a local ASR model, `get_video_transcript` can run one bounded local transcription of the resolved Part when you explicitly pass `fallback_to_asr`.
|
|
@@ -161,6 +170,7 @@ The runtime is pinned to `faster-whisper==1.2.1`. Models live under `~/.bilibili
|
|
|
161
170
|
**Boundaries:** local transcription stays within safe bounds — opt-in, resource-capped, Cookie-isolated:
|
|
162
171
|
|
|
163
172
|
- Native Bilibili subtitles always win; transcription starts only on confirmed no-subtitle states with an explicit `fallback_to_asr: true`.
|
|
173
|
+
- `force_asr: true` is explicit authorization to transcribe the resolved Part directly, regardless of subtitle availability and without requiring `fallback_to_asr`.
|
|
164
174
|
- MCP calls never download or switch models; models install only through `setup`.
|
|
165
175
|
- One transcription at a time; per-Part duration capped at 2 hours, audio at 128 MiB, transcription timeout at 30 minutes.
|
|
166
176
|
- Temporary audio is removed on every success, failure, and timeout path.
|
|
@@ -191,7 +201,8 @@ Complete parameters, JSON examples, and error semantics: [tool reference](./docs
|
|
|
191
201
|
- **Favorites traversal is caller-driven:** "every Favorite Folder" means Folders created by the currently logged-in account and currently visible through the Bilibili API. Each call reads at most one 20-row upstream page; the Agent must keep following `next_cursor`. Traversal is live best effort, not a snapshot.
|
|
192
202
|
- **No cross-Folder deduplication:** the same BVID appearing in multiple Folders stays visible in each Folder context.
|
|
193
203
|
- **Skipped entries are not replaced:** entries that cannot be safely normalized count toward `skipped_count`; no replacement entry is fetched for that page.
|
|
194
|
-
- **ASR is an explicit fallback, not automatic:**
|
|
204
|
+
- **ASR is an explicit fallback, not automatic:** every selected `ai-*` track is always double-read and may become unavailable even on a default call (degrading to the description result or `SUBTITLE_UNAVAILABLE`); local transcription runs only on such confirmed no-subtitle states — or on explicit `force_asr` — when you pass `fallback_to_asr` / `force_asr`, at most once per call, and only with a ready local model.
|
|
205
|
+
- **AI subtitles are distinguishable from human subtitles:** when Bilibili's AI-generated track (`ai-zh` or another `ai-*` language) is selected, `data_source` is `ai_subtitle`. It is Bilibili AI transcription, may be inaccurate, and is not equivalent to a human-checked citation. Use `exclude_ai_subtitles: true` when only human subtitles are acceptable.
|
|
195
206
|
- **Downgrades are explicit:** `get_video_transcript` returns `SUBTITLE_UNAVAILABLE` by default when no subtitle exists. Description fallback (`fallback_to_description`) is incompatible with keyword search, timestamp output, and time-range filters.
|
|
196
207
|
- **No access bypass:** the project does not bypass paid, member-only, regional, private, removed, or other Bilibili access restrictions.
|
|
197
208
|
- **Video search and Favorites discovery both require logged-in credentials** and do not fall back to anonymous access.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../src/bilibili/comments.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../src/bilibili/comments.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAepB,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,OAAO,EAAE;QACP,cAAc,EAAE,MAAM,CAAC;QACvB,uBAAuB,EAAE,MAAM,CAAC;KACjC,CAAC;CACH;AA0ID;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,oBAAoB,CAAC,EAAE,kBAAkB,GAAG,cAAc,EAC1D,UAAU,CAAC,EAAE,MAAM,EACnB,oBAAoB,CAAC,EAAE,OAAO,GAC7B,OAAO,CAAC,WAAW,CAAC,CAkKtB"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { getVideoComments } from "./client.js";
|
|
3
3
|
import { extractBVId } from "../utils/bvid.js";
|
|
4
4
|
import { cacheManager } from "../utils/cache.js";
|
|
5
|
-
import { CommentsDisabledError, ResourceLimitError, } from "../utils/errors.js";
|
|
5
|
+
import { CommentsDisabledError, ResourceLimitError, UpstreamResponseError, } from "../utils/errors.js";
|
|
6
6
|
import { logger, redactSecrets } from "../utils/logger.js";
|
|
7
7
|
import { SECURITY_LIMITS, utf8ByteLength } from "../security/limits.js";
|
|
8
8
|
import { boundedFiniteInteger, boundedRemoteText, } from "../utils/bounded-text.js";
|
|
@@ -48,16 +48,20 @@ function normalizeRemoteComment(value, includeReplies) {
|
|
|
48
48
|
replies,
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
|
-
function acceptCommentPage(data,
|
|
52
|
-
if (!isRecord(data) || !Array.isArray(data.replies))
|
|
53
|
-
|
|
51
|
+
function acceptCommentPage(data, maxAcceptedItems, maxRawItems, includeReplies) {
|
|
52
|
+
if (!isRecord(data) || !Array.isArray(data.replies)) {
|
|
53
|
+
throw new UpstreamResponseError("Bilibili returned an invalid comments response");
|
|
54
|
+
}
|
|
55
|
+
const rawReplies = data.replies.slice(0, maxRawItems);
|
|
54
56
|
const accepted = [];
|
|
55
|
-
for (const rawComment of
|
|
57
|
+
for (const rawComment of rawReplies) {
|
|
58
|
+
if (accepted.length >= maxAcceptedItems)
|
|
59
|
+
break;
|
|
56
60
|
const comment = normalizeRemoteComment(rawComment, includeReplies);
|
|
57
61
|
if (comment)
|
|
58
62
|
accepted.push(comment);
|
|
59
63
|
}
|
|
60
|
-
return accepted;
|
|
64
|
+
return { comments: accepted, rawIsEmpty: rawReplies.length === 0 };
|
|
61
65
|
}
|
|
62
66
|
/**
|
|
63
67
|
* 过滤表情占位符(如 [doge])
|
|
@@ -142,22 +146,24 @@ export async function getVideoCommentsData(bvidOrUrl, detailLevelOrOptions, lega
|
|
|
142
146
|
let rawComments;
|
|
143
147
|
if (commentCount <= 20) {
|
|
144
148
|
const commentsData = await getVideoComments(bvidOrUrl, 1, commentCount, sort, includeReplies);
|
|
145
|
-
rawComments = acceptCommentPage(commentsData, commentCount, includeReplies);
|
|
149
|
+
rawComments = acceptCommentPage(commentsData, commentCount, commentCount, includeReplies).comments;
|
|
146
150
|
}
|
|
147
151
|
else {
|
|
148
152
|
rawComments = [];
|
|
149
153
|
let page = 1;
|
|
150
154
|
let remaining = commentCount;
|
|
151
|
-
|
|
152
|
-
|
|
155
|
+
// Bilibili uses page-number/page-size pagination. Changing ps on the
|
|
156
|
+
// final request changes that page's offset, so keep ps stable and
|
|
157
|
+
// enforce the caller-visible limit locally.
|
|
158
|
+
const pageSize = 20;
|
|
159
|
+
const maxPages = Math.ceil(commentCount / pageSize);
|
|
160
|
+
while (remaining > 0 && page <= maxPages) {
|
|
153
161
|
const pageData = await getVideoComments(bvidOrUrl, page, pageSize, sort, includeReplies);
|
|
154
|
-
const
|
|
155
|
-
if (
|
|
156
|
-
break;
|
|
157
|
-
rawComments.push(...pageReplies);
|
|
158
|
-
if (pageReplies.length < pageSize)
|
|
162
|
+
const acceptedPage = acceptCommentPage(pageData, remaining, pageSize, includeReplies);
|
|
163
|
+
if (acceptedPage.rawIsEmpty)
|
|
159
164
|
break;
|
|
160
|
-
|
|
165
|
+
rawComments.push(...acceptedPage.comments);
|
|
166
|
+
remaining -= acceptedPage.comments.length;
|
|
161
167
|
page++;
|
|
162
168
|
}
|
|
163
169
|
rawComments = rawComments.slice(0, commentCount);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comments.js","sourceRoot":"","sources":["../../src/bilibili/comments.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAO/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACL,qBAAqB,EACrB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"comments.js","sourceRoot":"","sources":["../../src/bilibili/comments.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/bilibili/http.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/bilibili/http.ts"],"names":[],"mappings":"AAqCA,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AA4DD;;GAEG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,OAAO,EAAE,CAAC,UAAU,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,EACpD,OAAO,GAAE;IACP,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CAChB,GACL,OAAO,CAAC,CAAC,CAAC,CAqEZ;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,OAAO,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,CAAC,CAAC,EACtD,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC,CAeZ;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAItE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EACvC,iBAAiB,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAC9C,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,OAAO,CAAC,CAqKlB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EACxC,iBAAiB,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAC9C,MAAM,CAAC,EAAE,WAAW,EACpB,gBAAgB,GAAE,MAAsC,GACvD,OAAO,CAAC,OAAO,CAAC,CAwGlB"}
|
package/dist/bilibili/http.js
CHANGED
|
@@ -12,9 +12,18 @@ const BASE_URL = config.baseUrl;
|
|
|
12
12
|
// 请求限流 - 避免高频请求被 Bilibili 限制
|
|
13
13
|
const RATE_LIMIT_MS = config.rateLimitMs;
|
|
14
14
|
const REQUEST_TIMEOUT_MS = config.requestTimeoutMs;
|
|
15
|
+
const PAID_VIDEO_ENDPOINTS = new Set([
|
|
16
|
+
"/x/web-interface/view",
|
|
17
|
+
"/x/player/v2",
|
|
18
|
+
]);
|
|
15
19
|
let lastRequestTime = null;
|
|
16
20
|
let pendingAdmissions = 0;
|
|
17
21
|
let activeAndQueuedOperations = 0;
|
|
22
|
+
function isExplicitPaidVideoDenial(path, message) {
|
|
23
|
+
return (PAID_VIDEO_ENDPOINTS.has(path) &&
|
|
24
|
+
typeof message === "string" &&
|
|
25
|
+
/(?:付费|购买后|需购买)/u.test(message));
|
|
26
|
+
}
|
|
18
27
|
async function reserveAdmission(deadlineAt, signal) {
|
|
19
28
|
throwIfAborted(signal);
|
|
20
29
|
if (pendingAdmissions >= SECURITY_LIMITS.httpAdmissionQueue) {
|
|
@@ -263,7 +272,10 @@ export async function fetchWithoutWBI(path, params, additionalHeaders = {}, sign
|
|
|
263
272
|
throw new CommentsDisabledError("该视频的评论功能已被禁用或限制访问");
|
|
264
273
|
}
|
|
265
274
|
if (data.code === -403) {
|
|
266
|
-
|
|
275
|
+
if (isExplicitPaidVideoDenial(path, data.message)) {
|
|
276
|
+
throw new PaidVideoError("该视频为付费内容,无法获取完整信息");
|
|
277
|
+
}
|
|
278
|
+
throw new BilibiliAPIError("Bilibili denied access to this resource.", "ACCESS_DENIED", undefined, data);
|
|
267
279
|
}
|
|
268
280
|
throw new BilibiliAPIError("Bilibili API returned an error.", "API_ERROR", undefined, data);
|
|
269
281
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/bilibili/http.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/bilibili/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/bilibili/search.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/bilibili/search.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAwB,eAAe,EAAE,MAAM,YAAY,CAAC;AAyIxE,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,MAAM,EACb,KAAK,SAAI,GACR,OAAO,CAAC,eAAe,CAAC,CAqC1B"}
|
package/dist/bilibili/search.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { credentialManager } from "../utils/credentials.js";
|
|
2
|
-
import { BilibiliAPIError, ResourceLimitError, } from "../utils/errors.js";
|
|
2
|
+
import { BilibiliAPIError, ResourceLimitError, UpstreamResponseError, } from "../utils/errors.js";
|
|
3
|
+
import { abortableDelay, getOperationSignal, throwIfAborted, } from "../security/operation-context.js";
|
|
3
4
|
import { isValidBVId } from "../utils/bvid.js";
|
|
4
5
|
import { checkLoginStatus, fetchWithoutWBI } from "./http.js";
|
|
5
6
|
import { boundedRemoteText, truncateUtf8, } from "../utils/bounded-text.js";
|
|
@@ -8,6 +9,7 @@ const MAX_SEARCH_ROWS = 100;
|
|
|
8
9
|
const MAX_SEARCH_TITLE_BYTES = 512;
|
|
9
10
|
const MAX_SEARCH_AUTHOR_BYTES = 128;
|
|
10
11
|
const MAX_SEARCH_DESCRIPTION_BYTES = 512;
|
|
12
|
+
const SEARCH_SHAPE_RETRY_DELAY_MS = 500;
|
|
11
13
|
function createCredentialError() {
|
|
12
14
|
return new BilibiliAPIError('Current Bilibili credentials are expired or not logged in. Run "npx -y @xzxzzx/bilibili-mcp@latest config", then "npx -y @xzxzzx/bilibili-mcp@latest check", or update environment variables.', "COOKIE_EXPIRED");
|
|
13
15
|
}
|
|
@@ -80,6 +82,26 @@ function normalizeCandidate(value) {
|
|
|
80
82
|
source_url: `https://www.bilibili.com/video/${value.bvid}/`,
|
|
81
83
|
};
|
|
82
84
|
}
|
|
85
|
+
async function fetchSearchRows(query, limit, authHeaders) {
|
|
86
|
+
const signal = getOperationSignal();
|
|
87
|
+
const params = {
|
|
88
|
+
search_type: "video",
|
|
89
|
+
keyword: query,
|
|
90
|
+
page: 1,
|
|
91
|
+
page_size: limit,
|
|
92
|
+
};
|
|
93
|
+
for (let attempt = 0; attempt < 2; attempt++) {
|
|
94
|
+
throwIfAborted(signal);
|
|
95
|
+
const data = await fetchWithoutWBI(VIDEO_SEARCH_PATH, params, authHeaders);
|
|
96
|
+
if (isRecord(data) && Array.isArray(data.result)) {
|
|
97
|
+
return data.result;
|
|
98
|
+
}
|
|
99
|
+
if (attempt === 0) {
|
|
100
|
+
await abortableDelay(SEARCH_SHAPE_RETRY_DELAY_MS, signal);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
throw new UpstreamResponseError("Bilibili returned an invalid video search response");
|
|
104
|
+
}
|
|
83
105
|
export async function searchBilibiliVideos(query, limit = 5) {
|
|
84
106
|
const normalizedQuery = query.trim();
|
|
85
107
|
const authHeaders = credentialManager.getAuthHeaders();
|
|
@@ -91,13 +113,7 @@ export async function searchBilibiliVideos(query, limit = 5) {
|
|
|
91
113
|
if (!loginStatus.isLogin) {
|
|
92
114
|
throw createCredentialError();
|
|
93
115
|
}
|
|
94
|
-
const
|
|
95
|
-
search_type: "video",
|
|
96
|
-
keyword: normalizedQuery,
|
|
97
|
-
page: 1,
|
|
98
|
-
page_size: limit,
|
|
99
|
-
}, authHeaders);
|
|
100
|
-
const rows = isRecord(data) && Array.isArray(data.result) ? data.result : [];
|
|
116
|
+
const rows = await fetchSearchRows(normalizedQuery, limit, authHeaders);
|
|
101
117
|
if (rows.length > MAX_SEARCH_ROWS) {
|
|
102
118
|
throw new ResourceLimitError("Video search response exceeded its item limit", "video_search_items", MAX_SEARCH_ROWS);
|
|
103
119
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/bilibili/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,gBAAgB,EAChB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/bilibili/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,cAAc,GACf,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EACL,iBAAiB,EACjB,YAAY,GACb,MAAM,0BAA0B,CAAC;AAElC,MAAM,iBAAiB,GAAG,kCAAkC,CAAC;AAC7D,MAAM,eAAe,GAAG,GAAG,CAAC;AAC5B,MAAM,sBAAsB,GAAG,GAAG,CAAC;AACnC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AACpC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AACzC,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAIxC,SAAS,qBAAqB;IAC5B,OAAO,IAAI,gBAAgB,CACzB,+LAA+L,EAC/L,gBAAgB,CACjB,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED,SAAS,eAAe,CAAC,KAAc,EAAE,QAAgB;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1E,OAAO,iBAAiB,CACtB,UAAU,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,EAC1C,QAAQ,CACT,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IAExC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,IACE,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EACzC,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IAEjE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;QAClC,IAAI,OAAO,IAAI,EAAE;YAAE,OAAO,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAG,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC;QACrC,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;IACzC,IAAI,OAAO,IAAI,EAAE,IAAI,OAAO,IAAI,EAAE;QAAE,OAAO,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC;IACrD,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACvE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;AAChE,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACtE,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,OAAO,eAAe,CAAC,KAAK,EAAE,4BAA4B,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IACjE,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;IACnE,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAE7B,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK;QACL,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,uBAAuB,CAAC;QAC9D,gBAAgB,EAAE,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC;QACtD,YAAY,EAAE,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;QAC1C,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;QACnC,WAAW,EAAE,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC;QACnD,UAAU,EAAE,kCAAkC,KAAK,CAAC,IAAI,GAAG;KAC5D,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,KAAa,EACb,KAAa,EACb,WAAmC;IAEnC,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG;QACb,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC;QACP,SAAS,EAAE,KAAK;KACjB,CAAC;IAEF,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;QAC7C,cAAc,CAAC,MAAM,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,MAAM,eAAe,CAChC,iBAAiB,EACjB,MAAM,EACN,WAAW,CACZ,CAAC;QACF,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QACD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAClB,MAAM,cAAc,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,MAAM,IAAI,qBAAqB,CAC7B,oDAAoD,CACrD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAAa,EACb,KAAK,GAAG,CAAC;IAET,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACrC,MAAM,WAAW,GAAG,iBAAiB,CAAC,cAAc,EAAE,CAAC;IAEvD,IACE,OAAO,WAAW,CAAC,MAAM,KAAK,QAAQ;QACtC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EACtC,CAAC;QACD,MAAM,qBAAqB,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAC7C,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACzB,MAAM,qBAAqB,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,eAAe,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAExE,IAAI,IAAI,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;QAClC,MAAM,IAAI,kBAAkB,CAC1B,+CAA+C,EAC/C,oBAAoB,EACpB,eAAe,CAChB,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,SAAS;YAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK;YAAE,MAAM;IACtC,CAAC;IAED,OAAO;QACL,KAAK,EAAE,eAAe;QACtB,OAAO;KACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { SubtitleBodyItem } from "./types.js";
|
|
2
|
+
type AiSubtitleIntegrityVerdict = {
|
|
3
|
+
usable: true;
|
|
4
|
+
} | {
|
|
5
|
+
usable: false;
|
|
6
|
+
reason: string;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* 对选中的 ai-* 做无条件完整性评估:稳定性(所有 ai-*)→ 语言(仅 ai-zh)。
|
|
10
|
+
* 任一信号不通过即 unusable(reason 不含任何正文/比较内容);
|
|
11
|
+
* 阈值不满足的检查一律 inconclusive 通过。
|
|
12
|
+
*/
|
|
13
|
+
export declare function assessAiSubtitleIntegrity(firstBody: SubtitleBodyItem[], secondBody: SubtitleBodyItem[], trackLanguage: string): AiSubtitleIntegrityVerdict;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=subtitle-integrity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subtitle-integrity.d.ts","sourceRoot":"","sources":["../../src/bilibili/subtitle-integrity.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,KAAK,0BAA0B,GAC3B;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAChB;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAoCtC;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,gBAAgB,EAAE,EAC7B,UAAU,EAAE,gBAAgB,EAAE,EAC9B,aAAa,EAAE,MAAM,GACpB,0BAA0B,CAc5B"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 归一化后的逐段正文(精确 [from,to,content] 元组),用于跨读取稳定性比较。
|
|
3
|
+
* 只序列化这三个字段:SubtitleBodyItem 还有可选 location,且对象键序可能因
|
|
4
|
+
* 两次读取而异,直接 JSON.stringify(seg) 会把仅此差异的稳定正文误判为不稳定。
|
|
5
|
+
*/
|
|
6
|
+
function canonicalSubtitleBody(body) {
|
|
7
|
+
return body
|
|
8
|
+
.map((seg) => JSON.stringify([seg.from, seg.to, seg.content ?? ""]))
|
|
9
|
+
.join("\n");
|
|
10
|
+
}
|
|
11
|
+
function bodyText(body) {
|
|
12
|
+
return body.map((seg) => seg.content ?? "").join("\n");
|
|
13
|
+
}
|
|
14
|
+
function countLetters(text, pattern) {
|
|
15
|
+
let count = 0;
|
|
16
|
+
for (const ch of text) {
|
|
17
|
+
if (pattern.test(ch))
|
|
18
|
+
count += 1;
|
|
19
|
+
}
|
|
20
|
+
return count;
|
|
21
|
+
}
|
|
22
|
+
// 语言信号(仅 ai-zh):正文达到 80 个及以上 Unicode 字母、且其中 Han 字母占比低于 10%,
|
|
23
|
+
// 视为与 ai-zh 高置信不匹配;其他 ai-* 语言(ai-en/ai-ja/ai-es 等)不因非中文正文被拒绝。
|
|
24
|
+
// 阈值不满足则信号 inconclusive,不得拒绝。
|
|
25
|
+
function languageMismatch(body) {
|
|
26
|
+
const text = bodyText(body);
|
|
27
|
+
const letters = countLetters(text, /\p{L}/u);
|
|
28
|
+
if (letters < 80)
|
|
29
|
+
return false;
|
|
30
|
+
const han = countLetters(text, /\p{Script=Han}/u);
|
|
31
|
+
return han / letters < 0.1;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* 对选中的 ai-* 做无条件完整性评估:稳定性(所有 ai-*)→ 语言(仅 ai-zh)。
|
|
35
|
+
* 任一信号不通过即 unusable(reason 不含任何正文/比较内容);
|
|
36
|
+
* 阈值不满足的检查一律 inconclusive 通过。
|
|
37
|
+
*/
|
|
38
|
+
export function assessAiSubtitleIntegrity(firstBody, secondBody, trackLanguage) {
|
|
39
|
+
if (canonicalSubtitleBody(firstBody) !== canonicalSubtitleBody(secondBody)) {
|
|
40
|
+
return {
|
|
41
|
+
usable: false,
|
|
42
|
+
reason: "AI subtitle returned inconsistent content across reads",
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
if (trackLanguage === "ai-zh" && languageMismatch(firstBody)) {
|
|
46
|
+
return {
|
|
47
|
+
usable: false,
|
|
48
|
+
reason: "AI subtitle body language does not match ai-zh",
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
return { usable: true };
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=subtitle-integrity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subtitle-integrity.js","sourceRoot":"","sources":["../../src/bilibili/subtitle-integrity.ts"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,IAAwB;IACrD,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;SACnE,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,QAAQ,CAAC,IAAwB;IACxC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,OAAe;IACjD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;QACtB,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,4DAA4D;AAC5D,8DAA8D;AAC9D,8BAA8B;AAC9B,SAAS,gBAAgB,CAAC,IAAwB;IAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7C,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,KAAK,CAAC;IAC/B,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IAClD,OAAO,GAAG,GAAG,OAAO,GAAG,GAAG,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,SAA6B,EAC7B,UAA8B,EAC9B,aAAqB;IAErB,IAAI,qBAAqB,CAAC,SAAS,CAAC,KAAK,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3E,OAAO;YACL,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,wDAAwD;SACjE,CAAC;IACJ,CAAC;IACD,IAAI,aAAa,KAAK,OAAO,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7D,OAAO;YACL,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,gDAAgD;SACzD,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { TranscriptSearchOptions, VideoTranscriptData } from "./types.js";
|
|
2
2
|
export interface SubtitleData {
|
|
3
|
-
data_source: "subtitle" | "description";
|
|
3
|
+
data_source: "subtitle" | "ai_subtitle" | "description";
|
|
4
4
|
video_info: {
|
|
5
5
|
title: string;
|
|
6
6
|
description: string;
|
|
@@ -20,9 +20,9 @@ export interface SubtitleData {
|
|
|
20
20
|
* - 当 timestamps 或 range 被请求时,拒绝 description fallback
|
|
21
21
|
* - searchOptions 存在时拒绝 description fallback,只搜索真实字幕
|
|
22
22
|
*/
|
|
23
|
-
export declare function getVideoTranscriptData(bvidOrUrl: string, preferredLang?: string, fallbackToDescription?: boolean, page?: number, includeTimestamps?: boolean, startSeconds?: number, endSeconds?: number, searchOptions?: TranscriptSearchOptions, fallbackToAsr?: boolean, signal?: AbortSignal): Promise<VideoTranscriptData>;
|
|
23
|
+
export declare function getVideoTranscriptData(bvidOrUrl: string, preferredLang?: string, fallbackToDescription?: boolean, page?: number, includeTimestamps?: boolean, startSeconds?: number, endSeconds?: number, searchOptions?: TranscriptSearchOptions, fallbackToAsr?: boolean, excludeAiSubtitles?: boolean, forceAsr?: boolean, signal?: AbortSignal): Promise<VideoTranscriptData>;
|
|
24
24
|
/**
|
|
25
25
|
* 获取视频信息及字幕
|
|
26
26
|
*/
|
|
27
|
-
export declare function getVideoInfoWithSubtitle(bvidOrUrl: string, preferredLang?: string, page?: number): Promise<SubtitleData>;
|
|
27
|
+
export declare function getVideoInfoWithSubtitle(bvidOrUrl: string, preferredLang?: string, page?: number, excludeAiSubtitles?: boolean): Promise<SubtitleData>;
|
|
28
28
|
//# sourceMappingURL=subtitle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subtitle.d.ts","sourceRoot":"","sources":["../../src/bilibili/subtitle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"subtitle.d.ts","sourceRoot":"","sources":["../../src/bilibili/subtitle.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAKV,uBAAuB,EACvB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,UAAU,GAAG,aAAa,GAAG,aAAa,CAAC;IACxD,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH;AAoPD;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,EACtB,qBAAqB,CAAC,EAAE,OAAO,EAC/B,IAAI,CAAC,EAAE,MAAM,EACb,iBAAiB,CAAC,EAAE,OAAO,EAC3B,YAAY,CAAC,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,uBAAuB,EACvC,aAAa,CAAC,EAAE,OAAO,EACvB,kBAAkB,CAAC,EAAE,OAAO,EAC5B,QAAQ,CAAC,EAAE,OAAO,EAClB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,mBAAmB,CAAC,CAgP9B;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,EACtB,IAAI,CAAC,EAAE,MAAM,EACb,kBAAkB,CAAC,EAAE,OAAO,GAC3B,OAAO,CAAC,YAAY,CAAC,CAgKvB"}
|