小书丁智能讲题与错题本:用户上传作业/试卷照片多模态模型自动识别并讲解题目, 生成交互式可视化动态讲解 HTML(数学/物理),同时异步调用 MCP 生成 PDF 错题本, 并根据题目知识点搜索B站相关讲解视频。 三线并行:讲题+可视化(主线)|| 错题本 PDF(副线异步)|| B站视频推荐(副线异步)。 触发关键词:错题、错题本、作业、试卷、讲题、讲解、这道题、拍照讲题、批改。
⚠️ MCP 鉴权策略(按需检测 → 连接器配置 → OAuth → 设备码流兜底)是一项面向实际任务的技能,主要用于Step 0:连接器存在性检测(按需检查,不主动写配置);重要原则 : 不要主动写入 ~/.workbuddy/mcp.json !
隐式检测 (。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
重要原则:不要主动写入
~/.workbuddy/mcp.json! 这是 WorkBuddy 的配置文件,agent 无权操作;即使写入也需要重启 WorkBuddy 才生效。 正确做法是 按需检测 + 用户引导。
隐式检测(首选):
check_auth_status),如果返回结果说明连接器已配置显式检测(兜底):
告诉用户按以下步骤添加(不要 agent 自动写文件):
xsd-mcphttps://ai.shudingkj.com/mcpstreamable-http1800(秒)完整 JSON 格式(供参考):
{
"mcpServers": {
"xsd-mcp": {
"url": "https://ai.shudingkj.com/mcp",
"transport": "streamable-http",
"timeout": 1800
}
}
}
添加完成后让用户重新发起请求,agent 再继续后续鉴权流程。
如果连接器存在但首次连接:
xsd-mcp 这一项;WorkBuddy 会自动完成 OAuth 30 天持久化(refresh_token),首次验证后 30 天内免认证。
| 方式 | 优先级 | 用户体验 | 触发 |
|---|---|---|---|
| 原生 MCP OAuth 2.1 (PKCE) | ✅ 首选 | 首次验证后 30 天内免再验证(refresh_token 持久化) | 客户端自动握手 |
| 设备码流 (Device Flow) | ⚠️ 兜底 | 首次验证后 30 天内免再验证(device_token JWT,进程重启不丢) | agent 主动调用 start_login |
两种方式用户体验完全一致:都是首次验证后 30 天内免认证。区别在于触发方式。 优先尝试 OAuth,仅在 OAuth 真的无法完成时回退到设备码流。
何时用:调用
check_auth_status一直返回authenticated: false,且auth_method是none/bearer_token(token 失效) 而 WorkBuddy 客户端始终无法把有效 token 传给 MCP 调用。
禁止行为(会浪费时间且无效):
check_auth_status 看结果oauth_client.py、OAuth HTTP APImcp.json、反复"读取 MCP 配置"curl/http_get 直接探测 OAuth 端点正确行为:
authenticated: false 且 auth_method: "none" → 立即调 start_loginverification_url 以链接形式直接发给用户,让用户点开check_auth_status(device_code="...") 拿到 30 天 JWTAuthorization: Bearer 即可免认证)Step 1:调用 mcp__xsd-mcp__start_login(公开免鉴权)
verification_url(如 https://ai.shudingkj.com/device/verify?code=XXXX)device_code(如 E88CjUhoZwwV7T68zhB4Xyb9BjscfkHx)expires_in(600 秒,设备码本身 10 分钟过期)Step 2:把 verification_url 以 Markdown 链接形式发给用户(直接发):
🔑 **一键启用 xsd-mcp**:[点击这里完成验证](verification_url) (点开后输入手机号 + 短信验证码,10 秒搞定。绑定后 30 天内免再验证,进程重启也不丢失。)
Step 3:等待用户在浏览器完成验证(不需要轮询,让用户告诉「验证好了」即可)
Step 4:用户告知后立即调用:
mcp__xsd-mcp__check_auth_status(device_code="<上一步返回的 device_code>")
返回结构:
authenticated: true 且 auth_method: device_long_lived_tokendevice_token ← 关键:30 天有效的 JWT,客户端必须缓存device_token_expires_in: 2592000(30 天 × 86400 秒)device_token_usage_hint: 提示用法Step 5:告诉 WorkBuddy 缓存 device_token,后续 MCP 调用带上:
Authorization: Bearer
Step 6:继续发起错题本/视频搜索等请求
{sub: user_id, exp: now+30days, scope: "cuoti", type: "device_long_lived"}device_token,每次 MCP 调用时作为 Authorization: Bearer header 带上为什么设备码流体验等价 OAuth:
| 维度 | OAuth | 设备码流 |
|---|---|---|
| 首次验证 | ✅ 浏览器手机号 | ✅ 浏览器手机号 |
| 长期凭证 | refresh_token (30天) | device_token JWT (30天) |
| 调用方式 | Authorization: Bearer |
Authorization: Bearer |
| 凭证缓存 | WorkBuddy 客户端 | WorkBuddy 客户端 |
| 进程重启 | 不影响(持久化) | 不影响(JWT 自签名) |
| 30 天免认证 | ✅ | ✅ |
设备码流额外优势:
start_login)优化重点(v3.1):路径 A 和路径 B 是真正并行启动,不是"边讲边启动 B"。 agent 应在阶段 0 题号确认后,同时启动路径 A(A1 多模态识别)和路径 B(B1 鉴权 + B2 配额)。 路径 B1-B4 完全不依赖路径 A 的输出(讲解内容),可与 A1-A4 并行穿插执行。 路径 C 必须等 A3 完成(需要从讲解中提取核心知识点),因此在 A3 后启动。
阶段 0: 题号确认(必须先完成,B 需要题号)
│
├─ 并行启动 ──────────────────────────────────────────────────┐
│ │
├─ 路径 A(主线) │
│ ├─ A1 多模态识别题目 ─┐ │
│ ├─ A2 题号确认 ──────┤ (与 B3 上传图片 并行) │
│ ├─ A3 深度讲解 ──────┐ │
│ └─ A4 生成可视化 ────┤ (与 B4 发起 PDF、B5 轮询 并行) │
│ │
├─ 路径 B(副线·并行) │
│ ├─ B1 鉴权检查 ──── 与 A1 并行 │
│ ├─ B2 配额检查 ──── 与 A1 并行 │
│ ├─ B3 上传图片 ────── 与 A2 并行 │
│ ├─ B4 发起 PDF(async)─ 与 A3 并行,秒返 task_id │
│ └─ B5 轮询 ─────────── 与 A4 并行,穿插等待 │
│ │
└─ 路径 C(依赖 A3)────────────────────────────────────────────┘
├─ C1 提取核心知识点(A3 完成后启动)
└─ C2 调用 search_knowledge_videos(C1 后立即启动)
关键原则:
- 路径 A 是主线,agent 应先开始 A1 多模态识别(不依赖任何前置)
- 路径 B 的 B1-B4 完全不依赖 A 的输出,阶段 0 后立即与 A1 并行启动
- B4 发起 PDF 是异步任务(秒返 task_id),不阻塞后续步骤
- B5 轮询穿插在 A4 生成可视化期间(不需要等 A 完成)
- 路径 C 必须等 A3 完成(需要从讲解中提取知识点),其他步骤在 A3 后启动
- 最终呈现三个产物:可视化 HTML + 错题本 PDF + 视频推荐
# 阶段 0: 题号确认(必须串行)
problem_number = confirm_question_number(user_message, identified_problems)
# 阶段 1: 并行启动 A 和 B
# agent 应该**同时**发起这两个调用(不是先 A 后 B)
in_parallel(
# 路径 A 主线
task_A1_A2_A3_A4(), # 多模态识别 → 题号确认 → 深度讲解 → 生成可视化
# 路径 B 副线
task_B1_auth(), # 鉴权
task_B2_quota(), # 配额
task_B3_upload(), # 上传图片(需要题号)
task_B4_submit(), # 发起 PDF 生成(异步,返回 task_id)
)
# 路径 B5:穿插在 A4 期间轮询
poll_pdf_task(task_id) # 不阻塞 A4
# 路径 C:A3 完成后启动
task_C1_extract_keywords(), # 从 A3 讲解中提取知识点
task_C2_search_videos(), # 搜索视频
以下全部工具属于 xsd-mcp 服务器。路径 A(讲题+可视化)由 WorkBuddy 自身能力完成,路径 B(错题本 PDF)和路径 C(B站视频搜索)使用 MCP 工具。
| SKILL 中的工具名 | WorkBuddy 中的实际调用名 | 用途 | 路径 |
|---|---|---|---|
check_auth_status |
mcp__xsd-mcp__check_auth_status |
鉴权检查(支持 device_code 参数触发会话绑定) |
B |
start_login |
mcp__xsd-mcp__start_login |
设备码流登录入口(手机端 fallback,公开免鉴权) | B |
get_usage_summary |
mcp__xsd-mcp__get_usage_summary |
配额检查 | B |
upload_image |
mcp__xsd-mcp__upload_image |
上传公网图片 | B |
get_upload_ticket |
mcp__xsd-mcp__get_upload_ticket |
获取本地直传凭证 | B |
batch_extract_and_pdf |
mcp__xsd-mcp__batch_extract_and_pdf |
批量提取并生成 PDF | B |
get_task_status |
mcp__xsd-mcp__get_task_status |
轮询异步任务状态 | B |
search_knowledge_videos |
mcp__xsd-mcp__search_knowledge_videos |
B站知识点视频搜索 | C |
两种方式用户体验一致(都是 30 天免认证):
| 方式 | 优先级 | 用户体验 | 客户端要求 |
|---|---|---|---|
| 原生 MCP OAuth 2.1 (PKCE) | ✅ 首选 | 首次验证后 30 天内免认证(refresh_token 持久化) | 支持 OAuth 发现+回调+token 持久化 |
| 设备码流 (Device Flow) | ⚠️ 兜底 | 首次绑定后 30 天内免认证(Redis 持久化,进程重启不丢) | 任何能调用 MCP 工具的客户端 |
对 agent 的要求:
- 优先 OAuth:让 WorkBuddy 走标准 OAuth 流程("信任连接器"按钮),30 天免认证
- 设备码流兜底:仅在 OAuth 实在无法完成时使用。详见上方「🔑 OAuth 实在无法完成?设备码流 fallback」章节
当用户发送题目图片并请求讲解/整理错题时,进入以下流程。
快速判断:
阶段 0 的关键作用: 阶段 0 完成后,必须明确知道:
⚠️ 题号必须先确定,否则路径 B 无法发起 PDF 生成。题号确认后立即并行启动 A 和 B。 如果用户没指定题号,先弹出选择框(用
ask_followup_question)让用户选择,不要阻塞太久。 一旦题号确认,同时启动 A1 和 B1-B2(不要等 A 完成再启动 B)。
路径 A 不依赖 MCP 工具,完全由 WorkBuddy 自身多模态 + 代码生成能力完成。
使用 WorkBuddy 自身的多模态视觉能力直接观察用户上传的图片:
[题号] 科目 - 简要描述⚠️ 不要用 MCP 工具做题目识别。MCP 的
extract_questions用于生成 PDF 时的文字提取, 不适用于实时讲题场景。实时讲题直接用 WorkBuddy 视觉能力。
根据用户消息判断:
ask_followup_question 工具,格式如下:{
"questions": "[{"id":"q_select","question":"我看到图片中有以下题目,你想让我讲解哪道?","options":["第1题 - 数学 - [简要描述]","第2题 - 物理 - [简要描述]","第3题 - 数学 - [简要描述]","全部讲解"],"multiSelect":false}]"
}
options 中每一项格式为 第X题 - 科目 - 简要描述全部讲解multiSelect 设为 false(单选)对目标题目进行完整讲解,覆盖:
讲解风格:教师口语化,逻辑清晰,适当使用 Markdown 排版公式(LaTeX 风格,如 $F=ma$、$angle ABC$)。
🔗 A3 完成后立即启动路径 C:从讲解中提取核心知识点(如"二次函数与一次函数交点个数"), 调用
search_knowledge_videos搜索B站相关讲解视频。
讲解完成后,根据题目类型生成交互式 HTML 可视化页面。
判断科目类型:
references/math-visualization.md)references/physics-visualization.md)可视化生成的核心要求:
const steps = [...] 状态机驱动(标题/讲解/公式/SVG 显隐/高亮) 中,JS 只负责切换显隐 + 背景色 + 内边距,与 SVG 区域分离
📘 详细规范见 reference 文件:
- 数学:
references/math-visualization.md(步骤设计、SVG 模式、色彩规范、模板、自检清单)
- 物理:
references/physics-visualization.md(同上 + 临界点识别、复杂场景简化策略)
输出方式:
- 将 HTML 写入
/mnt/user-data/outputs/ 目录(文件名如 math_visual_题号.html)
- 不要在聊天中输出原始 HTML 代码(会污染上下文)
- 写入文件后告诉用户"可视化讲题页面已生成,可打开查看"
路径 B(副线 · 与 A 真正并行):错题本 PDF 生成
路径 B 使用 MCP 工具。关键:路径 B 与路径 A 真正并行——
- B1(鉴权)和 B2(配额)只依赖 user_id,阶段 0 后立即与 A1(多模态识别)并行启动
- B3(上传图片)依赖题号,与 A2(题号确认)并行
- B4(发起 PDF)是异步任务,秒返 task_id,与 A3(讲解)并行
- B5(轮询)穿插在 A4(生成可视化)期间,不阻塞 A
绝对不要等 A 完成后才启动 B,那样会浪费 B1-B4 几分钟的执行时间。
B1. 鉴权检查(第一步):分两步(连接器检测 + 鉴权状态)
Step 1:连接器存在性检测(按需检查,不要主动写 mcp.json)
调用 mcp__xsd-mcp__check_auth_status:
- 工具调用成功(即使返回
authenticated: false)→ 连接器已配置,进入 Step 2
- 工具调用失败(找不到工具 / 连接失败 / 找不到 xsd-mcp 服务器)→ 连接器未配置:
- 不要 agent 写入 mcp.json(agent 无权操作 WorkBuddy 配置文件)
- 引导用户手动添加:
请在 WorkBuddy 中添加 xsd-mcp 连接器(一次配置,长期使用):
- 名称:xsd-mcp
- URL:https://ai.shudingkj.com/mcp
- 传输协议:streamable-http
- 超时:1800 秒
- 用户添加后让用户重新发起请求,再继续后续流程
- 路径 A 继续执行(不受连接器配置影响)
Step 2:检查鉴权状态(连接器已配置时)
连接器存在后,调用 mcp__xsd-mcp__check_auth_status。
authenticated: true -> 继续 B2
authenticated: false ->
- 检查
auth_method 字段判断走哪个 fallback:
auth_method: "none" 且 WorkBuddy 信任连接器已确认打开 → 走设备码流
(详见 SKILL 开头「🔑 OAuth 实在无法完成?设备码流 fallback」章节)
auth_method: "bearer_token" 但用户仍报"未登录" → token 已过期,让 WorkBuddy 重新走 OAuth
- 若 WorkBuddy 完全无法完成 OAuth 流程 → 设备码流
- 设备码流 5 步(关键:必须拿到 30 天 JWT 并让 WorkBuddy 缓存):
- 调
mcp__xsd-mcp__start_login 获取 verification_url
- 把链接发给用户,让用户点开完成手机号验证
- 用户告知后调
mcp__xsd-mcp__check_auth_status(device_code="...")
- 从响应中提取
device_token(30 天 JWT)
- 告诉 WorkBuddy 缓存 device_token,后续调用带
Authorization: Bearer
即可在 30 天内免认证(与 OAuth refresh_token 等价)
绝对不要:
- 反复探测 OAuth HTTP API / 读 mcp.json / 调 oauth_client.py
- 让用户在 WorkBuddy 中"重新信任连接器"(用户可能已做过,无效)
- 忽略 device_token 不缓存(否则每次都要重新走设备码流)
路径 A 继续执行(不受鉴权影响)。
常见错误区分:
- 「找不到 xsd-mcp 服务器」→ 连接器未配置 → Step 1 处理
- 「未登录 / 401」→ 鉴权问题 → Step 2 处理
- 「MCP 服务器不可达」→ 网络问题 → 告知用户稍后重试,路径 A 继续
B2. 配额检查
调用 mcp__xsd-mcp__get_usage_summary。
- 剩余 0 -> 告知用户"本月配额已用完,错题本 PDF 无法生成",路径 A 继续
- 剩余 < 3 -> 提示用户确认后继续
- 充足 -> 继续 B3
B3. 上传图片
- 用户提供了 OSS/公网图片链接 -> 调用
mcp__xsd-mcp__upload_image(image_url=...)
- 用户上传了本地文件(最常见) ->
- 调用
mcp__xsd-mcp__get_upload_ticket(ext="jpg") 获取 put_url + oss_url
- 用
curl -X PUT -T <本地文件路径> "" 直传到 OSS
- 上传成功后,用返回的
oss_url 作为图片链接
⚠️ put_url 预签名凭证 1 小时有效。PUT 时不要手动添加 Content-Type 请求头。
B4. 发起异步 PDF 生成
调用 mcp__xsd-mcp__batch_extract_and_pdf:
batch_extract_and_pdf(
requests=[{
"image_urls": [<题图 OSS 链接>],
"question": "<题号,如 '第3题'>",
"subject": "<科目:数学 / 物理>",
}],
title="<科目>错题本",
subject="<科目>",
)
- 返回
task_id(异步任务,不会同步等结果)
B5. 轮询任务状态(与 A4 穿插执行)
循环调用 mcp__xsd-mcp__get_task_status(task_id=task_id),间隔 3~5 秒,
直到 status 变为 done 或 failed:
done -> 获取 download_url / pdf_url
failed -> 反馈 error 给用户
⚠️ 轮询穿插在 A4 期间(不要阻塞路径 A):
- 路径 A4 生成可视化期间,每次回答用户问题/讲解步骤之间插入一次轮询
- 不要等 A 全部完成才轮询(浪费并行机会)
- 路径 A 完成后如果 PDF 还未好,继续轮询直至完成
- 最终呈现时把 PDF 链接和视频列表一起给用户
路径 C(副线 · 异步并行):B站视频推荐
路径 C 使用 MCP 工具搜索B站讲解视频。在路径 A 的 A3(深度讲解)完成后立即启动路径 C。
C1. 提取核心知识点
从 A3 的讲解内容中提取该题目的核心知识点关键词。
知识点提取要点:
- 提取 1-3 个核心知识点,组成搜索关键词
- 关键词应具体、有教学价值,如"二次函数与一次函数交点个数"、"相似三角形判定"、"受力分析正交分解"
- 避免过于宽泛(如只写"数学")或过于具体(如照抄整道题)
示例:
- 题目考查二次函数 y=ax²+bx+c 与直线 y=kx+m 的交点个数 -> 知识点:
二次函数与一次函数交点个数
- 题目考查相似三角形证明 -> 知识点:
相似三角形判定与证明
- 题目考查斜面上物体受力分析 -> 知识点:
斜面受力分析正交分解法
C2. 调用视频搜索工具
调用 mcp__xsd-mcp__search_knowledge_videos:
search_knowledge_videos(
keyword="<核心知识点,如 '二次函数与一次函数交点个数'>",
subject="<科目:数学 / 物理>",
count=3,
)
返回结构:
{
"success": true,
"keyword": "二次函数与一次函数交点个数",
"total_candidates": 15,
"filter_note": "已按粉丝≥50万的大UP筛选后综合排序",
"videos": [
{
"rank": 1,
"title": "初中数学【二次函数】从零基础到中考压轴难度合集",
"author": "一数",
"fans": 24940000,
"fans_display": "2494.0万",
"play": 1234567,
"play_display": "1,234,567",
"duration": 3600,
"duration_display": "1:00:00",
"url": "https://www.bilibili.com/video/BV1t54y1173m",
"relevance_score": 3,
"chapters": ["第3讲 二次函数、方程与不等式"],
"chapter_hint": "重点看:第3讲 二次函数、方程与不等式"
}
],
"learning_order": [
"1. 先看《一数》... -> 体系打基础",
"2. 先看《马哥初中几何》... -> 专攻本题型",
"3. 先看《马哥初中几何》... -> 补变式/拔高"
]
}
- 搜索耗时约 5-15 秒(多策略检索 + 粉丝校验 + 排序)
- 如果返回
success: false,告知用户视频搜索暂不可用,不影响其他路径
⚠️ 路径 C 不消耗配额(cost=0),但不绕过鉴权。
如果鉴权失败(路径 B 的 B1 已检测),路径 C 同样不可用,路径 A 继续执行。
最终呈现(路径 A + B + C 汇合)
并行执行的好处:三线并行启动后,总耗时 = max(A, B) + C 启动延迟,而不是 A + B + C。
用户实际等待时间 = 路径 A 完成时间(A4 生成可视化通常最慢,约 30-60 秒)。
路径 B 的 PDF 生成和路径 C 的视频搜索都是后端异步任务,不阻塞用户。
三条线全部完成后,合并呈现结果:
📚 题目讲解已完成!
📖 **文字讲解**:[已完成]
🎬 **可视化动态讲解**:[已生成,可打开 HTML 文件查看]
- 包含 X 步交互式动画,逐步展示推理/物理过程
- 使用上一步/下一步按钮切换
📄 **错题本 PDF**:⬇️ 点击下载(24h 有效)
[📄 错题本PDF下载](download_url)
📺 **B站推荐讲解视频**:
1. 一数《初中数学【二次函数】从零基础到中考压轴难度合集》
链接:https://www.bilibili.com/video/BV1t54y1173m
重点看第 3 讲「二次函数、方程与不等式」(交点个数就靠联立+判别式 Δ),第 7 讲顺带讲 x 轴交点。
2. 马哥初中几何《二次函数与直线交点分布大合辑》
链接:https://www.bilibili.com/video/BV1GUAwefEKC
最直接对口:标题就是「二次函数与直线(=一次函数图像)交点」,系统讲 0/1/2 个交点的判定与分类讨论。
3. 马哥初中几何《二函与直线交点问题与任意直线》
链接:https://www.bilibili.com/video/BV1bWDzYtEJs
补充带参数(k、m)的变式,应对中考压轴。
学习顺序建议:先看成体系的一数第 3 讲打基础 -> 再用马哥第 2 个专攻「交点个数」题型 -> 有余力看第 3 个补含参变式。
如果路径 B 或 C 失败(鉴权/配额/网络问题),只呈现可用的产物,
并说明不可用部分的原因。不要让 B/C 的失败阻塞 A。
视频推荐结果应基于 search_knowledge_videos 返回的数据格式化呈现,
包含:序号、标题、链接、重点章节提示、学习顺序建议。
特殊场景处理
仅整理错题(不讲解)
用户明确说"整理错题"/"生成错题本"而不需要讲解 -> 只走路径 B。
图片中有多道题,用户指定一道讲解
- 路径 A 只讲解指定题目
- 路径 B 生成全部题目的错题本 PDF
- 路径 C 只搜索指定题目的知识点视频
- 告知用户:"已针对第X题进行讲解,同时错题本包含了图片中所有题目"
图片中有多道题,用户要求全部讲解
- 路径 A 逐题讲解并生成可视化(每题独立 HTML)
- 路径 B 生成全部题目的错题本 PDF
- 路径 C 为每道题分别搜索知识点视频(或合并核心知识点一次搜索)
- 每题讲解完成后展示可视化链接
路径 B/C 工具不可用
如果 MCP 工具调用持续失败(连接不上/工具未找到):
先区分是连接器配置问题还是鉴权问题:
- 工具找不到 / 找不到 xsd-mcp 服务器 → 连接器未配置(按 SKILL 开头「Step 0 连接器存在性检测」处理,引导用户手动添加)
- 工具返回 401 / 未登录 → 鉴权问题(按 SKILL 开头「Step 1 OAuth」或「设备码流」处理)
- MCP 服务器不可达(HTTP 错误) → 网络问题,告知用户稍后重试
路径 A 始终继续执行不受影响。
告知用户:
当前无法连接 MCP 服务(原因:xxx),已为你完成题目讲解。
如需错题本 PDF 或视频推荐,请按以下步骤处理:[具体步骤]
配额消耗
方法
消耗
路径
check_auth_status / get_usage_summary / get_task_status / upload_image / get_upload_ticket
0
B
batch_extract_and_pdf
1
B
search_knowledge_videos
0
C
免费用户每月 10 点。路径 A(讲题+可视化)和路径 C(视频搜索)不消耗 MCP 配额。
完整流程最多消耗 1 点(仅 PDF 生成)。
限制
- 支持数学、物理等科目的题目讲解与错题整理
- 题号格式:第12题、第13,14题
- 每次最多 2 页图片
- 返回
quota_exceeded 时提示配额已用完(不影响讲题和视频搜索)
- B站视频搜索依赖B站 API 可用性,偶发限流时会返回失败
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章