Tiangong KB SCI Search
This Skill is deliberately single-source. Search sci only; never broaden to all, report, or patent. Access requires the deployment owner's normal key and entitlement. Stop on authentication, authorization, subscription, VPN, or service failure; do not try to bypass it.
Choose the execution mode
- For a direct standalone search outside a managed workspace, use
scripts/scisearch.sh as described below. Inside a managed workspace, only an explicit user-requested isolated query may set "executionmode":"standalone"; the wrapper records a non-secret mode event.
- Inside a Tiangong Auto Research discovery package, do not execute this
script or its CLI/curl examples. Use locked capability ID database.tiangong.sci-search through fetchcandidatesource. The broker owns the exact POST method, endpoint, region header, credential injection, response bounds, sanitization, and permanent evidence receipt.
Direct-search prerequisites
- The standalone wrapper defaults to its separately tested CLI version
0.0.30. This is not the Auto Research workspace runtime. Managed research resolves its exact version from the immutable setup plan or runtime-lock.json and must use the broker. Set TIANGONGAICLIBIN to one exact executable path, or TIANGONGAI_CLI to an explicitly reviewed command, only when overriding the standalone entrypoint intentionally.
- Put the source-specific key in
TIANGONGSCIAPIKEY, or use
TIANGONGAIAPIKEY as the common fallback. Credentials are never accepted in wrapper JSON, a request file, or CLI arguments.
jq is required by the wrapper.
- Optional endpoint variables are
TIANGONGSCISEARCH_URL,
TIANGONGRESEARCHAPIBASEURL, TIANGONGAISEARCHAPIBASEURL, or TIANGONGAIAPIBASEURL; TIANGONGREGION and TIANGONGRESEARCHTIMEOUT are also supported.
Direct query
export TIANGONG_SCI_APIKEY='owner-authorized key'
./scripts/sci_search.sh '{
"query": "mechanical recycling reduces lifecycle emissions",
"top_k": 5,
"get_meta": true
}'
The wrapper invokes the pinned CLI equivalent of:
npx --yes @tiangong-ai/[email protected] research search \
--query <query> --sources sci --json
To write a result, pass one explicit output path as the second argument. The wrapper writes a unique temporary file and renames it only after the CLI exits successfully; it never reports success based on file existence alone.
Exact request payload
Inline supported edge-function fields are converted to a temporary request file:
{
"query": "critical metal material flows",
"filter": {
"journal": ["JOURNAL OF INDUSTRIAL ECOLOGY"]
},
"datefilter": {
"date": { "gte": 1262304000 }
},
"topK": 5,
"extK": 2,
"getMeta": true
}
Or reference an existing regular non-symlink JSON file:
./scripts/sci_search.sh '{
"request_file": "/absolute/path/to/sci-request.json",
"dry_run": true
}'
filter accepts metadata term arrays. datefilter accepts numeric gte/lte ranges. topK, extK, and getMeta are the raw service names; topk, extk, and get_meta are convenience query-mode names.
Optional dotenv loading
An explicit envfile must exist, be a regular non-symlink file, and have owner-only permissions (chmod 600). If requestfile is supplied without an explicit env file, a same-directory .env is loaded only when it exists and passes the same checks. Existing process variables win.
The parser does not execute shell syntax and loads only documented Tiangong key, endpoint, region, and timeout names. All other keys are ignored. Never put an agent key, browser cookie, Authorization header, session token, proxy password, or unrelated secret in this file.
Accepted wrapper fields
query, input, or claim;
requestfile or inputfile;
env_file;
execution_mode, only standalone and only after an explicit isolated-query
request when a managed workspace is detected;
filter, datefilter, topK, extK, getMeta;
topk, extk, get_meta in query mode;
sources, only sci or default;
apibaseurl, sci_url, region, timeout as non-secret routing values;
dry_run.
Any key that looks like an API key, token, Authorization, Cookie, password, credential, secret, or session is rejected recursively before the CLI starts. The wrapper does not echo rejected values or failed command stdout.
Auto Research broker call
After research setup has selected and configured this Skill, discovery uses:
{
"capability_id": "database.tiangong.sci-search",
"url": "<the exact manifest endpoint>",
"request_body": {
"query": "research claim",
"topK": 5,
"getMeta": true
}
}
Use only documented non-secret request fields. Never add the API key, headers, cookies, endpoint override, or token to request_body. The broker injects the logical tiangong.sci.api-key as x-api-key, sends the locked x-region, refuses POST redirects, and records only the request-body SHA-256 outside the permanent raw response object. This database supplements but does not replace Auto Research's independent public-internet evidence requirement.