跳转到主要内容
AIsa 发布了三个 machine-readable discovery endpoints,让 autonomous agents 可以在没有人工介入的情况下发现、理解并调用 AIsa 的能力。本指南会逐一介绍这些 endpoint,解释集成流程,并提供 Python、TypeScript 和 bash 的可运行代码示例。

Discovery Endpoints

AIsa 暴露以下 well-known URLs 用于 agent discovery。三者都可公开访问,读取时无需认证,并包含 permissive CORS headers,因此 browser-based agents 可以直接 fetch。
EndpointProtocolURLPurpose
Agent CardGoogle A2Ahttps://aisa.one/.well-known/agent-card.json主要 discovery 入口——发布 13 个 skills 及其 metadata、tags 和 I/O modes
AI PluginOpenAI Plugin (v1)https://aisa.one/.well-known/ai-plugin.json兼容 ChatGPT 时代的 agent tooling
OpenAPI SpecOpenAPI 3.1.0https://aisa.one/openapi.yaml覆盖 111+ API paths 和 121 schemas 的 machine-readable specification

Agent Discovery 如何工作

Discovery flow 包含三个步骤:discoverinspectinvoke。autonomous agent 会先获取 agent card,了解 AIsa 能做什么;然后选择相关 skill;最后根据 OpenAPI spec 中的 request/response schemas 调用对应 API endpoint。
1

Discover

Agent 从 aisa.one 获取 /.well-known/agent-card.json。响应中包含 skills 列表,每个 skill 都有 idnamedescriptiontagsexamples。agent 使用这些 metadata 判断 AIsa 是否能完成当前任务。
2

Inspect

Agent 识别出相关 skill 后,会获取 /openapi.yaml,以取得对应 API endpoints 的完整 request/response schema。OpenAPI spec 提供 parameter types、required fields、authentication requirements 和 example payloads。
3

Invoke

Agent 使用 OpenAPI spec 中的 schema 构造 authenticated API request,将其发送到 api.aisa.one,并处理响应。所有 endpoint 都使用 AIsa API key 的 Bearer token authentication。

A2A Agent Card

Google Agent-to-Agent (A2A) protocol 定义了 agents 发布自身能力的标准格式。AIsa 的 agent card 位于 well-known URL,描述平台、认证要求和完整 skill catalogue。

获取 Agent Card

curl -s https://aisa.one/.well-known/agent-card.json | jq .
import requests

card = requests.get("https://aisa.one/.well-known/agent-card.json").json()
print(f"Agent: {card['name']}{card['description']}")
print(f"Skills: {len(card['skills'])}")
for skill in card["skills"]:
    print(f"  • {skill['id']}: {skill['name']}")
const res = await fetch("https://aisa.one/.well-known/agent-card.json");
const card = await res.json();
console.log(`Agent: ${card.name}${card.description}`);
console.log(`Skills: ${card.skills.length}`);
card.skills.forEach((s: any) => console.log(`  • ${s.id}: ${s.name}`));

Agent Card Structure

顶层字段描述 agent identity、authentication 和 capabilities:
FieldTypeDescription
namestringAgent name — "AIsa"
descriptionstringAgent 目的的一句话摘要
urlstringAPI requests 的 base URL — https://api.aisa.one
providerobjectOrganization name 和 website
versionstringAgent card 的 semantic version
documentationUrlstringHuman-readable documentation 链接
capabilitiesobjectFeature flags — streaming、push notifications、state history
authenticationobjectSupported auth schemes 和 credential instructions

Skill Objects

