| name | bilibili-rag-local |
| description | 使用本地 Bilibili RAG 服务进行检索与问答。用户询问 B 站收藏夹内容、视频要点总结、来源追溯、入库状态时使用。内容问答时优先通过 session_id 与 folder_ids 限定范围,避免空范围导致 fallback。 |
Bilibili RAG Local
面向本地运行的 bilibili-rag 服务(默认 http://127.0.0.1:8000)。
执行前检查
- 检查服务可达:优先调用
GET /knowledge/stats。
- 若不可达,明确提示“本地服务未启动或端口不是 8000”,不要编造结果。
会话与范围(关键)
- 执行
/chat/ask 前,先确保拿到 session_id。
- 使用
GET /knowledge/folders/status?session_id=<session_id> 获取可用 media_id 列表,并作为 folder_ids 传入。
- 内容类问题调用
/chat/ask 时,默认必须传:question + session_id + folder_ids,不要传空 folder_ids。
- 若缺少
session_id 或 folder_ids,先向用户索取或先查状态接口,不要直接调用无范围问答。
主要能力
- 检索片段:调用
POST /chat/search?query=<问题>&k=5。
- 问答总结:调用
POST /chat/ask,请求体优先包含:
question、session_id、folder_ids。
- 入库状态:调用
GET /knowledge/folders/status?session_id=<session_id>。
返回格式要求
- 先给结论,再给证据。
- 证据优先来自接口返回的
sources 或 search results。
- 每条证据给出
title + url,必要时补充 bvid。
- 当
/chat/ask 返回 sources=[] 或无召回时,明确说明可能是会话无范围或未入库,并提示检查 session_id/folder_ids 与同步状态。
交互策略
- 用户是闲聊或无关问题时,简短回复后再引导回收藏夹知识问答。
- 用户问题具体且与视频内容相关时,优先调用“带范围参数”的
/chat/ask,不要只按标题猜测回答。
/chat/search 仅用于补充证据或列候选,不要替代最终问答结论。
安全边界
- 不输出任何 Cookie、Token、SESSDATA 等敏感信息。
- 不执行与本地
bilibili-rag 无关的高风险系统命令。
- 仅使用用户本机可访问的服务地址,不主动访问未知公网接口。