@xzxzzx/bilibili-mcp 1.7.1 → 1.8.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 CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  Bilibili MCP server — 让 Claude、Cursor、Codex 等 AI 客户端直接读取 Bilibili 视频字幕、转录、元数据和热门评论的 MCP server。
8
8
 
9
- 🌐 [English Documentation](https://github.com/XZXZZX-Ai/bilibili-mcp/blob/master/README_EN.md) · 📜 [更新日志](https://github.com/XZXZZX-Ai/bilibili-mcp/blob/master/CHANGELOG.md) · 📦 [npm](https://www.npmjs.com/package/@xzxzzx/bilibili-mcp) · 🚀 [Release v1.7.1](https://github.com/XZXZZX-Ai/bilibili-mcp/releases/tag/v1.7.1)
9
+ 🌐 [English Documentation](https://github.com/XZXZZX-Ai/bilibili-mcp/blob/master/README_EN.md) · 📜 [更新日志](https://github.com/XZXZZX-Ai/bilibili-mcp/blob/master/CHANGELOG.md) · 📦 [npm](https://www.npmjs.com/package/@xzxzzx/bilibili-mcp) · 🚀 [Release v1.7.2](https://github.com/XZXZZX-Ai/bilibili-mcp/releases/tag/v1.7.2)
10
10
 
11
11
  > [!TIP]
12
12
  > ⚠️ 你可以把下方“用 agent 工具帮你安装”的提示词复制给 Codex、Claude Code、Cursor 等 agent,让它帮你完成 MCP 客户端接入和 Cookie 配置引导。为了稳定获取字幕、转录和评论,安装后仍需配置 B 站 Cookie(agent会引导你);不要把 Cookie 写进 MCP 客户端配置。Metadata 可能无需 Cookie。详见 [**凭证配置**](#️-凭证配置)。
@@ -123,15 +123,23 @@ npx -y @xzxzzx/bilibili-mcp@latest check
123
123
  - 返回纯字幕文本,按行合并
124
124
  - 支持指定偏好语言(默认按 `zh-Hans` > `ai-zh` > `zh-CN` > `zh-Hant` > `en` 优先级选择)
125
125
  - 支持多P分集选择、时间戳输出和时间区间过滤
126
+ - 支持可选关键词搜索:返回带上下文的时间戳匹配列表(大小写不敏感字面匹配)
127
+ - 成功调用会同时返回向后兼容的格式化 JSON 文本和内容相同的 MCP `structuredContent`
126
128
  - 可选参数:
127
129
  - `preferred_lang`: 偏好字幕语言代码
128
130
  - `fallback_to_description`: 字幕不可用时是否降级为视频描述(默认 `false`)
129
131
  - `page`: 多P视频分集编号(从1开始的正整数)
130
132
  - `include_timestamps`: 每行添加 `[HH:MM:SS --> HH:MM:SS]` 时间戳前缀
131
133
  - `start_seconds` / `end_seconds`: 只返回与此区间重叠的字幕段
134
+ - `query`: 关键词搜索词(最多100字符,大小写不敏感字面匹配)
135
+ - `max_matches`: 最大匹配数(1-20,默认10)
136
+ - `context_segments`: 每个匹配前后的上下文段数(0-5,默认1)
132
137
  - 默认不降级:无字幕时返回 `SUBTITLE_UNAVAILABLE` 错误
133
- - 时间戳/区间过滤与描述降级不兼容:请求 timed 输出时不会静默降级
138
+ - 时间戳/区间过滤/关键词搜索与描述降级不兼容:请求 timed 输出或搜索时不会静默降级
134
139
  - Cookie 失效时始终返回 `COOKIE_EXPIRED`,不静默降级
140
+ - 证据链接:
141
+ - 成功结果根字段 `source_url`:指向当前选中 Part 的 Bilibili 浏览器源 URL(多 P 视频附加 `p=<page>`)
142
+ - 关键词搜索的每个 `matches[]` 项附带 `timestamp_url`:在 `source_url` 基础上叠加 `t=<start_seconds>`,直达命中字幕的播放时刻
135
143
 
136
144
  ### 4. 视频元数据 (`get_video_metadata`)
137
145
  - 返回视频标题、作者、时长、发布时间、描述、标签、播放/点赞/投币等统计信息
@@ -1243,7 +1251,7 @@ BILIBILI_DEDEUSERID=<your_dedeuserid>
1243
1251
  | 目标 | 推荐工具 | 返回重点 |
1244
1252
  |---|---|---|
1245
1253
  | 想让 AI 总结一个视频 | `get_video_info` | 字幕优先;无字幕时返回标题、简介、标签 |
1246
- | 只想拿完整转录文本 | `get_video_transcript` | 纯字幕文本、语言、数据来源;支持时间戳和区间过滤 |
1254
+ | 只想拿完整转录文本或关键词定位 | `get_video_transcript` | 纯字幕文本、语言、数据来源;支持时间戳、区间过滤和关键词搜索 |
1247
1255
  | 想查看标题、作者、播放量等结构化信息 | `get_video_metadata` | 标题、作者、时长、发布时间、标签、统计数据、多P分集列表(`pages`) |
1248
1256
  | 想看观众反馈和热门评论 | `get_video_comments` | 热门评论、时间戳评论、可选回复 |
1249
1257
  | 想看视频章节/进度条分段 | `get_video_chapters` | 章节标题、起止时间;无章节时返回空列表 |
@@ -1321,6 +1329,22 @@ BILIBILI_DEDEUSERID=<your_dedeuserid>
1321
1329
 
1322
1330
  > 默认无字幕时返回 `SUBTITLE_UNAVAILABLE`。如需降级,设置 `fallback_to_description: true`。
1323
1331
 
1332
+ **关键词搜索示例**:
1333
+
1334
+ ```json
1335
+ {
1336
+ "name": "get_video_transcript",
1337
+ "arguments": {
1338
+ "bvid_or_url": "BV1xx411c7mD",
1339
+ "query": "深度学习",
1340
+ "max_matches": 5,
1341
+ "context_segments": 1
1342
+ }
1343
+ }
1344
+ ```
1345
+
1346
+ 搜索模式返回:`query`、`total_matches`、`returned_matches`、`truncated`、`matches`(含 `start_seconds`、`end_seconds`、`content`、`context`)和紧凑 `transcript`。
1347
+
1324
1348
  **定时区间转录示例**:
1325
1349
 
1326
1350
  ```json
@@ -1490,7 +1514,7 @@ npm run watch
1490
1514
 
1491
1515
  1. **初版生成**:由 **Claude Code** (搭载 **GLM-4.7** 模型) 快速搭建核心架构与基础逻辑。
1492
1516
  2. **调试与优化**:在 **Antigravity** 环境下,利用 **Claude** 和 **Gemini** 模型进行深度的 Bug 修复与功能增强,确保了字幕提取与评论分析的稳定性。
1493
- 3. **迭代与扩展**:由 **Codex** 进行架构决策与计划分解,通过 **Paseo** 启动 **Claude Code** 执行实现;目前覆盖 30+ AI 客户端的 MCP 接入配置、8 个 MCP 工具、244 个单元测试。
1517
+ 3. **迭代与扩展**:由 **Codex** 进行架构决策与计划分解,通过 **Paseo** 启动 **Claude Code** 执行实现;目前覆盖 30+ AI 客户端的 MCP 接入配置、8 个 MCP 工具、299 个单元测试。
1494
1518
 
1495
1519
  ---
1496
1520
 
@@ -1502,4 +1526,3 @@ npm run watch
1502
1526
  - **项目讨论**:在 [GitHub Discussions](https://github.com/XZXZZX-Ai/bilibili-mcp/discussions) 中交流。
1503
1527
 
1504
1528
  感谢您的支持!
1505
-
package/README_EN.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  MCP server that gives AI clients access to Bilibili video subtitles, transcripts, metadata, and popular comments.
8
8
 
9
- View in [简体中文](https://github.com/XZXZZX-Ai/bilibili-mcp/blob/master/README.md) · 📜 [Changelog](https://github.com/XZXZZX-Ai/bilibili-mcp/blob/master/CHANGELOG_EN.md) · 📦 [npm](https://www.npmjs.com/package/@xzxzzx/bilibili-mcp) · 🚀 [Release v1.7.1](https://github.com/XZXZZX-Ai/bilibili-mcp/releases/tag/v1.7.1)
9
+ View in [简体中文](https://github.com/XZXZZX-Ai/bilibili-mcp/blob/master/README.md) · 📜 [Changelog](https://github.com/XZXZZX-Ai/bilibili-mcp/blob/master/CHANGELOG_EN.md) · 📦 [npm](https://www.npmjs.com/package/@xzxzzx/bilibili-mcp) · 🚀 [Release v1.7.2](https://github.com/XZXZZX-Ai/bilibili-mcp/releases/tag/v1.7.2)
10
10
 
11
11
  > [!TIP]
12
12
  > ⚠️ You can copy the "Install With Your Agent" prompt below to Codex, Claude Code, Cursor, or another agent and let it add this MCP server to your client and guide Cookie setup. For reliable subtitles, transcripts, and comments, you still need to configure Bilibili Cookies after installation; do not write Cookies into MCP client config. Metadata may work without cookies. See [**Credential Configuration**](#-credential-configuration).
@@ -122,16 +122,23 @@ After the MCP server is connected, if available, call get_credential_setup_instr
122
122
  ### 3. Video Transcript (`get_video_transcript`)
123
123
  - Returns clean subtitle text, joined by newlines.
124
124
  - Supports preferred language selection (defaults to `zh-Hans` > `ai-zh` > `zh-CN` > `zh-Hant` > `en` priority).
125
- - Supports multi-Part selection, timestamp output, and time-range filtering.
125
+ - Supports multi-Part selection, timestamp output, time-range filtering, and optional keyword search.
126
+ - Successful calls return both the backward-compatible formatted JSON text and the same data as MCP `structuredContent`.
126
127
  - Optional parameters:
127
128
  - `preferred_lang`: Preferred subtitle language code.
128
129
  - `fallback_to_description`: Fall back to video description if subtitles unavailable (default `false`).
129
130
  - `page`: Multi-Part video page number (1-based positive integer).
130
131
  - `include_timestamps`: Prefix each line with `[HH:MM:SS --> HH:MM:SS]`.
131
132
  - `start_seconds` / `end_seconds`: Only return segments overlapping this range.
133
+ - `query`: Keyword search term (max 100 chars, case-insensitive literal matching).
134
+ - `max_matches`: Maximum matches to return (1-20, default 10).
135
+ - `context_segments`: Context segments per match side (0-5, default 1).
132
136
  - By default, returns `SUBTITLE_UNAVAILABLE` error when no subtitles exist.
133
- - Timestamps/range filtering is incompatible with description fallback.
137
+ - Timestamps/range filtering/keyword search is incompatible with description fallback.
134
138
  - Cookie expiration always returns `COOKIE_EXPIRED`, never silently falls back.
139
+ - Evidence links:
140
+ - Root `source_url` on every successful result: browser URL of the selected Part (multi-Part videos append `p=<page>`).
141
+ - `timestamp_url` on each search `matches[]` item: same as `source_url` plus `t=<start_seconds>`, opening the player at the matched subtitle.
135
142
 
136
143
  ### 4. Video Metadata (`get_video_metadata`)
137
144
  - Returns video title, author, duration, publish date, description, tags, and stats (views, likes, coins, etc.).
@@ -1243,7 +1250,7 @@ Do not share cookies with others. Do not paste them into public chats, issues, P
1243
1250
  | Goal | Recommended tool | What you get |
1244
1251
  |---|---|---|
1245
1252
  | Summarize a video | `get_video_info` | Subtitles first; falls back to title, description, tags |
1246
- | Get clean transcript text | `get_video_transcript` | Plain subtitle text, language, data source; supports timestamps and range filtering |
1253
+ | Get clean transcript text or locate keywords | `get_video_transcript` | Plain subtitle text, language, data source; supports timestamps, range filtering, and keyword search |
1247
1254
  | See structured metadata | `get_video_metadata` | Title, author, duration, publish date, tags, stats, multi-Part listing |
1248
1255
  | View audience reactions | `get_video_comments` | Popular comments, timestamped highlights, optional replies |
1249
1256
  | See video Chapters | `get_video_chapters` | Chapter titles, start/end seconds; empty list when absent |
@@ -1321,6 +1328,22 @@ Returns: `bvid`, `title`, `language`, `transcript` (newline-joined), `data_sourc
1321
1328
 
1322
1329
  > Returns `SUBTITLE_UNAVAILABLE` when no subtitles exist. Set `fallback_to_description: true` to fall back.
1323
1330
 
1331
+ **Keyword search example**:
1332
+
1333
+ ```json
1334
+ {
1335
+ "name": "get_video_transcript",
1336
+ "arguments": {
1337
+ "bvid_or_url": "BV1xx411c7mD",
1338
+ "query": "machine learning",
1339
+ "max_matches": 5,
1340
+ "context_segments": 1
1341
+ }
1342
+ }
1343
+ ```
1344
+
1345
+ Search mode returns: `query`, `total_matches`, `returned_matches`, `truncated`, `matches` (with `start_seconds`, `end_seconds`, `content`, `context`), and compact `transcript`.
1346
+
1324
1347
  **Timed range example**:
1325
1348
 
1326
1349
  ```json
@@ -1487,7 +1510,7 @@ This project is a crystal of AI-collaborative development, spanning from prototy
1487
1510
 
1488
1511
  1. **Initial Generation**: Core architecture and base logic were rapidly built by **Claude Code** (powered by **GLM-4.7** model).
1489
1512
  2. **Debugging & Optimization**: Bugs were fixed and features enhanced using **Claude** and **Gemini** models within the **Antigravity** environment, ensuring stable subtitle extraction and comment analysis.
1490
- 3. **Iteration & Expansion**: **Codex** handles architectural decisions and planning, launching **Claude Code** via **Paseo** for implementation; now covers 30+ AI client MCP configurations, 8 MCP tools, and 244 unit tests.
1513
+ 3. **Iteration & Expansion**: **Codex** handles architectural decisions and planning, launching **Claude Code** via **Paseo** for implementation; now covers 30+ AI client MCP configurations, 8 MCP tools, and 299 unit tests.
1491
1514
 
1492
1515
  ---
1493
1516
 
@@ -1,4 +1,4 @@
1
- import type { VideoTranscriptData } from "./types.js";
1
+ import type { TranscriptSearchOptions, VideoTranscriptData } from "./types.js";
2
2
  export interface SubtitleData {
3
3
  data_source: "subtitle" | "description";
4
4
  video_info: {
@@ -18,8 +18,9 @@ export interface SubtitleData {
18
18
  * - fallbackToDescription=true -> return description text
19
19
  * - COOKIE_EXPIRED 错误始终向上传播
20
20
  * - 当 timestamps 或 range 被请求时,拒绝 description fallback
21
+ * - searchOptions 存在时拒绝 description fallback,只搜索真实字幕
21
22
  */
22
- export declare function getVideoTranscriptData(bvidOrUrl: string, preferredLang?: string, fallbackToDescription?: boolean, page?: number, includeTimestamps?: boolean, startSeconds?: number, endSeconds?: number): Promise<VideoTranscriptData>;
23
+ export declare function getVideoTranscriptData(bvidOrUrl: string, preferredLang?: string, fallbackToDescription?: boolean, page?: number, includeTimestamps?: boolean, startSeconds?: number, endSeconds?: number, searchOptions?: TranscriptSearchOptions): Promise<VideoTranscriptData>;
23
24
  /**
24
25
  * 获取视频信息及字幕
25
26
  */
@@ -1 +1 @@
1
- {"version":3,"file":"subtitle.d.ts","sourceRoot":"","sources":["../../src/bilibili/subtitle.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGV,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,UAAU,GAAG,aAAa,CAAC;IACxC,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;AAkID;;;;;;;;GAQG;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,GAClB,OAAO,CAAC,mBAAmB,CAAC,CAoI9B;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,CAAC,CAuJvB"}
1
+ {"version":3,"file":"subtitle.d.ts","sourceRoot":"","sources":["../../src/bilibili/subtitle.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAKV,uBAAuB,EACvB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,UAAU,GAAG,aAAa,CAAC;IACxC,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;AAkND;;;;;;;;;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,GACtC,OAAO,CAAC,mBAAmB,CAAC,CAwK9B;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,CAAC,CAuJvB"}
@@ -100,6 +100,61 @@ function mergeSubtitleText(body, includeTimestamps) {
100
100
  }
101
101
  return parts.join("\n");
102
102
  }
103
+ /**
104
+ * 在过滤后的字幕段中搜索关键词,返回 Transcript Match 列表和紧凑 transcript。
105
+ */
106
+ function searchTranscript(body, query, maxMatches, contextSegments, sourceUrl) {
107
+ if (body.length > MAX_SUBTITLE_BODY_ITEMS) {
108
+ throw new Error("Subtitle body item count exceeds maximum limit");
109
+ }
110
+ const lowerQuery = query.toLowerCase();
111
+ const matchIndices = [];
112
+ for (let i = 0; i < body.length; i++) {
113
+ if (body[i].content.toLowerCase().includes(lowerQuery)) {
114
+ matchIndices.push(i);
115
+ }
116
+ }
117
+ const totalMatches = matchIndices.length;
118
+ const limited = matchIndices.slice(0, maxMatches);
119
+ const matches = [];
120
+ const contextIndices = new Set();
121
+ for (const idx of limited) {
122
+ const hit = body[idx];
123
+ const start = Math.max(0, idx - contextSegments);
124
+ const end = Math.min(body.length - 1, idx + contextSegments);
125
+ for (let j = start; j <= end; j++) {
126
+ contextIndices.add(j);
127
+ }
128
+ const timestampUrl = new URL(sourceUrl);
129
+ timestampUrl.searchParams.set("t", String(hit.from));
130
+ matches.push({
131
+ start_seconds: hit.from,
132
+ end_seconds: hit.to,
133
+ content: hit.content,
134
+ context: mergeSubtitleText(body.slice(start, end + 1), true),
135
+ timestamp_url: timestampUrl.toString(),
136
+ });
137
+ }
138
+ const sortedIndices = [...contextIndices].sort((a, b) => a - b);
139
+ const compactBody = sortedIndices.map((idx) => body[idx]);
140
+ return {
141
+ matches,
142
+ totalMatches,
143
+ compactTranscript: mergeSubtitleText(compactBody, true),
144
+ };
145
+ }
146
+ /**
147
+ * 构建 Part-aware Bilibili 浏览器源 URL。
148
+ * 单 P 视频不附加 `p`;多 P 视频附加 `p=<resolved page>`。
149
+ * 保留 extractBVId 返回的精确大小写。
150
+ */
151
+ function buildTranscriptSourceUrl(bvid, pages, resolvedPage) {
152
+ const url = new URL(`https://www.bilibili.com/video/${bvid}/`);
153
+ if (pages.length > 1) {
154
+ url.searchParams.set("p", String(resolvedPage));
155
+ }
156
+ return url.toString();
157
+ }
103
158
  /**
104
159
  * 获取纯视频转录文本
105
160
  *
@@ -108,20 +163,24 @@ function mergeSubtitleText(body, includeTimestamps) {
108
163
  * - fallbackToDescription=true -> return description text
109
164
  * - COOKIE_EXPIRED 错误始终向上传播
110
165
  * - 当 timestamps 或 range 被请求时,拒绝 description fallback
166
+ * - searchOptions 存在时拒绝 description fallback,只搜索真实字幕
111
167
  */
112
- export async function getVideoTranscriptData(bvidOrUrl, preferredLang, fallbackToDescription, page, includeTimestamps, startSeconds, endSeconds) {
168
+ export async function getVideoTranscriptData(bvidOrUrl, preferredLang, fallbackToDescription, page, includeTimestamps, startSeconds, endSeconds, searchOptions) {
113
169
  const bvid = extractBVId(bvidOrUrl);
114
170
  const wantsTimedOutput = includeTimestamps || startSeconds !== undefined || endSeconds !== undefined;
171
+ const wantsSearch = searchOptions !== undefined;
115
172
  const { cid, pages, videoData } = await resolvePartCid(bvidOrUrl, page);
116
173
  const title = videoData.title;
117
174
  const description = videoData.desc || "";
175
+ const resolvedPage = page ?? matchPartIdentity(videoData.cid, pages, videoData.title).page;
176
+ const sourceUrl = buildTranscriptSourceUrl(bvid, pages, resolvedPage);
118
177
  // 获取字幕列表
119
178
  try {
120
179
  const subtitleData = await getVideoSubtitle(bvid, cid);
121
180
  if (!subtitleData?.subtitle?.subtitles ||
122
181
  subtitleData.subtitle.subtitles.length === 0) {
123
182
  await verifyLoginForEmptySubtitles(bvid);
124
- if (fallbackToDescription) {
183
+ if (fallbackToDescription && !wantsSearch) {
125
184
  if (wantsTimedOutput) {
126
185
  throw new NoSubtitleError(`Video ${bvid} has no subtitles available; description fallback is incompatible with timestamps or range`);
127
186
  }
@@ -130,14 +189,15 @@ export async function getVideoTranscriptData(bvidOrUrl, preferredLang, fallbackT
130
189
  data_source: "description",
131
190
  transcript: description,
132
191
  title,
133
- page: page ?? matchPartIdentity(videoData.cid, pages, videoData.title).page,
192
+ source_url: sourceUrl,
193
+ page: resolvedPage,
134
194
  };
135
195
  }
136
196
  throw new NoSubtitleError(`Video ${bvid} has no subtitles available`);
137
197
  }
138
198
  const bestSubtitle = selectBestSubtitle(subtitleData.subtitle.subtitles, preferredLang);
139
199
  if (!bestSubtitle) {
140
- if (fallbackToDescription) {
200
+ if (fallbackToDescription && !wantsSearch) {
141
201
  if (wantsTimedOutput) {
142
202
  throw new NoSubtitleError(`No suitable subtitle found for video ${bvid}; description fallback is incompatible with timestamps or range`);
143
203
  }
@@ -146,14 +206,15 @@ export async function getVideoTranscriptData(bvidOrUrl, preferredLang, fallbackT
146
206
  data_source: "description",
147
207
  transcript: description,
148
208
  title,
149
- page: page ?? matchPartIdentity(videoData.cid, pages, videoData.title).page,
209
+ source_url: sourceUrl,
210
+ page: resolvedPage,
150
211
  };
151
212
  }
152
213
  throw new NoSubtitleError(`No suitable subtitle found for video ${bvid}`);
153
214
  }
154
215
  const subtitleContent = await getSubtitleContent(bestSubtitle.subtitle_url);
155
216
  if (!subtitleContent?.body || subtitleContent.body.length === 0) {
156
- if (fallbackToDescription) {
217
+ if (fallbackToDescription && !wantsSearch) {
157
218
  if (wantsTimedOutput) {
158
219
  throw new NoSubtitleError(`Subtitle body is empty for video ${bvid}; description fallback is incompatible with timestamps or range`);
159
220
  }
@@ -162,12 +223,31 @@ export async function getVideoTranscriptData(bvidOrUrl, preferredLang, fallbackT
162
223
  data_source: "description",
163
224
  transcript: description,
164
225
  title,
165
- page: page ?? matchPartIdentity(videoData.cid, pages, videoData.title).page,
226
+ source_url: sourceUrl,
227
+ page: resolvedPage,
166
228
  };
167
229
  }
168
230
  throw new NoSubtitleError(`Subtitle body is empty for video ${bvid}`);
169
231
  }
170
232
  const body = filterSegmentsByRange(subtitleContent.body, startSeconds, endSeconds);
233
+ if (wantsSearch) {
234
+ const { query, max_matches, context_segments } = searchOptions;
235
+ const { matches, totalMatches, compactTranscript } = searchTranscript(body, query, max_matches, context_segments, sourceUrl);
236
+ return {
237
+ bvid,
238
+ data_source: "subtitle",
239
+ language: bestSubtitle.lan,
240
+ transcript: compactTranscript,
241
+ title,
242
+ source_url: sourceUrl,
243
+ page: resolvedPage,
244
+ query,
245
+ total_matches: totalMatches,
246
+ returned_matches: matches.length,
247
+ truncated: totalMatches > max_matches,
248
+ matches,
249
+ };
250
+ }
171
251
  const transcript = mergeSubtitleText(body, includeTimestamps);
172
252
  return {
173
253
  bvid,
@@ -175,7 +255,8 @@ export async function getVideoTranscriptData(bvidOrUrl, preferredLang, fallbackT
175
255
  language: bestSubtitle.lan,
176
256
  transcript,
177
257
  title,
178
- page: page ?? matchPartIdentity(videoData.cid, pages, videoData.title).page,
258
+ source_url: sourceUrl,
259
+ page: resolvedPage,
179
260
  };
180
261
  }
181
262
  catch (error) {
@@ -186,7 +267,7 @@ export async function getVideoTranscriptData(bvidOrUrl, preferredLang, fallbackT
186
267
  }
187
268
  // NoSubtitleError: only rethrow if fallback disabled
188
269
  if (error instanceof NoSubtitleError) {
189
- if (!fallbackToDescription)
270
+ if (!fallbackToDescription || wantsSearch)
190
271
  throw error;
191
272
  if (wantsTimedOutput)
192
273
  throw error;
@@ -195,11 +276,12 @@ export async function getVideoTranscriptData(bvidOrUrl, preferredLang, fallbackT
195
276
  data_source: "description",
196
277
  transcript: description,
197
278
  title,
198
- page: page ?? matchPartIdentity(videoData.cid, pages, videoData.title).page,
279
+ source_url: sourceUrl,
280
+ page: resolvedPage,
199
281
  };
200
282
  }
201
283
  // Other errors: fallback to description if enabled, else rethrow
202
- if (fallbackToDescription) {
284
+ if (fallbackToDescription && !wantsSearch) {
203
285
  if (wantsTimedOutput) {
204
286
  throw new NoSubtitleError(`Subtitle fetch failed for video ${bvid}; description fallback is incompatible with timestamps or range`);
205
287
  }
@@ -208,7 +290,8 @@ export async function getVideoTranscriptData(bvidOrUrl, preferredLang, fallbackT
208
290
  data_source: "description",
209
291
  transcript: description,
210
292
  title,
211
- page: page ?? matchPartIdentity(videoData.cid, pages, videoData.title).page,
293
+ source_url: sourceUrl,
294
+ page: resolvedPage,
212
295
  };
213
296
  }
214
297
  throw error;
@@ -1 +1 @@
1
- {"version":3,"file":"subtitle.js","sourceRoot":"","sources":["../../src/bilibili/subtitle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subtitle.js","sourceRoot":"","sources":["../../src/bilibili/subtitle.ts"],"names":[],"mappings":"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"}
@@ -128,13 +128,31 @@ export interface ChapterInfo {
128
128
  start_seconds: number;
129
129
  end_seconds: number;
130
130
  }
131
+ export interface TranscriptMatch {
132
+ start_seconds: number;
133
+ end_seconds: number;
134
+ content: string;
135
+ context: string;
136
+ timestamp_url: string;
137
+ }
131
138
  export interface VideoTranscriptData {
132
139
  bvid: string;
133
140
  data_source: "subtitle" | "description";
134
141
  language?: string;
135
142
  transcript: string;
136
143
  title: string;
144
+ source_url: string;
137
145
  page?: number;
146
+ query?: string;
147
+ total_matches?: number;
148
+ returned_matches?: number;
149
+ truncated?: boolean;
150
+ matches?: TranscriptMatch[];
151
+ }
152
+ export interface TranscriptSearchOptions {
153
+ query: string;
154
+ max_matches: number;
155
+ context_segments: number;
138
156
  }
139
157
  export interface VideoChaptersData {
140
158
  bvid: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/bilibili/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/bilibili/types.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,12 @@ export declare function handleToolCall(name: string, args: ToolArgs): Promise<{
4
4
  type: "text";
5
5
  text: string;
6
6
  }[];
7
+ } | {
8
+ structuredContent: Record<string, unknown>;
9
+ content: {
10
+ type: "text";
11
+ text: string;
12
+ }[];
7
13
  }>;
8
14
  export {};
9
15
  //# sourceMappingURL=tool-handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-handlers.d.ts","sourceRoot":"","sources":["../../src/server/tool-handlers.ts"],"names":[],"mappings":"AAiCA,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;AAEpD,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ;;;;;GA2JhE"}
1
+ {"version":3,"file":"tool-handlers.d.ts","sourceRoot":"","sources":["../../src/server/tool-handlers.ts"],"names":[],"mappings":"AAoCA,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;AAEpD,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ;;;;;;uBA0Hf,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;GAmDxE"}
@@ -9,7 +9,7 @@ import { buildStructuredErrorPayload } from "../utils/error-guidance.js";
9
9
  import { NoSubtitleError } from "../utils/errors.js";
10
10
  import { sanitizeBVInput } from "../utils/sanitization.js";
11
11
  import { buildPackageUpdateInfo } from "../utils/update-check.js";
12
- import { validateBoolean, validateBVInput, validateCommentLimit, validateCommentSort, validateDetailLevel, validateLanguage, validatePage, validateTimestampRange, } from "../utils/validation.js";
12
+ import { validateBoolean, validateBVInput, validateCommentLimit, validateCommentSort, validateContextSegments, validateDetailLevel, validateLanguage, validateMaxMatches, validatePage, validateQuery, validateTimestampRange, } from "../utils/validation.js";
13
13
  import { buildValidationErrorPayload, toErrorTextContent, toTextContent, } from "./error-response.js";
14
14
  export async function handleToolCall(name, args) {
15
15
  switch (name) {
@@ -80,6 +80,9 @@ export async function handleToolCall(name, args) {
80
80
  const includeTimestamps = args?.include_timestamps;
81
81
  const startSeconds = args?.start_seconds;
82
82
  const endSeconds = args?.end_seconds;
83
+ const query = args?.query;
84
+ const maxMatches = args?.max_matches;
85
+ const contextSegments = args?.context_segments;
83
86
  let sanitizedBvidOrUrl;
84
87
  try {
85
88
  validateBVInput(bvidOrUrl);
@@ -91,15 +94,28 @@ export async function handleToolCall(name, args) {
91
94
  if (args?.fallback_to_description !== undefined && typeof args.fallback_to_description !== "boolean") {
92
95
  throw new Error("fallback_to_description must be a boolean");
93
96
  }
97
+ validateQuery(query);
98
+ validateMaxMatches(maxMatches);
99
+ validateContextSegments(contextSegments);
94
100
  sanitizedBvidOrUrl = sanitizeBVInput(bvidOrUrl);
95
101
  }
96
102
  catch (error) {
97
103
  return toErrorTextContent(buildValidationErrorPayload(error));
98
104
  }
99
105
  const normalizedLang = getPreferredLanguage(preferredLang);
106
+ const searchOptions = query !== undefined
107
+ ? {
108
+ query: query.trim(),
109
+ max_matches: maxMatches ?? 10,
110
+ context_segments: contextSegments ?? 1,
111
+ }
112
+ : undefined;
100
113
  try {
101
- const result = await getVideoTranscriptData(sanitizedBvidOrUrl, normalizedLang, fallbackToDescription, page, includeTimestamps, startSeconds, endSeconds);
102
- return toTextContent(result);
114
+ const result = await getVideoTranscriptData(sanitizedBvidOrUrl, normalizedLang, fallbackToDescription, page, includeTimestamps, startSeconds, endSeconds, searchOptions);
115
+ return {
116
+ ...toTextContent(result),
117
+ structuredContent: result,
118
+ };
103
119
  }
104
120
  catch (error) {
105
121
  if (error instanceof NoSubtitleError) {
@@ -1 +1 @@
1
- {"version":3,"file":"tool-handlers.js","sourceRoot":"","sources":["../../src/server/tool-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EACL,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EACL,gCAAgC,EAChC,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EACL,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,aAAa,GACd,MAAM,qBAAqB,CAAC;AAI7B,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAY,EAAE,IAAc;IAC/D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,mCAAmC,CAAC,CAAC,CAAC;YACzC,OAAO,aAAa,CAAC,gCAAgC,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,KAAK,4BAA4B,CAAC,CAAC,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;YAC7D,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;YAC9C,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,SAAS,GAAG,IAAI,EAAE,WAAqB,CAAC;YAC9C,MAAM,aAAa,GAAG,IAAI,EAAE,cAAoC,CAAC;YACjE,MAAM,IAAI,GAAG,IAAI,EAAE,IAA0B,CAAC;YAE9C,IAAI,kBAA0B,CAAC;YAC/B,IAAI,CAAC;gBACH,eAAe,CAAC,SAAS,CAAC,CAAC;gBAC3B,gBAAgB,CAAC,aAAa,CAAC,CAAC;gBAChC,YAAY,CAAC,IAAI,CAAC,CAAC;gBACnB,kBAAkB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,kBAAkB,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,cAAc,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;YAC3D,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,kBAAkB,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;YAExF,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,MAAM,SAAS,GAAG,IAAI,EAAE,WAAqB,CAAC;YAC9C,MAAM,WAAW,GAAI,IAAI,EAAE,YAAqC,IAAI,OAAO,CAAC;YAC5E,MAAM,KAAK,GAAG,IAAI,EAAE,KAA2B,CAAC;YAChD,MAAM,IAAI,GAAG,IAAI,EAAE,IAAkC,CAAC;YACtD,MAAM,cAAc,GAAG,IAAI,EAAE,eAAsC,CAAC;YAEpE,IAAI,kBAA0B,CAAC;YAC/B,IAAI,CAAC;gBACH,eAAe,CAAC,SAAS,CAAC,CAAC;gBAC3B,mBAAmB,CAAC,WAAW,CAAC,CAAC;gBACjC,IAAI,KAAK,KAAK,SAAS;oBAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBACrD,IAAI,IAAI,KAAK,SAAS;oBAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBAClD,IAAI,cAAc,KAAK,SAAS,IAAI,OAAO,cAAc,KAAK,SAAS,EAAE,CAAC;oBACxE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBACvD,CAAC;gBACD,kBAAkB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,kBAAkB,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,kBAAkB,EAAE;gBAC5D,WAAW;gBACX,KAAK;gBACL,IAAI;gBACJ,cAAc;aACf,CAAC,CAAC;YAEH,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED,KAAK,sBAAsB,CAAC,CAAC,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,EAAE,WAAqB,CAAC;YAC9C,MAAM,aAAa,GAAG,IAAI,EAAE,cAAoC,CAAC;YACjE,MAAM,qBAAqB,GAAI,IAAI,EAAE,uBAAmC,IAAI,KAAK,CAAC;YAClF,MAAM,IAAI,GAAG,IAAI,EAAE,IAA0B,CAAC;YAC9C,MAAM,iBAAiB,GAAG,IAAI,EAAE,kBAAyC,CAAC;YAC1E,MAAM,YAAY,GAAG,IAAI,EAAE,aAAmC,CAAC;YAC/D,MAAM,UAAU,GAAG,IAAI,EAAE,WAAiC,CAAC;YAE3D,IAAI,kBAA0B,CAAC;YAC/B,IAAI,CAAC;gBACH,eAAe,CAAC,SAAS,CAAC,CAAC;gBAC3B,gBAAgB,CAAC,aAAa,CAAC,CAAC;gBAChC,eAAe,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,CAAC;gBAClE,YAAY,CAAC,IAAI,CAAC,CAAC;gBACnB,eAAe,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;gBACzD,sBAAsB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;gBACjD,IAAI,IAAI,EAAE,uBAAuB,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,uBAAuB,KAAK,SAAS,EAAE,CAAC;oBACrG,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBAC/D,CAAC;gBACD,kBAAkB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,kBAAkB,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,cAAc,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;YAE3D,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,sBAAsB,CACzC,kBAAkB,EAClB,cAAc,EACd,qBAAqB,EACrB,IAAI,EACJ,iBAAiB,EACjB,YAAY,EACZ,UAAU,CACX,CAAC;gBACF,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;oBACrC,OAAO,kBAAkB,CACvB,2BAA2B,CAAC,KAAK,EAAE;wBACjC,8BAA8B,EAAE,CAAC,iBAAiB,IAAI,YAAY,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,IAAI,qBAAqB,KAAK,IAAI;qBAC/I,CAAC,CACH,CAAC;gBACJ,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,MAAM,SAAS,GAAG,IAAI,EAAE,WAAqB,CAAC;YAE9C,IAAI,kBAA0B,CAAC;YAC/B,IAAI,CAAC;gBACH,eAAe,CAAC,SAAS,CAAC,CAAC;gBAC3B,kBAAkB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,kBAAkB,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;YAE9D,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,MAAM,SAAS,GAAG,IAAI,EAAE,WAAqB,CAAC;YAC9C,MAAM,IAAI,GAAG,IAAI,EAAE,IAA0B,CAAC;YAE9C,IAAI,kBAA0B,CAAC;YAC/B,IAAI,CAAC;gBACH,eAAe,CAAC,SAAS,CAAC,CAAC;gBAC3B,YAAY,CAAC,IAAI,CAAC,CAAC;gBACnB,kBAAkB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,kBAAkB,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;YAEpE,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED;YACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"tool-handlers.js","sourceRoot":"","sources":["../../src/server/tool-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EACL,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EACL,gCAAgC,EAChC,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EACL,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,aAAa,GACd,MAAM,qBAAqB,CAAC;AAI7B,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAY,EAAE,IAAc;IAC/D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,mCAAmC,CAAC,CAAC,CAAC;YACzC,OAAO,aAAa,CAAC,gCAAgC,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,KAAK,4BAA4B,CAAC,CAAC,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;YAC7D,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;YAC9C,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,SAAS,GAAG,IAAI,EAAE,WAAqB,CAAC;YAC9C,MAAM,aAAa,GAAG,IAAI,EAAE,cAAoC,CAAC;YACjE,MAAM,IAAI,GAAG,IAAI,EAAE,IAA0B,CAAC;YAE9C,IAAI,kBAA0B,CAAC;YAC/B,IAAI,CAAC;gBACH,eAAe,CAAC,SAAS,CAAC,CAAC;gBAC3B,gBAAgB,CAAC,aAAa,CAAC,CAAC;gBAChC,YAAY,CAAC,IAAI,CAAC,CAAC;gBACnB,kBAAkB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,kBAAkB,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,cAAc,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;YAC3D,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,kBAAkB,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;YAExF,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,MAAM,SAAS,GAAG,IAAI,EAAE,WAAqB,CAAC;YAC9C,MAAM,WAAW,GAAI,IAAI,EAAE,YAAqC,IAAI,OAAO,CAAC;YAC5E,MAAM,KAAK,GAAG,IAAI,EAAE,KAA2B,CAAC;YAChD,MAAM,IAAI,GAAG,IAAI,EAAE,IAAkC,CAAC;YACtD,MAAM,cAAc,GAAG,IAAI,EAAE,eAAsC,CAAC;YAEpE,IAAI,kBAA0B,CAAC;YAC/B,IAAI,CAAC;gBACH,eAAe,CAAC,SAAS,CAAC,CAAC;gBAC3B,mBAAmB,CAAC,WAAW,CAAC,CAAC;gBACjC,IAAI,KAAK,KAAK,SAAS;oBAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBACrD,IAAI,IAAI,KAAK,SAAS;oBAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBAClD,IAAI,cAAc,KAAK,SAAS,IAAI,OAAO,cAAc,KAAK,SAAS,EAAE,CAAC;oBACxE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBACvD,CAAC;gBACD,kBAAkB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,kBAAkB,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,kBAAkB,EAAE;gBAC5D,WAAW;gBACX,KAAK;gBACL,IAAI;gBACJ,cAAc;aACf,CAAC,CAAC;YAEH,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED,KAAK,sBAAsB,CAAC,CAAC,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,EAAE,WAAqB,CAAC;YAC9C,MAAM,aAAa,GAAG,IAAI,EAAE,cAAoC,CAAC;YACjE,MAAM,qBAAqB,GAAI,IAAI,EAAE,uBAAmC,IAAI,KAAK,CAAC;YAClF,MAAM,IAAI,GAAG,IAAI,EAAE,IAA0B,CAAC;YAC9C,MAAM,iBAAiB,GAAG,IAAI,EAAE,kBAAyC,CAAC;YAC1E,MAAM,YAAY,GAAG,IAAI,EAAE,aAAmC,CAAC;YAC/D,MAAM,UAAU,GAAG,IAAI,EAAE,WAAiC,CAAC;YAC3D,MAAM,KAAK,GAAG,IAAI,EAAE,KAA2B,CAAC;YAChD,MAAM,UAAU,GAAG,IAAI,EAAE,WAAiC,CAAC;YAC3D,MAAM,eAAe,GAAG,IAAI,EAAE,gBAAsC,CAAC;YAErE,IAAI,kBAA0B,CAAC;YAC/B,IAAI,CAAC;gBACH,eAAe,CAAC,SAAS,CAAC,CAAC;gBAC3B,gBAAgB,CAAC,aAAa,CAAC,CAAC;gBAChC,eAAe,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,CAAC;gBAClE,YAAY,CAAC,IAAI,CAAC,CAAC;gBACnB,eAAe,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;gBACzD,sBAAsB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;gBACjD,IAAI,IAAI,EAAE,uBAAuB,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,uBAAuB,KAAK,SAAS,EAAE,CAAC;oBACrG,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBAC/D,CAAC;gBACD,aAAa,CAAC,KAAK,CAAC,CAAC;gBACrB,kBAAkB,CAAC,UAAU,CAAC,CAAC;gBAC/B,uBAAuB,CAAC,eAAe,CAAC,CAAC;gBACzC,kBAAkB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,kBAAkB,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,cAAc,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;YAE3D,MAAM,aAAa,GAAG,KAAK,KAAK,SAAS;gBACvC,CAAC,CAAC;oBACE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;oBACnB,WAAW,EAAE,UAAU,IAAI,EAAE;oBAC7B,gBAAgB,EAAE,eAAe,IAAI,CAAC;iBACvC;gBACH,CAAC,CAAC,SAAS,CAAC;YAEd,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,sBAAsB,CACzC,kBAAkB,EAClB,cAAc,EACd,qBAAqB,EACrB,IAAI,EACJ,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,aAAa,CACd,CAAC;gBACF,OAAO;oBACL,GAAG,aAAa,CAAC,MAAM,CAAC;oBACxB,iBAAiB,EAAE,MAA4C;iBAChE,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;oBACrC,OAAO,kBAAkB,CACvB,2BAA2B,CAAC,KAAK,EAAE;wBACjC,8BAA8B,EAAE,CAAC,iBAAiB,IAAI,YAAY,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,IAAI,qBAAqB,KAAK,IAAI;qBAC/I,CAAC,CACH,CAAC;gBACJ,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,MAAM,SAAS,GAAG,IAAI,EAAE,WAAqB,CAAC;YAE9C,IAAI,kBAA0B,CAAC;YAC/B,IAAI,CAAC;gBACH,eAAe,CAAC,SAAS,CAAC,CAAC;gBAC3B,kBAAkB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,kBAAkB,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;YAE9D,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,MAAM,SAAS,GAAG,IAAI,EAAE,WAAqB,CAAC;YAC9C,MAAM,IAAI,GAAG,IAAI,EAAE,IAA0B,CAAC;YAE9C,IAAI,kBAA0B,CAAC;YAC/B,IAAI,CAAC;gBACH,eAAe,CAAC,SAAS,CAAC,CAAC;gBAC3B,YAAY,CAAC,IAAI,CAAC,CAAC;gBACnB,kBAAkB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,kBAAkB,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;YAEpE,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED;YACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-schemas.d.ts","sourceRoot":"","sources":["../../src/server/tool-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D,eAAO,MAAM,WAAW,EAAE,IAAI,EAgL7B,CAAC"}
1
+ {"version":3,"file":"tool-schemas.d.ts","sourceRoot":"","sources":["../../src/server/tool-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D,eAAO,MAAM,WAAW,EAAE,IAAI,EA4O7B,CAAC"}
@@ -83,7 +83,7 @@ export const toolSchemas = [
83
83
  },
84
84
  {
85
85
  name: "get_video_transcript",
86
- description: "获取 Bilibili 视频纯字幕文本(按行合并)。支持分集选择、时间戳输出和时间区间过滤。不自动降级到描述;仅在 fallback_to_description 为 true 且字幕不可用时返回视频描述。Requires Bilibili Cookie for reliable subtitle access. If unavailable, call get_credential_setup_instructions.",
86
+ description: "获取 Bilibili 视频纯字幕文本(按行合并)。支持分集选择、时间戳输出、时间区间过滤和可选关键词搜索。不自动降级到描述;仅在 fallback_to_description 为 true 且字幕不可用时返回视频描述。关键词搜索与描述降级不兼容。Requires Bilibili Cookie for reliable subtitle access. If unavailable, call get_credential_setup_instructions.",
87
87
  inputSchema: {
88
88
  type: "object",
89
89
  properties: {
@@ -116,9 +116,66 @@ export const toolSchemas = [
116
116
  type: "number",
117
117
  description: "可选,字幕区间结束秒数(非负整数或小数)。只返回 from <= end_seconds 的字幕段。当同时提供 start_seconds 和 end_seconds 时需 end_seconds >= start_seconds。",
118
118
  },
119
+ query: {
120
+ type: "string",
121
+ maxLength: 100,
122
+ description: "可选,关键词搜索。大小写不敏感的字面匹配。非空且最多100字符。与 description 降级不兼容。",
123
+ },
124
+ max_matches: {
125
+ type: "integer",
126
+ minimum: 1,
127
+ maximum: 20,
128
+ description: "可选,最大返回匹配数(1-20,默认10)。仅在 query 存在时生效。",
129
+ },
130
+ context_segments: {
131
+ type: "integer",
132
+ minimum: 0,
133
+ maximum: 5,
134
+ description: "可选,每个匹配前后的字幕段上下文数量(0-5,默认1)。仅在 query 存在时生效。",
135
+ },
119
136
  },
120
137
  required: ["bvid_or_url"],
121
138
  },
139
+ outputSchema: {
140
+ type: "object",
141
+ properties: {
142
+ bvid: { type: "string" },
143
+ data_source: {
144
+ type: "string",
145
+ enum: ["subtitle", "description"],
146
+ },
147
+ language: { type: "string" },
148
+ transcript: { type: "string" },
149
+ title: { type: "string" },
150
+ page: { type: "integer" },
151
+ source_url: { type: "string" },
152
+ query: { type: "string" },
153
+ total_matches: { type: "integer" },
154
+ returned_matches: { type: "integer" },
155
+ truncated: { type: "boolean" },
156
+ matches: {
157
+ type: "array",
158
+ items: {
159
+ type: "object",
160
+ properties: {
161
+ start_seconds: { type: "number" },
162
+ end_seconds: { type: "number" },
163
+ content: { type: "string" },
164
+ context: { type: "string" },
165
+ timestamp_url: { type: "string" },
166
+ },
167
+ required: [
168
+ "start_seconds",
169
+ "end_seconds",
170
+ "content",
171
+ "context",
172
+ "timestamp_url",
173
+ ],
174
+ },
175
+ },
176
+ },
177
+ required: ["bvid", "data_source", "transcript", "title", "source_url"],
178
+ },
122
179
  },
123
180
  {
124
181
  name: "get_video_metadata",
@@ -1 +1 @@
1
- {"version":3,"file":"tool-schemas.js","sourceRoot":"","sources":["../../src/server/tool-schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-schemas.js","sourceRoot":"","sources":["../../src/server/tool-schemas.ts"],"names":[],"mappings":"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"}
@@ -43,4 +43,16 @@ export declare function validateTimestampRange(startSeconds: unknown, endSeconds
43
43
  * 验证布尔类型参数
44
44
  */
45
45
  export declare function validateBoolean(value: unknown, name: string): void;
46
+ /**
47
+ * 验证搜索 query:trim 后非空,最多 100 字符
48
+ */
49
+ export declare function validateQuery(query: unknown): void;
50
+ /**
51
+ * 验证 max_matches:整数 1-20
52
+ */
53
+ export declare function validateMaxMatches(value: unknown): void;
54
+ /**
55
+ * 验证 context_segments:整数 0-5
56
+ */
57
+ export declare function validateContextSegments(value: unknown): void;
46
58
  //# sourceMappingURL=validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,GAAE,iBAAsB,GAC9B,IAAI,CAgBN;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAWnD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAapD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAIxD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAUzD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAMvD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAMhD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,OAAO,GAClB,IAAI,CAoBN;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAIlE"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,GAAE,iBAAsB,GAC9B,IAAI,CAgBN;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAWnD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAapD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAIxD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAUzD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAMvD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAMhD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,OAAO,GAClB,IAAI,CAoBN;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAIlE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAYlD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAQvD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAQ5D"}
@@ -118,4 +118,47 @@ export function validateBoolean(value, name) {
118
118
  throw new Error(`${name} must be a boolean`);
119
119
  }
120
120
  }
121
+ /**
122
+ * 验证搜索 query:trim 后非空,最多 100 字符
123
+ */
124
+ export function validateQuery(query) {
125
+ if (query === undefined)
126
+ return;
127
+ if (typeof query !== "string") {
128
+ throw new Error("query must be a string");
129
+ }
130
+ const trimmed = query.trim();
131
+ if (trimmed.length === 0) {
132
+ throw new Error("query must not be empty");
133
+ }
134
+ if (trimmed.length > 100) {
135
+ throw new Error("query must not exceed 100 characters");
136
+ }
137
+ }
138
+ /**
139
+ * 验证 max_matches:整数 1-20
140
+ */
141
+ export function validateMaxMatches(value) {
142
+ if (value === undefined)
143
+ return;
144
+ if (typeof value !== "number" || !Number.isInteger(value)) {
145
+ throw new Error("max_matches must be an integer between 1 and 20");
146
+ }
147
+ if (value < 1 || value > 20) {
148
+ throw new Error("max_matches must be between 1 and 20");
149
+ }
150
+ }
151
+ /**
152
+ * 验证 context_segments:整数 0-5
153
+ */
154
+ export function validateContextSegments(value) {
155
+ if (value === undefined)
156
+ return;
157
+ if (typeof value !== "number" || !Number.isInteger(value)) {
158
+ throw new Error("context_segments must be an integer between 0 and 5");
159
+ }
160
+ if (value < 0 || value > 5) {
161
+ throw new Error("context_segments must be between 0 and 5");
162
+ }
163
+ }
121
164
  //# sourceMappingURL=validation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xzxzzx/bilibili-mcp",
3
- "version": "1.7.1",
3
+ "version": "1.8.0",
4
4
  "description": "Bilibili MCP tool for video metadata, transcripts, subtitles, and comment summarization",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",