@xzxzzx/bilibili-mcp 1.6.0 → 1.6.3
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 +62 -5
- package/README_EN.md +61 -5
- package/dist/bilibili/comments.d.ts.map +1 -1
- package/dist/bilibili/comments.js +1 -10
- package/dist/bilibili/comments.js.map +1 -1
- package/dist/bilibili/http.d.ts.map +1 -1
- package/dist/bilibili/http.js +2 -2
- package/dist/bilibili/http.js.map +1 -1
- package/dist/server/error-response.d.ts.map +1 -1
- package/dist/server/error-response.js +7 -18
- package/dist/server/error-response.js.map +1 -1
- package/dist/server/tool-handlers.d.ts.map +1 -1
- package/dist/server/tool-handlers.js +6 -20
- package/dist/server/tool-handlers.js.map +1 -1
- package/dist/utils/credential-guidance.d.ts +10 -0
- package/dist/utils/credential-guidance.d.ts.map +1 -1
- package/dist/utils/credential-guidance.js +42 -10
- package/dist/utils/credential-guidance.js.map +1 -1
- package/dist/utils/error-guidance.d.ts +25 -0
- package/dist/utils/error-guidance.d.ts.map +1 -0
- package/dist/utils/error-guidance.js +229 -0
- package/dist/utils/error-guidance.js.map +1 -0
- package/dist/utils/update-check.d.ts +2 -0
- package/dist/utils/update-check.d.ts.map +1 -1
- package/dist/utils/update-check.js +21 -5
- package/dist/utils/update-check.js.map +1 -1
- package/package.json +1 -1
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.6.
|
|
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.6.3](https://github.com/XZXZZX-Ai/bilibili-mcp/releases/tag/v1.6.3)
|
|
10
10
|
|
|
11
11
|
> [!TIP]
|
|
12
12
|
> ⚠️ 你可以把下方“用 agent 工具帮你安装”的提示词复制给 Codex、Claude Code、Cursor 等 agent,让它帮你完成 MCP 客户端接入和 Cookie 配置引导。为了稳定获取字幕、转录和评论,安装后仍需配置 B 站 Cookie(agent会引导你);不要把 Cookie 写进 MCP 客户端配置。Metadata 可能无需 Cookie。详见 [**凭证配置**](#️-凭证配置)。
|
|
@@ -158,11 +158,51 @@ npx -y @xzxzzx/bilibili-mcp@latest check
|
|
|
158
158
|
|
|
159
159
|
#### 预期错误码
|
|
160
160
|
|
|
161
|
+
所有 MCP 工具的错误响应都使用统一的结构化 payload,同时保留向后兼容的 `error`、`message`、`code`、`next_steps` 字段,并新增中英双语与分类字段:
|
|
162
|
+
|
|
163
|
+
```json
|
|
164
|
+
{
|
|
165
|
+
"error": true,
|
|
166
|
+
"message": "Network request failed.",
|
|
167
|
+
"message_en": "Network request failed.",
|
|
168
|
+
"message_zh": "网络请求失败。",
|
|
169
|
+
"code": "NETWORK_ERROR",
|
|
170
|
+
"category": "network",
|
|
171
|
+
"retryable": true,
|
|
172
|
+
"user_action_required": false,
|
|
173
|
+
"next_steps": ["Retry later.", "Check local network, proxy, firewall, or VPN settings if the problem repeats."],
|
|
174
|
+
"next_steps_en": ["Retry later.", "Check local network, proxy, firewall, or VPN settings if the problem repeats."],
|
|
175
|
+
"next_steps_zh": ["稍后重试。", "如果问题反复出现,请检查本机网络、代理、防火墙或 VPN 设置。"],
|
|
176
|
+
"details": {
|
|
177
|
+
"status_code": 503
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
字段含义:
|
|
183
|
+
|
|
184
|
+
- `error` / `message` / `code` / `next_steps`:向后兼容字段;`next_steps` 与 `next_steps_en` 内容一致。
|
|
185
|
+
- `message_en` / `message_zh` / `next_steps_en` / `next_steps_zh`:显式中英文版本,便于客户端按语言渲染。
|
|
186
|
+
- `category`:错误分类(`validation` / `credentials` / `content` / `network` / `access` / `rate_limit` / `api` / `unknown`)。
|
|
187
|
+
- `retryable`:是否建议自动重试。
|
|
188
|
+
- `user_action_required`:是否需要用户介入才能解决。
|
|
189
|
+
- `details`:可选的附加信息(如 HTTP 状态码、超时毫秒数、Bilibili API 错误码),不包含 Cookie 或完整 URL。
|
|
190
|
+
|
|
191
|
+
支持的错误码:
|
|
192
|
+
|
|
161
193
|
| 错误码 | 含义 | 调用方建议 |
|
|
162
194
|
|--------|------|-----------|
|
|
163
195
|
| `VALIDATION_ERROR` | 输入参数不合法 | 检查并修正 `bvid_or_url` 或其他参数 |
|
|
164
196
|
| `COOKIE_EXPIRED` | Cookie 已失效或未登录 | 用户应更新/轮换 Bilibili 凭据 |
|
|
165
197
|
| `SUBTITLE_UNAVAILABLE` | 视频无可用的字幕 | 对 `get_video_transcript` 可重试并设置 `fallback_to_description: true` |
|
|
198
|
+
| `NETWORK_ERROR` | 网络请求失败(HTTP 5xx、连接错误等) | 稍后重试;如反复出现请检查网络/代理/防火墙 |
|
|
199
|
+
| `NETWORK_TIMEOUT` | 请求 Bilibili 超时 | 稍后重试;如反复出现请检查网络/代理/防火墙 |
|
|
200
|
+
| `API_RATE_LIMITED` | 触发 Bilibili API 频率限制(HTTP 429) | 等待一段时间后重试;降低调用频率或调大 `BILIBILI_RATE_LIMIT_MS` |
|
|
201
|
+
| `ACCESS_DENIED` | Bilibili 拒绝访问(权限不足、私密、地区限制、已下架等) | 检查视频访问权限,必要时运行凭据检查 |
|
|
202
|
+
| `PAID_VIDEO` | 视频可能需要付费、会员或额外权限 | 在 Bilibili 端确认;本 MCP 不会绕过付费或受限访问 |
|
|
203
|
+
| `COMMENTS_DISABLED` | 视频评论已关闭或访问受限 | 改用字幕或元数据工具;也可在 Bilibili 页面确认 |
|
|
204
|
+
| `BILIBILI_API_ERROR` | 其他 Bilibili API 错误 | 临时问题可稍后重试;持续出现请带错误码反馈 |
|
|
205
|
+
| `UNKNOWN_ERROR` | 未知错误 | 稍后重试;反馈时请勿包含 Cookie 或凭据 |
|
|
166
206
|
|
|
167
207
|
## 📋 环境要求
|
|
168
208
|
|
|
@@ -186,6 +226,8 @@ npx -y @xzxzzx/bilibili-mcp@latest check
|
|
|
186
226
|
> npx -y @xzxzzx/bilibili-mcp@latest check
|
|
187
227
|
> ```
|
|
188
228
|
>
|
|
229
|
+
> MCP 客户端配置推荐使用 `npx -y @xzxzzx/bilibili-mcp@latest`,这样新的客户端会话会解析当前 npm release。已经全局安装的用户需要手动运行 `npm install -g @xzxzzx/bilibili-mcp@latest` 更新,也可以用 `bilibili-mcp check-update` 检查版本状态。
|
|
230
|
+
>
|
|
189
231
|
> 如果用户已经全局安装,也可以使用:
|
|
190
232
|
>
|
|
191
233
|
> ```bash
|
|
@@ -1194,8 +1236,8 @@ BILIBILI_DEDEUSERID=<your_dedeuserid>
|
|
|
1194
1236
|
| 想查看标题、作者、播放量等结构化信息 | `get_video_metadata` | 标题、作者、时长、发布时间、标签、统计数据 |
|
|
1195
1237
|
| 想看观众反馈和热门评论 | `get_video_comments` | 热门评论、时间戳评论、可选回复 |
|
|
1196
1238
|
| 让 agent 引导用户配置 Cookie | `get_credential_setup_instructions` | 安全配置步骤、推荐命令、注意事项 |
|
|
1197
|
-
| 检查 Cookie 是否已配置/登录 | `check_bilibili_credentials` | configured、source、logged_in、next_steps |
|
|
1198
|
-
| 检查 MCP 包是否需要更新 | `check_mcp_update` | current_version、latest_version、update_available、更新命令 |
|
|
1239
|
+
| 检查 Cookie 是否已配置/登录 | `check_bilibili_credentials` | configured、source、logged_in、next_steps、next_steps_zh |
|
|
1240
|
+
| 检查 MCP 包是否需要更新 | `check_mcp_update` | current_version、latest_version、update_available、notes_zh、更新命令 |
|
|
1199
1241
|
|
|
1200
1242
|
## 💡 工具调用示例
|
|
1201
1243
|
|
|
@@ -1214,7 +1256,7 @@ BILIBILI_DEDEUSERID=<your_dedeuserid>
|
|
|
1214
1256
|
}
|
|
1215
1257
|
```
|
|
1216
1258
|
|
|
1217
|
-
返回内容:推荐配置命令、全局安装命令、所需 Cookie
|
|
1259
|
+
返回内容:推荐配置命令、全局安装命令、所需 Cookie 字段,以及 `security_notes_en` / `security_notes_zh` 双语安全提醒;不会返回任何 Cookie 值。
|
|
1218
1260
|
|
|
1219
1261
|
### `check_bilibili_credentials`
|
|
1220
1262
|
|
|
@@ -1229,7 +1271,22 @@ BILIBILI_DEDEUSERID=<your_dedeuserid>
|
|
|
1229
1271
|
}
|
|
1230
1272
|
```
|
|
1231
1273
|
|
|
1232
|
-
返回内容:`configured`、`source`(`env` / `global_config` / `none`)、`logged_in`
|
|
1274
|
+
返回内容:`configured`、`source`(`env` / `global_config` / `none`)、`logged_in`、兼容旧调用方的 `next_steps`,以及双语 `next_steps_en` / `next_steps_zh`;不会返回任何 Cookie 值。
|
|
1275
|
+
|
|
1276
|
+
### `check_mcp_update`
|
|
1277
|
+
|
|
1278
|
+
**适合**:检查当前安装的 MCP 包是否落后于 npm latest,并给出安全更新命令。
|
|
1279
|
+
|
|
1280
|
+
请求示例:
|
|
1281
|
+
|
|
1282
|
+
```json
|
|
1283
|
+
{
|
|
1284
|
+
"name": "check_mcp_update",
|
|
1285
|
+
"arguments": {}
|
|
1286
|
+
}
|
|
1287
|
+
```
|
|
1288
|
+
|
|
1289
|
+
返回内容:`current_version`、`latest_version`、`update_available`、`recommended_mcp_config`、`update_commands`,以及双语 `notes_en` / `notes_zh`;不会自动更新包。
|
|
1233
1290
|
|
|
1234
1291
|
### `get_video_transcript`
|
|
1235
1292
|
|
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.6.
|
|
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.6.3](https://github.com/XZXZZX-Ai/bilibili-mcp/releases/tag/v1.6.3)
|
|
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).
|
|
@@ -158,11 +158,51 @@ After the MCP server is connected, if available, call get_credential_setup_instr
|
|
|
158
158
|
|
|
159
159
|
#### Expected Error Codes
|
|
160
160
|
|
|
161
|
+
All MCP tool error responses use a unified structured payload. The backward-compatible `error`, `message`, `code`, and `next_steps` fields remain, alongside explicit bilingual fields:
|
|
162
|
+
|
|
163
|
+
```json
|
|
164
|
+
{
|
|
165
|
+
"error": true,
|
|
166
|
+
"message": "Network request failed.",
|
|
167
|
+
"message_en": "Network request failed.",
|
|
168
|
+
"message_zh": "网络请求失败。",
|
|
169
|
+
"code": "NETWORK_ERROR",
|
|
170
|
+
"category": "network",
|
|
171
|
+
"retryable": true,
|
|
172
|
+
"user_action_required": false,
|
|
173
|
+
"next_steps": ["Retry later.", "Check local network, proxy, firewall, or VPN settings if the problem repeats."],
|
|
174
|
+
"next_steps_en": ["Retry later.", "Check local network, proxy, firewall, or VPN settings if the problem repeats."],
|
|
175
|
+
"next_steps_zh": ["稍后重试。", "如果问题反复出现,请检查本机网络、代理、防火墙或 VPN 设置。"],
|
|
176
|
+
"details": {
|
|
177
|
+
"status_code": 503
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
Field meaning:
|
|
183
|
+
|
|
184
|
+
- `error` / `message` / `code` / `next_steps`: backward-compatible fields; `next_steps` mirrors `next_steps_en`.
|
|
185
|
+
- `message_en` / `message_zh` / `next_steps_en` / `next_steps_zh`: explicit English and Chinese copies for clients that render by language.
|
|
186
|
+
- `category`: classification (`validation` / `credentials` / `content` / `network` / `access` / `rate_limit` / `api` / `unknown`).
|
|
187
|
+
- `retryable`: whether automatic retry is reasonable.
|
|
188
|
+
- `user_action_required`: whether the user must act before the call can succeed.
|
|
189
|
+
- `details`: optional metadata such as HTTP status, timeout in milliseconds, or Bilibili API code; never includes Cookie values or full URLs.
|
|
190
|
+
|
|
191
|
+
Supported error codes:
|
|
192
|
+
|
|
161
193
|
| Code | Meaning | Caller Action |
|
|
162
194
|
|------|---------|---------------|
|
|
163
195
|
| `VALIDATION_ERROR` | Invalid input parameter | Fix the `bvid_or_url` or other parameter |
|
|
164
196
|
| `COOKIE_EXPIRED` | Cookie expired or not logged in | User should refresh/rotate Bilibili credentials |
|
|
165
197
|
| `SUBTITLE_UNAVAILABLE` | No subtitles available for this video | For `get_video_transcript`, retry with `fallback_to_description: true` |
|
|
198
|
+
| `NETWORK_ERROR` | Network request failed (HTTP 5xx, connection errors, etc.) | Retry later; check network/proxy/firewall if it keeps happening |
|
|
199
|
+
| `NETWORK_TIMEOUT` | Request to Bilibili timed out | Retry later; check network/proxy/firewall if it keeps happening |
|
|
200
|
+
| `API_RATE_LIMITED` | Bilibili API rate limit hit (HTTP 429) | Wait and retry; reduce request frequency or raise `BILIBILI_RATE_LIMIT_MS` |
|
|
201
|
+
| `ACCESS_DENIED` | Bilibili denied access (permissions, private, region-locked, removed) | Verify the video access permissions; run the credential check if needed |
|
|
202
|
+
| `PAID_VIDEO` | Video may require payment, membership, or extra permissions | Confirm in Bilibili; this MCP will not bypass paid or restricted access |
|
|
203
|
+
| `COMMENTS_DISABLED` | Comments are disabled or restricted | Use transcript or metadata tools; confirm on the Bilibili page |
|
|
204
|
+
| `BILIBILI_API_ERROR` | Other Bilibili API errors | Retry if it looks temporary; include the code when reporting repeated issues |
|
|
205
|
+
| `UNKNOWN_ERROR` | Unknown failure | Retry later; never include Cookie values when reporting |
|
|
166
206
|
|
|
167
207
|
## 📋 Requirements
|
|
168
208
|
|
|
@@ -177,7 +217,7 @@ After the MCP server is connected, if available, call get_credential_setup_instr
|
|
|
177
217
|
> Do not write real Cookie values in MCP client config files. Prefer `bilibili-mcp config` to save credentials to the local credential config, or provide environment variables in the runtime environment; the MCP server will read those credentials automatically when it starts. See [⚙️ Credential Configuration](#-credential-configuration).
|
|
178
218
|
|
|
179
219
|
> [!IMPORTANT]
|
|
180
|
-
> If you are an AI agent installing this MCP for a user: do not stop after writing the MCP client config. After adding the `bilibili-mcp` server, you must remind and guide the user to configure Bilibili Cookies separately. After connecting the MCP server, agents can also call `get_credential_setup_instructions` or `
|
|
220
|
+
> If you are an AI agent installing this MCP for a user: do not stop after writing the MCP client config. After adding the `bilibili-mcp` server, you must remind and guide the user to configure Bilibili Cookies separately. After connecting the MCP server, agents can also call `get_credential_setup_instructions`, `check_bilibili_credentials`, or `check_mcp_update` to guide the user.
|
|
181
221
|
>
|
|
182
222
|
> Recommended commands:
|
|
183
223
|
>
|
|
@@ -1196,7 +1236,8 @@ Do not share cookies with others. Do not paste them into public chats, issues, P
|
|
|
1196
1236
|
| See structured metadata | `get_video_metadata` | Title, author, duration, publish date, tags, stats |
|
|
1197
1237
|
| View audience reactions | `get_video_comments` | Popular comments, timestamped highlights, optional replies |
|
|
1198
1238
|
| Guide users through Cookie setup | `get_credential_setup_instructions` | Safe setup steps, recommended commands, security notes |
|
|
1199
|
-
| Check whether Cookies are configured/logged in | `check_bilibili_credentials` | configured, source, logged_in, next_steps |
|
|
1239
|
+
| Check whether Cookies are configured/logged in | `check_bilibili_credentials` | configured, source, logged_in, next_steps, next_steps_zh |
|
|
1240
|
+
| Check whether the MCP package needs an update | `check_mcp_update` | current_version, latest_version, update_available, notes_zh, update commands |
|
|
1200
1241
|
|
|
1201
1242
|
## 💡 Tool Call Examples
|
|
1202
1243
|
|
|
@@ -1215,7 +1256,7 @@ Request:
|
|
|
1215
1256
|
}
|
|
1216
1257
|
```
|
|
1217
1258
|
|
|
1218
|
-
Returns: recommended setup commands, global-install commands, required Cookie fields, and
|
|
1259
|
+
Returns: recommended setup commands, global-install commands, required Cookie fields, and bilingual `security_notes_en` / `security_notes_zh`; never returns Cookie values.
|
|
1219
1260
|
|
|
1220
1261
|
### `check_bilibili_credentials`
|
|
1221
1262
|
|
|
@@ -1230,7 +1271,22 @@ Request:
|
|
|
1230
1271
|
}
|
|
1231
1272
|
```
|
|
1232
1273
|
|
|
1233
|
-
Returns: `configured`, `source` (`env` / `global_config` / `none`), `logged_in`, and `
|
|
1274
|
+
Returns: `configured`, `source` (`env` / `global_config` / `none`), `logged_in`, backward-compatible `next_steps`, and bilingual `next_steps_en` / `next_steps_zh`; never returns Cookie values.
|
|
1275
|
+
|
|
1276
|
+
### `check_mcp_update`
|
|
1277
|
+
|
|
1278
|
+
**Best for**: checking whether the installed MCP package is behind npm latest and showing safe update commands.
|
|
1279
|
+
|
|
1280
|
+
Request:
|
|
1281
|
+
|
|
1282
|
+
```json
|
|
1283
|
+
{
|
|
1284
|
+
"name": "check_mcp_update",
|
|
1285
|
+
"arguments": {}
|
|
1286
|
+
}
|
|
1287
|
+
```
|
|
1288
|
+
|
|
1289
|
+
Returns: `current_version`, `latest_version`, `update_available`, `recommended_mcp_config`, `update_commands`, and bilingual `notes_en` / `notes_zh`; never updates packages automatically.
|
|
1234
1290
|
|
|
1235
1291
|
### `get_video_transcript`
|
|
1236
1292
|
|
|
@@ -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,EAEnB,MAAM,YAAY,CAAC;AAMpB,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;AAkDD;;;;;;;;;;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,
|
|
1
|
+
{"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../src/bilibili/comments.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAEnB,MAAM,YAAY,CAAC;AAMpB,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;AAkDD;;;;;;;;;;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,CAqHtB"}
|
|
@@ -127,16 +127,7 @@ export async function getVideoCommentsData(bvidOrUrl, detailLevelOrOptions, lega
|
|
|
127
127
|
catch (error) {
|
|
128
128
|
if (error instanceof CommentsDisabledError) {
|
|
129
129
|
logger.warn("Comments disabled for video", { bvid }, { type: "comments" });
|
|
130
|
-
|
|
131
|
-
comments: [],
|
|
132
|
-
summary: {
|
|
133
|
-
total_comments: 0,
|
|
134
|
-
comments_with_timestamp: 0,
|
|
135
|
-
},
|
|
136
|
-
};
|
|
137
|
-
// 存入缓存
|
|
138
|
-
cacheManager.setCommentInfo(cacheKey, result);
|
|
139
|
-
return result;
|
|
130
|
+
throw error;
|
|
140
131
|
}
|
|
141
132
|
logger.error("Error getting video comments", { error: redactSecrets(error) }, { type: "comments" });
|
|
142
133
|
throw error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comments.js","sourceRoot":"","sources":["../../src/bilibili/comments.ts"],"names":[],"mappings":"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
|
|
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":"AAqCA;;GAEG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,OAAO,EAAE,CAAC,UAAU,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,GACnD,OAAO,CAAC,CAAC,CAAC,CAsCZ;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAQ7E;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAwBtE;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,GAC7C,OAAO,CAAC,OAAO,CAAC,CAwJlB;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,GAC7C,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/bilibili/http.ts"],"names":[],"mappings":"AAqCA;;GAEG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,OAAO,EAAE,CAAC,UAAU,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,GACnD,OAAO,CAAC,CAAC,CAAC,CAsCZ;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAQ7E;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAwBtE;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,GAC7C,OAAO,CAAC,OAAO,CAAC,CAwJlB;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,GAC7C,OAAO,CAAC,OAAO,CAAC,CAuFlB"}
|
package/dist/bilibili/http.js
CHANGED
|
@@ -136,7 +136,7 @@ export async function fetchWithWBI(path, params, additionalHeaders = {}) {
|
|
|
136
136
|
status: response.status,
|
|
137
137
|
statusText: response.statusText,
|
|
138
138
|
}, { type: "bilibili-http", operation: "fetchWithWBI" });
|
|
139
|
-
throw new NetworkError(errorMsg, undefined, url.toString());
|
|
139
|
+
throw new NetworkError(errorMsg, undefined, url.toString(), response.status);
|
|
140
140
|
}
|
|
141
141
|
const data = await response.json();
|
|
142
142
|
if (data.code !== 0) {
|
|
@@ -216,7 +216,7 @@ export async function fetchWithoutWBI(path, params, additionalHeaders = {}) {
|
|
|
216
216
|
signal: controller.signal,
|
|
217
217
|
});
|
|
218
218
|
if (!response.ok) {
|
|
219
|
-
throw new NetworkError(`HTTP ${response.status}: ${response.statusText}`, undefined, url.toString());
|
|
219
|
+
throw new NetworkError(`HTTP ${response.status}: ${response.statusText}`, undefined, url.toString(), response.status);
|
|
220
220
|
}
|
|
221
221
|
const data = await response.json();
|
|
222
222
|
if (data.code !== 0) {
|
|
@@ -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":"error-response.d.ts","sourceRoot":"","sources":["../../src/server/error-response.ts"],"names":[],"mappings":"AAGA,wBAAgB,2BAA2B,
|
|
1
|
+
{"version":3,"file":"error-response.d.ts","sourceRoot":"","sources":["../../src/server/error-response.ts"],"names":[],"mappings":"AAGA,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,OAAO,GACb,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWzB;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,GACb,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzB;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO;;;;;EAS7C;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO;;;;;;EAKlD"}
|
|
@@ -1,24 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { buildStructuredErrorPayload } from "../utils/error-guidance.js";
|
|
2
|
+
import { ValidationError } from "../utils/errors.js";
|
|
3
3
|
export function buildValidationErrorPayload(error) {
|
|
4
|
-
|
|
5
|
-
error
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
};
|
|
4
|
+
const validationError = error instanceof ValidationError
|
|
5
|
+
? error
|
|
6
|
+
: new ValidationError(error instanceof Error ? error.message : "Invalid input");
|
|
7
|
+
return buildStructuredErrorPayload(validationError);
|
|
9
8
|
}
|
|
10
9
|
export function buildGenericErrorPayload(error) {
|
|
11
|
-
|
|
12
|
-
error: true,
|
|
13
|
-
message: error instanceof Error ? error.message : "Unknown error",
|
|
14
|
-
};
|
|
15
|
-
if (error instanceof BilibiliAPIError) {
|
|
16
|
-
payload.code = error.code;
|
|
17
|
-
if (error.code === "COOKIE_EXPIRED") {
|
|
18
|
-
payload.next_steps = buildCredentialNextSteps();
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return payload;
|
|
10
|
+
return buildStructuredErrorPayload(error);
|
|
22
11
|
}
|
|
23
12
|
export function toTextContent(payload) {
|
|
24
13
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-response.js","sourceRoot":"","sources":["../../src/server/error-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"error-response.js","sourceRoot":"","sources":["../../src/server/error-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,UAAU,2BAA2B,CACzC,KAAc;IAEd,MAAM,eAAe,GACnB,KAAK,YAAY,eAAe;QAC9B,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,eAAe,CACjB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CACzD,CAAC;IAER,OAAO,2BAA2B,CAChC,eAAe,CACsB,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,KAAc;IAEd,OAAO,2BAA2B,CAAC,KAAK,CAAuC,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;aACvC;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,OAAO;QACL,GAAG,aAAa,CAAC,OAAO,CAAC;QACzB,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-handlers.d.ts","sourceRoot":"","sources":["../../src/server/tool-handlers.ts"],"names":[],"mappings":"AA6BA,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;AAEpD,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ;;;;;
|
|
1
|
+
{"version":3,"file":"tool-handlers.d.ts","sourceRoot":"","sources":["../../src/server/tool-handlers.ts"],"names":[],"mappings":"AA6BA,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;AAEpD,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ;;;;;GAuHhE"}
|
|
@@ -3,8 +3,9 @@ import { checkLoginStatus } from "../bilibili/http.js";
|
|
|
3
3
|
import { getVideoMetadataData } from "../bilibili/metadata.js";
|
|
4
4
|
import { getVideoInfoWithSubtitle, getVideoTranscriptData, } from "../bilibili/subtitle.js";
|
|
5
5
|
import { getPreferredLanguage } from "../config.js";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { buildCredentialSetupInstructions, buildCredentialStatus, } from "../utils/credential-guidance.js";
|
|
7
|
+
import { buildStructuredErrorPayload } from "../utils/error-guidance.js";
|
|
8
|
+
import { NoSubtitleError } from "../utils/errors.js";
|
|
8
9
|
import { sanitizeBVInput } from "../utils/sanitization.js";
|
|
9
10
|
import { buildPackageUpdateInfo } from "../utils/update-check.js";
|
|
10
11
|
import { validateBVInput, validateCommentLimit, validateCommentSort, validateDetailLevel, validateLanguage, } from "../utils/validation.js";
|
|
@@ -91,24 +92,9 @@ export async function handleToolCall(name, args) {
|
|
|
91
92
|
}
|
|
92
93
|
catch (error) {
|
|
93
94
|
if (error instanceof NoSubtitleError) {
|
|
94
|
-
return toErrorTextContent({
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
code: "SUBTITLE_UNAVAILABLE",
|
|
98
|
-
next_steps: [
|
|
99
|
-
"If you expected subtitles, configure Bilibili Cookies.",
|
|
100
|
-
...buildCredentialNextSteps(),
|
|
101
|
-
"Or retry get_video_transcript with fallback_to_description: true if description fallback is acceptable.",
|
|
102
|
-
],
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
if (error instanceof BilibiliAPIError && error.code === "COOKIE_EXPIRED") {
|
|
106
|
-
return toErrorTextContent({
|
|
107
|
-
error: true,
|
|
108
|
-
message: error.message,
|
|
109
|
-
code: "COOKIE_EXPIRED",
|
|
110
|
-
next_steps: buildCredentialNextSteps(),
|
|
111
|
-
});
|
|
95
|
+
return toErrorTextContent(buildStructuredErrorPayload(error, {
|
|
96
|
+
fallbackToDescriptionAvailable: true,
|
|
97
|
+
}));
|
|
112
98
|
}
|
|
113
99
|
throw error;
|
|
114
100
|
}
|
|
@@ -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,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,
|
|
1
|
+
{"version":3,"file":"tool-handlers.js","sourceRoot":"","sources":["../../src/server/tool-handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,21 +2,31 @@ import { type CredentialSource } from "./credentials.js";
|
|
|
2
2
|
export type { CredentialSource };
|
|
3
3
|
export interface CredentialSetupInstructions {
|
|
4
4
|
title: "Bilibili credential setup";
|
|
5
|
+
title_zh: "Bilibili 凭证配置";
|
|
5
6
|
summary: string;
|
|
7
|
+
summary_zh: string;
|
|
6
8
|
recommended_commands: string[];
|
|
7
9
|
global_install_commands: string[];
|
|
8
10
|
required_cookie_fields: ["SESSDATA", "bili_jct", "DedeUserID"];
|
|
9
11
|
security_notes: string[];
|
|
12
|
+
security_notes_en: string[];
|
|
13
|
+
security_notes_zh: string[];
|
|
10
14
|
}
|
|
11
15
|
export interface CredentialStatus {
|
|
12
16
|
configured: boolean;
|
|
13
17
|
source: CredentialSource;
|
|
14
18
|
logged_in: boolean;
|
|
15
19
|
next_steps: string[];
|
|
20
|
+
next_steps_en: string[];
|
|
21
|
+
next_steps_zh: string[];
|
|
16
22
|
security_notes: string[];
|
|
23
|
+
security_notes_en: string[];
|
|
24
|
+
security_notes_zh: string[];
|
|
17
25
|
}
|
|
18
26
|
export declare function buildCredentialSetupInstructions(): CredentialSetupInstructions;
|
|
19
27
|
export declare function buildCredentialNextSteps(): string[];
|
|
28
|
+
export declare function buildCredentialNextStepsEn(): string[];
|
|
29
|
+
export declare function buildCredentialNextStepsZh(): string[];
|
|
20
30
|
export declare function hasSecretLikeValue(value: string): boolean;
|
|
21
31
|
export declare function buildCredentialStatus(checkLoginStatus: () => Promise<{
|
|
22
32
|
isLogin: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-guidance.d.ts","sourceRoot":"","sources":["../../src/utils/credential-guidance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE5E,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,2BAA2B,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,sBAAsB,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAC/D,cAAc,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"credential-guidance.d.ts","sourceRoot":"","sources":["../../src/utils/credential-guidance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE5E,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,2BAA2B,CAAC;IACnC,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,sBAAsB,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAC/D,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AA0BD,wBAAgB,gCAAgC,IAAI,2BAA2B,CAqB9E;AAED,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAEnD;AAED,wBAAgB,0BAA0B,IAAI,MAAM,EAAE,CAErD;AAED,wBAAgB,0BAA0B,IAAI,MAAM,EAAE,CAErD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAIzD;AAED,wBAAsB,qBAAqB,CACzC,gBAAgB,EAAE,MAAM,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,GACpD,OAAO,CAAC,gBAAgB,CAAC,CA2B3B"}
|
|
@@ -1,8 +1,30 @@
|
|
|
1
1
|
import { credentialManager } from "./credentials.js";
|
|
2
|
+
const credentialNextStepsEn = [
|
|
3
|
+
"Run: npx -y @xzxzzx/bilibili-mcp@latest config",
|
|
4
|
+
"Then run: npx -y @xzxzzx/bilibili-mcp@latest check",
|
|
5
|
+
"Do not paste Cookie values into MCP client config files.",
|
|
6
|
+
];
|
|
7
|
+
const credentialNextStepsZh = [
|
|
8
|
+
"运行:npx -y @xzxzzx/bilibili-mcp@latest config",
|
|
9
|
+
"然后运行:npx -y @xzxzzx/bilibili-mcp@latest check",
|
|
10
|
+
"不要把 Cookie 值粘贴到 MCP 客户端配置文件中。",
|
|
11
|
+
];
|
|
12
|
+
const credentialSecurityNotesEn = [
|
|
13
|
+
"Do not paste Cookie values into MCP client config files.",
|
|
14
|
+
"Do not share Cookie values in chats, issues, PRs, logs, or tests.",
|
|
15
|
+
"Use the CLI helper, environment variables, or local deployment secrets.",
|
|
16
|
+
];
|
|
17
|
+
const credentialSecurityNotesZh = [
|
|
18
|
+
"不要把 Cookie 值粘贴到 MCP 客户端配置文件中。",
|
|
19
|
+
"不要在聊天、Issue、PR、日志或测试中分享 Cookie 值。",
|
|
20
|
+
"请使用 CLI 助手、环境变量或本地部署密钥管理凭证。",
|
|
21
|
+
];
|
|
2
22
|
export function buildCredentialSetupInstructions() {
|
|
3
23
|
return {
|
|
4
24
|
title: "Bilibili credential setup",
|
|
25
|
+
title_zh: "Bilibili 凭证配置",
|
|
5
26
|
summary: "For reliable Bilibili subtitles, transcripts, and comments, configure Cookies outside the MCP client config.",
|
|
27
|
+
summary_zh: "为了稳定获取 Bilibili 字幕、转录和评论,请在 MCP 客户端配置之外配置 Cookie。",
|
|
6
28
|
recommended_commands: [
|
|
7
29
|
"npx -y @xzxzzx/bilibili-mcp@latest config",
|
|
8
30
|
"npx -y @xzxzzx/bilibili-mcp@latest check",
|
|
@@ -12,19 +34,19 @@ export function buildCredentialSetupInstructions() {
|
|
|
12
34
|
"bilibili-mcp check",
|
|
13
35
|
],
|
|
14
36
|
required_cookie_fields: ["SESSDATA", "bili_jct", "DedeUserID"],
|
|
15
|
-
security_notes:
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
"Use the CLI helper, environment variables, or local deployment secrets.",
|
|
19
|
-
],
|
|
37
|
+
security_notes: credentialSecurityNotesEn,
|
|
38
|
+
security_notes_en: credentialSecurityNotesEn,
|
|
39
|
+
security_notes_zh: credentialSecurityNotesZh,
|
|
20
40
|
};
|
|
21
41
|
}
|
|
22
42
|
export function buildCredentialNextSteps() {
|
|
23
|
-
return
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
43
|
+
return credentialNextStepsEn;
|
|
44
|
+
}
|
|
45
|
+
export function buildCredentialNextStepsEn() {
|
|
46
|
+
return credentialNextStepsEn;
|
|
47
|
+
}
|
|
48
|
+
export function buildCredentialNextStepsZh() {
|
|
49
|
+
return credentialNextStepsZh;
|
|
28
50
|
}
|
|
29
51
|
export function hasSecretLikeValue(value) {
|
|
30
52
|
return /SESSDATA=|bili_jct=|DedeUserID=|BILIBILI_SESSDATA=|BILIBILI_BILI_JCT=|BILIBILI_DEDEUSERID=/i.test(value);
|
|
@@ -40,10 +62,20 @@ export async function buildCredentialStatus(checkLoginStatus) {
|
|
|
40
62
|
source,
|
|
41
63
|
logged_in,
|
|
42
64
|
next_steps: configured && logged_in ? [] : buildCredentialNextSteps(),
|
|
65
|
+
next_steps_en: configured && logged_in ? [] : buildCredentialNextStepsEn(),
|
|
66
|
+
next_steps_zh: configured && logged_in ? [] : buildCredentialNextStepsZh(),
|
|
43
67
|
security_notes: [
|
|
44
68
|
"This response never includes raw Cookie values.",
|
|
45
69
|
"Configure credentials outside MCP client config files.",
|
|
46
70
|
],
|
|
71
|
+
security_notes_en: [
|
|
72
|
+
"This response never includes raw Cookie values.",
|
|
73
|
+
"Configure credentials outside MCP client config files.",
|
|
74
|
+
],
|
|
75
|
+
security_notes_zh: [
|
|
76
|
+
"此响应永远不会包含原始 Cookie 值。",
|
|
77
|
+
"请在 MCP 客户端配置文件之外配置凭证。",
|
|
78
|
+
],
|
|
47
79
|
};
|
|
48
80
|
}
|
|
49
81
|
//# sourceMappingURL=credential-guidance.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-guidance.js","sourceRoot":"","sources":["../../src/utils/credential-guidance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAyB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"credential-guidance.js","sourceRoot":"","sources":["../../src/utils/credential-guidance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAyB,MAAM,kBAAkB,CAAC;AA6B5E,MAAM,qBAAqB,GAAG;IAC5B,gDAAgD;IAChD,oDAAoD;IACpD,0DAA0D;CAC3D,CAAC;AAEF,MAAM,qBAAqB,GAAG;IAC5B,8CAA8C;IAC9C,+CAA+C;IAC/C,+BAA+B;CAChC,CAAC;AAEF,MAAM,yBAAyB,GAAG;IAChC,0DAA0D;IAC1D,mEAAmE;IACnE,yEAAyE;CAC1E,CAAC;AAEF,MAAM,yBAAyB,GAAG;IAChC,+BAA+B;IAC/B,mCAAmC;IACnC,6BAA6B;CAC9B,CAAC;AAEF,MAAM,UAAU,gCAAgC;IAC9C,OAAO;QACL,KAAK,EAAE,2BAA2B;QAClC,QAAQ,EAAE,eAAe;QACzB,OAAO,EACL,8GAA8G;QAChH,UAAU,EACR,mDAAmD;QACrD,oBAAoB,EAAE;YACpB,2CAA2C;YAC3C,0CAA0C;SAC3C;QACD,uBAAuB,EAAE;YACvB,qBAAqB;YACrB,oBAAoB;SACrB;QACD,sBAAsB,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC;QAC9D,cAAc,EAAE,yBAAyB;QACzC,iBAAiB,EAAE,yBAAyB;QAC5C,iBAAiB,EAAE,yBAAyB;KAC7C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO,6FAA6F,CAAC,IAAI,CACvG,KAAK,CACN,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,gBAAqD;IAErD,MAAM,MAAM,GAAG,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;IACvD,MAAM,UAAU,GAAG,MAAM,KAAK,MAAM,CAAC;IACrC,MAAM,SAAS,GAAG,UAAU;QAC1B,CAAC,CAAC,CAAC,MAAM,gBAAgB,EAAE,CAAC,CAAC,OAAO;QACpC,CAAC,CAAC,KAAK,CAAC;IAEV,OAAO;QACL,UAAU;QACV,MAAM;QACN,SAAS;QACT,UAAU,EAAE,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,EAAE;QACrE,aAAa,EAAE,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,EAAE;QAC1E,aAAa,EAAE,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,EAAE;QAC1E,cAAc,EAAE;YACd,iDAAiD;YACjD,wDAAwD;SACzD;QACD,iBAAiB,EAAE;YACjB,iDAAiD;YACjD,wDAAwD;SACzD;QACD,iBAAiB,EAAE;YACjB,uBAAuB;YACvB,uBAAuB;SACxB;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type StructuredErrorCode = "VALIDATION_ERROR" | "COOKIE_EXPIRED" | "SUBTITLE_UNAVAILABLE" | "NETWORK_ERROR" | "NETWORK_TIMEOUT" | "API_RATE_LIMITED" | "ACCESS_DENIED" | "PAID_VIDEO" | "COMMENTS_DISABLED" | "BILIBILI_API_ERROR" | "UNKNOWN_ERROR";
|
|
2
|
+
export type StructuredErrorCategory = "validation" | "credentials" | "content" | "network" | "access" | "rate_limit" | "api" | "unknown";
|
|
3
|
+
export interface StructuredErrorPayload {
|
|
4
|
+
error: true;
|
|
5
|
+
message: string;
|
|
6
|
+
message_en: string;
|
|
7
|
+
message_zh: string;
|
|
8
|
+
code: StructuredErrorCode | string;
|
|
9
|
+
category: StructuredErrorCategory;
|
|
10
|
+
retryable: boolean;
|
|
11
|
+
user_action_required: boolean;
|
|
12
|
+
next_steps: string[];
|
|
13
|
+
next_steps_en: string[];
|
|
14
|
+
next_steps_zh: string[];
|
|
15
|
+
details?: {
|
|
16
|
+
status_code?: number;
|
|
17
|
+
timeout_ms?: number;
|
|
18
|
+
api_code?: string | number;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export interface StructuredErrorContext {
|
|
22
|
+
fallbackToDescriptionAvailable?: boolean;
|
|
23
|
+
}
|
|
24
|
+
export declare function buildStructuredErrorPayload(error: unknown, context?: StructuredErrorContext): StructuredErrorPayload;
|
|
25
|
+
//# sourceMappingURL=error-guidance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-guidance.d.ts","sourceRoot":"","sources":["../../src/utils/error-guidance.ts"],"names":[],"mappings":"AAeA,MAAM,MAAM,mBAAmB,GAC3B,kBAAkB,GAClB,gBAAgB,GAChB,sBAAsB,GACtB,eAAe,GACf,iBAAiB,GACjB,kBAAkB,GAClB,eAAe,GACf,YAAY,GACZ,mBAAmB,GACnB,oBAAoB,GACpB,eAAe,CAAC;AAEpB,MAAM,MAAM,uBAAuB,GAC/B,YAAY,GACZ,aAAa,GACb,SAAS,GACT,SAAS,GACT,QAAQ,GACR,YAAY,GACZ,KAAK,GACL,SAAS,CAAC;AAEd,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,IAAI,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAAC;IACnC,QAAQ,EAAE,uBAAuB,CAAC;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KAC5B,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAC1C;AAeD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,sBAA2B,GACnC,sBAAsB,CAgPxB"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import { BilibiliAPIError, CommentsDisabledError, NetworkError, NoSubtitleError, PaidVideoError, TimeoutError, ValidationError, } from "./errors.js";
|
|
2
|
+
import { buildCredentialNextSteps, buildCredentialNextStepsEn, buildCredentialNextStepsZh, } from "./credential-guidance.js";
|
|
3
|
+
function withCompatibilityNextSteps(payload) {
|
|
4
|
+
return {
|
|
5
|
+
...payload,
|
|
6
|
+
next_steps: payload.next_steps_en,
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
function safeMessage(error, fallback) {
|
|
10
|
+
return error instanceof Error && error.message ? error.message : fallback;
|
|
11
|
+
}
|
|
12
|
+
export function buildStructuredErrorPayload(error, context = {}) {
|
|
13
|
+
if (error instanceof ValidationError ||
|
|
14
|
+
(error instanceof Error && error.name === "ValidationError")) {
|
|
15
|
+
return withCompatibilityNextSteps({
|
|
16
|
+
error: true,
|
|
17
|
+
message: safeMessage(error, "Invalid input"),
|
|
18
|
+
message_en: safeMessage(error, "Invalid input"),
|
|
19
|
+
message_zh: "输入参数无效,请检查 BV 号、链接、语言代码或评论参数。",
|
|
20
|
+
code: "VALIDATION_ERROR",
|
|
21
|
+
category: "validation",
|
|
22
|
+
retryable: false,
|
|
23
|
+
user_action_required: true,
|
|
24
|
+
next_steps_en: ["Fix the input arguments and call the MCP tool again."],
|
|
25
|
+
next_steps_zh: ["请修正输入参数后重新调用 MCP 工具。"],
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
if (error instanceof BilibiliAPIError && error.code === "COOKIE_EXPIRED") {
|
|
29
|
+
return withCompatibilityNextSteps({
|
|
30
|
+
error: true,
|
|
31
|
+
message: safeMessage(error, "Current Bilibili credentials are expired or not logged in."),
|
|
32
|
+
message_en: "Current Bilibili credentials are expired or not logged in.",
|
|
33
|
+
message_zh: "当前 Bilibili 凭据已过期或未登录。",
|
|
34
|
+
code: "COOKIE_EXPIRED",
|
|
35
|
+
category: "credentials",
|
|
36
|
+
retryable: false,
|
|
37
|
+
user_action_required: true,
|
|
38
|
+
next_steps_en: buildCredentialNextStepsEn(),
|
|
39
|
+
next_steps_zh: buildCredentialNextStepsZh(),
|
|
40
|
+
details: { api_code: "COOKIE_EXPIRED" },
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
if (error instanceof NoSubtitleError) {
|
|
44
|
+
const fallbackStepEn = context.fallbackToDescriptionAvailable
|
|
45
|
+
? "Retry get_video_transcript with fallback_to_description: true if description fallback is acceptable."
|
|
46
|
+
: "If description fallback is acceptable, use get_video_info or retry transcript with fallback_to_description: true.";
|
|
47
|
+
const fallbackStepZh = context.fallbackToDescriptionAvailable
|
|
48
|
+
? "如果接受降级为视频简介,请用 fallback_to_description: true 重新调用 get_video_transcript。"
|
|
49
|
+
: "如果接受降级为视频简介,请使用 get_video_info,或用 fallback_to_description: true 重试字幕工具。";
|
|
50
|
+
return withCompatibilityNextSteps({
|
|
51
|
+
error: true,
|
|
52
|
+
message: safeMessage(error, "No subtitles are available for this video."),
|
|
53
|
+
message_en: "No subtitles are available for this video.",
|
|
54
|
+
message_zh: "该视频没有可用字幕。",
|
|
55
|
+
code: "SUBTITLE_UNAVAILABLE",
|
|
56
|
+
category: "content",
|
|
57
|
+
retryable: false,
|
|
58
|
+
user_action_required: true,
|
|
59
|
+
next_steps_en: [
|
|
60
|
+
"If you expected subtitles, configure Bilibili Cookies.",
|
|
61
|
+
...buildCredentialNextSteps(),
|
|
62
|
+
fallbackStepEn,
|
|
63
|
+
],
|
|
64
|
+
next_steps_zh: [
|
|
65
|
+
"如果你预期该视频应该有字幕,请先配置 Bilibili Cookie。",
|
|
66
|
+
...buildCredentialNextStepsZh(),
|
|
67
|
+
fallbackStepZh,
|
|
68
|
+
],
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
if (error instanceof TimeoutError) {
|
|
72
|
+
return withCompatibilityNextSteps({
|
|
73
|
+
error: true,
|
|
74
|
+
message: safeMessage(error, "Bilibili request timed out."),
|
|
75
|
+
message_en: "The Bilibili request timed out.",
|
|
76
|
+
message_zh: "请求 Bilibili 超时。",
|
|
77
|
+
code: "NETWORK_TIMEOUT",
|
|
78
|
+
category: "network",
|
|
79
|
+
retryable: true,
|
|
80
|
+
user_action_required: false,
|
|
81
|
+
next_steps_en: [
|
|
82
|
+
"Retry later.",
|
|
83
|
+
"Check local network, proxy, firewall, or VPN settings if the problem repeats.",
|
|
84
|
+
],
|
|
85
|
+
next_steps_zh: [
|
|
86
|
+
"请稍后重试。",
|
|
87
|
+
"如果超时问题反复出现,请检查本机网络、代理、防火墙或 VPN 设置。",
|
|
88
|
+
],
|
|
89
|
+
details: { timeout_ms: error.timeoutMs },
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
if (error instanceof NetworkError) {
|
|
93
|
+
const rateLimited = error.statusCode === 429;
|
|
94
|
+
return withCompatibilityNextSteps({
|
|
95
|
+
error: true,
|
|
96
|
+
message: safeMessage(error, rateLimited ? "Bilibili API rate limit reached." : "Network request failed."),
|
|
97
|
+
message_en: rateLimited
|
|
98
|
+
? "Bilibili API rate limit reached."
|
|
99
|
+
: "Network request failed.",
|
|
100
|
+
message_zh: rateLimited
|
|
101
|
+
? "Bilibili API 访问频率受限。"
|
|
102
|
+
: "网络请求失败。",
|
|
103
|
+
code: rateLimited ? "API_RATE_LIMITED" : "NETWORK_ERROR",
|
|
104
|
+
category: rateLimited ? "rate_limit" : "network",
|
|
105
|
+
retryable: true,
|
|
106
|
+
user_action_required: rateLimited,
|
|
107
|
+
next_steps_en: rateLimited
|
|
108
|
+
? [
|
|
109
|
+
"Wait and retry later.",
|
|
110
|
+
"Reduce request frequency or increase BILIBILI_RATE_LIMIT_MS if running many calls.",
|
|
111
|
+
]
|
|
112
|
+
: [
|
|
113
|
+
"Retry later.",
|
|
114
|
+
"Check local network, proxy, firewall, or VPN settings if the problem repeats.",
|
|
115
|
+
],
|
|
116
|
+
next_steps_zh: rateLimited
|
|
117
|
+
? [
|
|
118
|
+
"请等待一段时间后重试。",
|
|
119
|
+
"如果连续调用较多,请降低调用频率,或调大 BILIBILI_RATE_LIMIT_MS。",
|
|
120
|
+
]
|
|
121
|
+
: [
|
|
122
|
+
"稍后重试。",
|
|
123
|
+
"如果问题反复出现,请检查本机网络、代理、防火墙或 VPN 设置。",
|
|
124
|
+
],
|
|
125
|
+
details: { status_code: error.statusCode },
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
if (error instanceof BilibiliAPIError && error.code === "ACCESS_DENIED") {
|
|
129
|
+
return withCompatibilityNextSteps({
|
|
130
|
+
error: true,
|
|
131
|
+
message: safeMessage(error, "Bilibili denied access to this resource."),
|
|
132
|
+
message_en: "Bilibili denied access to this resource.",
|
|
133
|
+
message_zh: "Bilibili 拒绝访问该资源。",
|
|
134
|
+
code: "ACCESS_DENIED",
|
|
135
|
+
category: "access",
|
|
136
|
+
retryable: false,
|
|
137
|
+
user_action_required: true,
|
|
138
|
+
next_steps_en: [
|
|
139
|
+
"Check whether the video is private, region-restricted, removed, or requires a logged-in account.",
|
|
140
|
+
"Run the credential check if you expected your account to have access.",
|
|
141
|
+
],
|
|
142
|
+
next_steps_zh: [
|
|
143
|
+
"请检查视频是否为私密、地区限制、已下架,或需要登录账号访问。",
|
|
144
|
+
"如果你认为账号应有权限,请先运行凭据检查。",
|
|
145
|
+
],
|
|
146
|
+
details: { api_code: error.code, status_code: error.statusCode },
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
if (error instanceof PaidVideoError) {
|
|
150
|
+
return withCompatibilityNextSteps({
|
|
151
|
+
error: true,
|
|
152
|
+
message: safeMessage(error, "This video appears to require paid access."),
|
|
153
|
+
message_en: "This video appears to require paid access.",
|
|
154
|
+
message_zh: "该视频可能需要付费、会员或额外权限。",
|
|
155
|
+
code: "PAID_VIDEO",
|
|
156
|
+
category: "access",
|
|
157
|
+
retryable: false,
|
|
158
|
+
user_action_required: true,
|
|
159
|
+
next_steps_en: [
|
|
160
|
+
"Open the video in Bilibili and confirm whether it requires purchase, membership, or account-specific permission.",
|
|
161
|
+
"This MCP cannot bypass paid or restricted access.",
|
|
162
|
+
],
|
|
163
|
+
next_steps_zh: [
|
|
164
|
+
"请在 Bilibili 中打开视频,确认是否需要购买、会员或账号权限。",
|
|
165
|
+
"本 MCP 不会绕过付费或受限访问。",
|
|
166
|
+
],
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
if (error instanceof CommentsDisabledError) {
|
|
170
|
+
return withCompatibilityNextSteps({
|
|
171
|
+
error: true,
|
|
172
|
+
message: safeMessage(error, "Comments are disabled or restricted for this video."),
|
|
173
|
+
message_en: "Comments are disabled or restricted for this video.",
|
|
174
|
+
message_zh: "该视频评论已关闭或访问受限。",
|
|
175
|
+
code: "COMMENTS_DISABLED",
|
|
176
|
+
category: "content",
|
|
177
|
+
retryable: false,
|
|
178
|
+
user_action_required: false,
|
|
179
|
+
next_steps_en: [
|
|
180
|
+
"Use transcript or metadata tools instead.",
|
|
181
|
+
"Open the video in Bilibili to confirm whether comments are visible in the official UI.",
|
|
182
|
+
],
|
|
183
|
+
next_steps_zh: [
|
|
184
|
+
"可以改用字幕或元数据工具。",
|
|
185
|
+
"也可以在 Bilibili 官方页面确认评论是否可见。",
|
|
186
|
+
],
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
if (error instanceof BilibiliAPIError) {
|
|
190
|
+
return withCompatibilityNextSteps({
|
|
191
|
+
error: true,
|
|
192
|
+
message: safeMessage(error, "Bilibili API returned an error."),
|
|
193
|
+
message_en: "Bilibili API returned an error.",
|
|
194
|
+
message_zh: "Bilibili API 返回错误。",
|
|
195
|
+
code: "BILIBILI_API_ERROR",
|
|
196
|
+
category: "api",
|
|
197
|
+
retryable: false,
|
|
198
|
+
user_action_required: false,
|
|
199
|
+
next_steps_en: [
|
|
200
|
+
"Retry later if this looks temporary.",
|
|
201
|
+
"If the problem repeats, include the error code when reporting the issue.",
|
|
202
|
+
],
|
|
203
|
+
next_steps_zh: [
|
|
204
|
+
"如果看起来是临时问题,请稍后重试。",
|
|
205
|
+
"如果问题反复出现,反馈时请带上错误代码。",
|
|
206
|
+
],
|
|
207
|
+
details: { api_code: error.code, status_code: error.statusCode },
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
return withCompatibilityNextSteps({
|
|
211
|
+
error: true,
|
|
212
|
+
message: safeMessage(error, "Unknown error"),
|
|
213
|
+
message_en: safeMessage(error, "Unknown error"),
|
|
214
|
+
message_zh: "发生未知错误。",
|
|
215
|
+
code: "UNKNOWN_ERROR",
|
|
216
|
+
category: "unknown",
|
|
217
|
+
retryable: false,
|
|
218
|
+
user_action_required: false,
|
|
219
|
+
next_steps_en: [
|
|
220
|
+
"Retry later.",
|
|
221
|
+
"If the problem repeats, report the error message without including credentials.",
|
|
222
|
+
],
|
|
223
|
+
next_steps_zh: [
|
|
224
|
+
"请稍后重试。",
|
|
225
|
+
"如果问题反复出现,请反馈错误信息,但不要包含 Cookie 或其他凭据。",
|
|
226
|
+
],
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
//# sourceMappingURL=error-guidance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-guidance.js","sourceRoot":"","sources":["../../src/utils/error-guidance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-check.d.ts","sourceRoot":"","sources":["../../src/utils/update-check.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,YAAY,yBAAyB,CAAC;AAC5C,QAAA,MAAM,mBAAmB,gCAA2B,CAAC;AAGrD,KAAK,SAAS,GAAG,CACf,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,KACxC,OAAO,CAAC;IACX,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9B,CAAC,CAAC;AAEH,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE;QACtB,OAAO,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,mBAAmB,CAAC,CAAC;KAC1C,CAAC;IACF,eAAe,EAAE;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,KAAK,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"update-check.d.ts","sourceRoot":"","sources":["../../src/utils/update-check.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,YAAY,yBAAyB,CAAC;AAC5C,QAAA,MAAM,mBAAmB,gCAA2B,CAAC;AAGrD,KAAK,SAAS,GAAG,CACf,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,KACxC,OAAO,CAAC;IACX,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9B,CAAC,CAAC;AAEH,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE;QACtB,OAAO,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,mBAAmB,CAAC,CAAC;KAC1C,CAAC;IACF,eAAe,EAAE;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAoED,wBAAsB,sBAAsB,CAC1C,SAAS,GAAE,SAAiB,GAC3B,OAAO,CAAC,iBAAiB,CAAC,CAyC5B"}
|
|
@@ -30,6 +30,16 @@ function isNewerVersion(latestVersion, currentVersion) {
|
|
|
30
30
|
return false;
|
|
31
31
|
}
|
|
32
32
|
function buildBaseInfo(currentVersion) {
|
|
33
|
+
const notesEn = [
|
|
34
|
+
"Use the @latest MCP config so new client sessions resolve the latest npm version.",
|
|
35
|
+
"Restart or reload the MCP client after changing package versions or MCP configuration.",
|
|
36
|
+
"Do not print update hints during stdio startup; stdout must stay reserved for JSON-RPC.",
|
|
37
|
+
];
|
|
38
|
+
const notesZh = [
|
|
39
|
+
"建议在 MCP 配置中使用 @latest,这样新的客户端会话会解析 npm 最新版本。",
|
|
40
|
+
"修改包版本或 MCP 配置后,请重启或重新加载 MCP 客户端。",
|
|
41
|
+
"不要在 stdio 启动时打印更新提示;stdout 必须保留给 JSON-RPC。",
|
|
42
|
+
];
|
|
33
43
|
return {
|
|
34
44
|
package_name: PACKAGE_NAME,
|
|
35
45
|
current_version: currentVersion,
|
|
@@ -43,11 +53,9 @@ function buildBaseInfo(currentVersion) {
|
|
|
43
53
|
npx_check: `npx -y ${LATEST_PACKAGE_SPEC} check`,
|
|
44
54
|
global_update: `npm install -g ${LATEST_PACKAGE_SPEC}`,
|
|
45
55
|
},
|
|
46
|
-
notes:
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
"Do not print update hints during stdio startup; stdout must stay reserved for JSON-RPC.",
|
|
50
|
-
],
|
|
56
|
+
notes: notesEn,
|
|
57
|
+
notes_en: notesEn,
|
|
58
|
+
notes_zh: notesZh,
|
|
51
59
|
};
|
|
52
60
|
}
|
|
53
61
|
export async function buildPackageUpdateInfo(fetchImpl = fetch) {
|
|
@@ -77,6 +85,14 @@ export async function buildPackageUpdateInfo(fetchImpl = fetch) {
|
|
|
77
85
|
...baseInfo.notes,
|
|
78
86
|
"Could not reach the npm registry; retry later or run npm view @xzxzzx/bilibili-mcp version.",
|
|
79
87
|
],
|
|
88
|
+
notes_en: [
|
|
89
|
+
...baseInfo.notes_en,
|
|
90
|
+
"Could not reach the npm registry; retry later or run npm view @xzxzzx/bilibili-mcp version.",
|
|
91
|
+
],
|
|
92
|
+
notes_zh: [
|
|
93
|
+
...baseInfo.notes_zh,
|
|
94
|
+
"无法连接 npm registry;请稍后重试,或运行 npm view @xzxzzx/bilibili-mcp version。",
|
|
95
|
+
],
|
|
80
96
|
};
|
|
81
97
|
}
|
|
82
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-check.js","sourceRoot":"","sources":["../../src/utils/update-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,YAAY,GAAG,sBAAsB,CAAC;AAC5C,MAAM,mBAAmB,GAAG,GAAG,YAAY,SAAS,CAAC;AACrD,MAAM,cAAc,GAAG,8BAA8B,kBAAkB,CAAC,YAAY,CAAC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"update-check.js","sourceRoot":"","sources":["../../src/utils/update-check.ts"],"names":[],"mappings":"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"}
|