SuperAPI AI Directory

tiangong-kb-course-search

Writing & research

View repository

Updated 10-16 05:26

About this skill

Tiangong KB Course Search

Use this skill for Tiangong course-source retrieval. It is intentionally single-source: always search course, never all, edu, or textbook.

Prerequisites

  • The wrapper defaults to npx @tiangong-ai/cli@0.0.19; users do not need a preinstalled CLI. Set TIANGONG_AI_CLI or TIANGONG_AI_CLI_BIN only to override the CLI entrypoint.
  • Course search should use bearer auth. Pass bearer_token; if only api_key is provided to this wrapper, it is also forwarded as --bearer-token so the CLI emits Authorization: Bearer ... for the course source.
  • When request_file / input_file is provided, the wrapper loads .env from that file's directory by default. env_file can point to a different dotenv file. Loaded dotenv values only fill unset environment variables; explicit JSON fields such as api_key, bearer_token, and api_base_url are passed as CLI flags and take precedence.
  • Optionally set TIANGONG_AI_API_BASE_URL; the CLI accepts a Supabase project root, /functions/v1, or /rest/v1 and derives Functions URLs.

Search

For normal searches, pass a query:

./scripts/course_search.sh '{
  "query": "马约翰 清华 体育 孙立人 梁实秋 钱三强",
  "top_k": 8,
  "ext_k": 20
}'

The script calls:

npx @tiangong-ai/cli@0.0.19 education search --query <query> --sources course --json

For exact edge-function payloads, provide request_file or input_file:

./scripts/course_search.sh '{
  "request_file": "./course-request.json",
  "dry_run": true
}'

The script calls:

npx @tiangong-ai/cli@0.0.19 education search --input <request.json> --sources course --json

Raw Payload Filters

Wrapper JSON can include inline raw course_search fields; the wrapper will forward them through the CLI --input path. The same payload can also be put in request_file / input_file:

{
  "query": "马约翰 清华 体育",
  "filter": {
    "tags": ["thu_humanities"]
  },
  "topK": 8,
  "extK": 20
}
  • filter: metadata term filters, shaped as { "field": ["value"] }. Course collections currently use metadata keys such as tags and raw_relative_path when those keys are indexed for the collection.
  • topK, extK: raw edge-function names for result count and adjacent chunk expansion.
  • datefilter is not exposed by this wrapper for course search.

Input Fields

  • query or input: convenience query text.
  • request_file or input_file: JSON body forwarded unchanged.
  • env_file: optional dotenv file. Without it, request_file / input_file causes the wrapper to load .env from that file's directory.
  • filter, topK, extK: optional inline raw payload fields for course search.
  • sources: optional compatibility field; only course or default is accepted.
  • dry_run: true to return the exact request plan with masked credentials.
  • api_base_url, api_key, bearer_token, course_api_key. For course search, prefer bearer_token; api_key is treated as the same token when bearer_token is omitted.
  • course_url, region, timeout.
  • top_k, ext_k: only used in query mode.

When writing reader-facing prose from retrieved results, state historical facts directly and cite source titles when useful. Do not mention retrieval mechanics, source grouping, or internal confidence checks.