skills array 中的每一项都描述一个 capability:
FieldTypeDescription
idstring唯一 skill identifier(例如 chat-completionstwitter-autopilot
namestringHuman-readable skill name
descriptionstringskill 做什么以及提供什么数据
tagsstring[]用于 filtering 和 matching 的 searchable tags
examplesstring[]该 skill 可处理的 natural-language example queries
inputModesstring[]接受的 content types(默认 application/json
outputModesstring[]Response content types(例如 application/jsontext/event-stream

Available Skills

AIsa 目前通过 agent card 发布 13 个 skills:
Skill IDNameTags
chat-completionsAI Model Inferenceinference, llm, ai-models, text-generation, chat
twitter-autopilotTwitter/X Autopilotsocial-media, twitter, x, search, automation, posting
marketpulseMarketPulse Financial Datafinance, stocks, equities, market-data, sec-filings
prediction-market-dataPrediction Market Dataprediction-markets, polymarket, kalshi, trading
prediction-market-arbitragePrediction Market Arbitragearbitrage, prediction-markets, trading, analysis
multi-source-searchMulti-source Searchsearch, web-search, academic-search, research
perplexity-searchPerplexity Searchsearch, perplexity, sonar, answers, citations
youtube-serpYouTube SERPyoutube, video-search, social-media, serp
media-genMedia Generationimage-generation, video-generation, creative, ai-art
last30daysLast 30 Days Research Briefresearch, news, aggregation, analysis, report
tavily-searchTavily Web & News Searchsearch, news, web-search, tavily
image-generationImage Generationimage-generation, ai-art, editing, creative
video-generationVideo Generationvideo-generation, ai-video, creative, wan

OpenAI Plugin Manifest

为了兼容实现原始 ChatGPT plugin protocol 的 agent frameworks,AIsa 也在 /.well-known/ai-plugin.json 发布了一个 ai-plugin.json manifest。该文件遵循 OpenAI plugin schema v1,并引用同一份 OpenAPI spec。
curl -s https://aisa.one/.well-known/ai-plugin.json | jq .
manifest 包含 description_for_model 字段,列出关键 API endpoints,帮助 LLM-based agents 在不解析完整 OpenAPI spec 的情况下理解可用 tools。

OpenAPI 3.1 Specification

/openapi.yaml 上的 consolidated OpenAPI spec 覆盖了按 10 个 categories 组织的全部 111+ AIsa API paths。它是构造 API requests 的权威 machine-readable contract。

获取并解析 Spec

import yaml, requests

spec = yaml.safe_load(requests.get("https://aisa.one/openapi.yaml").text)
paths = list(spec["paths"].keys())
print(f"Total endpoints: {len(paths)}")
print(f"First 5: {paths[:5]}")
import YAML from "yaml";

const res = await fetch("https://aisa.one/openapi.yaml");
const spec = YAML.parse(await res.text());
const paths = Object.keys(spec.paths);
console.log(`Total endpoints: ${paths.length}`);
curl -s https://aisa.one/openapi.yaml | head -50

API Categories

spec 把 endpoints 组织为以下 tag groups:
CategoryExample EndpointsDescription
AI Models/v1/chat/completions, /v1/models实时 LLM 和 media model catalogue、OpenAI-compatible chat routes
Twitter/X/apis/v1/twitter/tweet/advanced_searchProfile、timeline、search、posting
Financial Data/apis/v1/financial/prices, /apis/v1/financial/sec-filingsEquities、SEC、earnings、screening
Web & News Search/apis/v1/tavily/search, /apis/v1/search/smartMulti-source 和 Tavily search
Prediction Markets/apis/v1/polymarket/events, /apis/v1/kalshi/marketsPolymarket 和 Kalshi data
Crypto Data/apis/v1/coingecko/simple/priceCoinGecko market data
Image Generation/v1/images/generationsGPT、Seedream、Wan 和其他 image-capable routes
YouTube Search/apis/v1/youtube/searchYouTube SERP
Scholar Search/apis/v1/scholar/search/scholarAcademic paper search

End-to-End Integration Example

下面的 Python 示例演示完整的 discovery-to-invocation flow。autonomous agent 会发现 AIsa 的能力,识别 chat-completions skill,并发起 authenticated API call。
import requests

# Step 1: Discover — fetch the agent card
card = requests.get("https://aisa.one/.well-known/agent-card.json").json()

# Step 2: Find a skill by tag
target_tag = "llm"
matching = [s for s in card["skills"] if target_tag in s.get("tags", [])]
if not matching:
    raise RuntimeError(f"No skill found with tag '{target_tag}'")

skill = matching[0]
print(f"Selected skill: {skill['name']} ({skill['id']})")

# Step 3: Invoke — call the API using the base URL from the card
response = requests.post(
    f"{card['url']}/v1/chat/completions",
    headers={
        "Authorization": "Bearer YOUR_AISA_API_KEY",
        "Content-Type": "application/json",
    },
    json={
        "model": "gpt-5-mini",
        "messages": [
            {"role": "user", "content": "Summarize the A2A protocol in two sentences."}
        ],
    },
)

result = response.json()
print(result["choices"][0]["message"]["content"])

Authentication

所有 AIsa API endpoints 都需要 Bearer token authentication。请在每个 request 的 Authorization header 中包含你的 API key:
Authorization: Bearer YOUR_AISA_API_KEY
AIsa dashboard 生成 API key。关于 scoping、rotation 和 secure storage 的详细 key management 指南,请参阅 Authentication
Discovery endpoints(agent-card.jsonai-plugin.jsonopenapi.yaml)可公开读取,无需认证。不过,对 api.aisa.one 的所有 API calls 都需要有效 Bearer token。

Integration Patterns

Pattern 1: Tag-Based Skill Matching

Agents 可以使用 tags array 把任务匹配到 skills。对于需要在运行时动态选择 capabilities 的 agents,这是推荐方式。
def find_skills_by_tags(card, required_tags):
    """Return skills that match ALL required tags."""
    return [
        skill for skill in card["skills"]
        if all(tag in skill.get("tags", []) for tag in required_tags)
    ]

# Find skills for financial research
finance_skills = find_skills_by_tags(card, ["finance", "stocks"])
# Returns: [MarketPulse Financial Data]

Pattern 2: Example-Based Intent Matching

对于 LLM-powered agents,examples 字段提供 natural-language queries,可用于和用户 intent 做 semantic similarity matching。
# Collect all examples with their skill IDs
example_index = []
for skill in card["skills"]:
    for example in skill.get("examples", []):
        example_index.append({"text": example, "skill_id": skill["id"]})

# Use an embedding model to find the closest match to the user's query
# user_query = "What's the stock price of Apple?"
# → Matches MarketPulse skill via "Get the current stock price for AAPL"

Interactive Explorer

AIsa 提供两个 browser-based tools 来探索 discovery surface:
  • API Explorer — 用于浏览、测试和集成全部 111+ endpoints 的交互式 Swagger UI,包含 live request/response examples。
  • Agent Discovery — 可视化 skill explorer,支持 search 和 tag filtering,并提供 integration code examples。

CORS Support

Discovery endpoints 包含 permissive CORS headers(Access-Control-Allow-Origin: *),因此 browser-based agents 和 web applications 可以无需 proxy server 直接 fetch。适用于:
  • /.well-known/agent-card.json
  • /.well-known/ai-plugin.json
  • /openapi.yaml

相关页面

Authentication

API key 生成、scoping、rotation 和 secure storage。

Agent Skills

浏览并安装适用于 Claude Code、Cursor 和 OpenClaw 的 composable skills。

Getting Started

几分钟内完成第一个 authenticated API request。