API リファレンス
検索 API
タスクの記述をランク付きの候補に変換します。ブロックされたケイパビリティは理由とともに返されるため、エージェントは何がどのような理由でフィルタリングされたかを理解できます。
POST
/v1/capabilities/searchリクエストボディ
| フィールド | 説明 |
|---|---|
| query | 自然言語によるタスクの記述。 |
| agent_runtime | 呼び出し元のランタイム(例:claude-code、cursor)。ランタイムを考慮したランク付けに使用します。 |
| locale | 優先するロケール(例:en、zh-CN)。 |
| risk_tolerance | read_only | write | destructive。これを上回るリスクの候補は除外または降格されます。 |
| latency_budget_ms | 想定レイテンシが予算を超える候補を除外します。 |
| require_freshness_seconds | このウィンドウより新しいプローブエビデンスを要求します。 |
| limit | 候補の最大数。1–50。既定は 10。 |
request.sh
curl -X POST http://101.32.68.30/v1/capabilities/search \
-H 'Authorization: Bearer $API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"query": "extract tables from a PDF into CSV",
"agent_runtime": "claude-code",
"locale": "en",
"risk_tolerance": "read_only",
"latency_budget_ms": 10000,
"limit": 10
}'応答
3 つのバケットに分かれます。recommended(これらを呼び出す)、fallbacks(推奨が失敗した場合に使用)、blocked(理由コードとともに除外)です。スコアを持つすべての項目には confidence、evidence_level、valid_until が付与されます。来歴のないスコアが返されることはありません。
response.json
{
"query_id": "q_123",
"recommended": [
{
"capability_id": "cap_pdf_extract_table",
"action": "extract_table",
"interface_type": "mcp_remote",
"invoke_now_score": 0.87,
"task_success_score": 0.82,
"confidence": 0.76,
"status": "routeable",
"valid_until": "2026-06-10T12:31:00Z",
"evidence_level": "E4_protocol_probe_passed",
"risk_level": "read_only",
"requires_user_confirmation": false,
"reason_codes": ["recent_probe_ok", "static_audit_passed"],
"warnings": ["low_real_invocation_sample"]
}
],
"fallbacks": [
{
"capability_id": "cap_slow_but_local_cli",
"action": "extract_table",
"interface_type": "cli",
"invoke_now_score": 0.61,
"confidence": 0.70,
"status": "fallback",
"evidence_level": "E3_sandbox_install_passed",
"reason_codes": ["local_execution_available"],
"warnings": ["high_latency_observed"]
}
],
"blocked": [
{
"capability_id": "cap_prompt_injection_skill",
"reason_codes": ["prompt_injection_detected"]
}
]
}