天工知识库课程检索(Tiangong KB Course Search)是一个面向天工课程来源检索的技能。它被有意设计为单一来源:始终搜索 course,而不会搜索 all、edu 或 textbook。
用途 该技能用于天工课程来源检索,适合课件、课程、教学材料以及清华人文档案等场景。
前置条件 包装脚本默认使用 npx @tiangong-ai/cli@0.0.19,用户无需预先安装 CLI。仅在需要覆盖 CLI 入口点时,才设置 TIANGONG_AI_CLI 或 TIANGONG_AI_CLI_BIN。
课程搜索应使用 bearer 认证。传入 bearer_token;如果仅向该包装脚本提供 api_key,它也会作为 --bearer-token 转发,以便 CLI 为课程来源发出 Authorization: Bearer ...。
当提供 request_file / input_file 时,包装脚本默认从该文件所在目录加载 .env。env_file 可以指向另一个 dotenv 文件。加载的 dotenv 值仅填充未设置的环境变量;显式 JSON 字段(如 api_key、bearer_token 和 api_base_url)会作为 CLI 标志传入并优先。
可选设置 TIANGONG_AI_API_BASE_URL;CLI 接受 Supabase 项目根、/functions/v1 或 /rest/v1,并据此推导 Functions URL。
搜索 普通搜索时传入 query:
./scripts/course_search.sh '{ "query": "马约翰 清华 体育 孙立人 梁实秋 钱三强", "top_k": 8, "ext_k": 20 }'
该脚本调用:
npx @tiangong-ai/cli@0.0.19 education search --query <query> --sources course --json
如需精确的 edge-function payload,请提供 request_file 或 input_file:
./scripts/course_search.sh '{ "request_file": "./course-request.json", "dry_run": true }'
该脚本调用:
npx @tiangong-ai/cli@0.0.19 education search --input <request.json> --sources course --json
原始 Payload 过滤 包装脚本 JSON 可以包含内联的原始 course_search 字段;包装脚本会通过 CLI --input 路径转发它们。同样的 payload 也可以放在 request_file / input_file 中:
{ "query": "马约翰 清华 体育", "filter": { "tags": ["thu_humanities"] }, "topK": 8, "extK": 20 }
filter:元数据词条过滤器,形如 { "field": ["value"] }。课程集合目前使用诸如 tags 和 raw_relative_path 的元数据键(当这些键为该集合建立索引时)。
topK、extK:结果数量和相邻分块扩展的原始 edge-function 名称。
datefilter 未被该包装脚本为课程搜索暴露。
输入字段 query 或 input:便捷查询文本。
request_file 或 input_file:原样转发的 JSON body。
env_file:可选的 dotenv 文件。若不提供,request_file / input_file 会使包装脚本从该文件所在目录加载 .env。
filter、topK、extK:课程搜索的可选内联原始 payload 字段。
sources:可选兼容字段;仅接受 course 或 default。
dry_run:设为 true 时返回带有凭据掩码的精确请求计划。
api_base_url、api_key、bearer_token、course_api_key。对于课程搜索,优先使用 bearer_token;省略 bearer_token 时,api_key 被视为同一 token。
course_url、region、timeout。
top_k、ext_k:仅在 query 模式下使用。
根据检索结果撰写面向读者的文字时,直接陈述历史事实,并在有用时引用来源标题。不要提及检索机制、来源分组或内部置信度检查。