Skill 宿主
适合 Cursor、Claude Code 的技能目录。OpenClaw 与 Hermes 一起在「本地 Agent 宿主」分区,每张卡片最上面是先装宿主的一键命令。
打开 Skill 宿主接入路径
这里既有 builder snippets,也有 merchant-agent workflow 示例。逐段复制即可;公开 discovery 面无需 API key。
还没安装或配置这些宿主?先看官方文档:
大多数团队只需要先接一层。先选你已经在用的宿主或协议,复制第一段即可;只有在需要 merchant-side negotiation 时,再往更深的 workflow 走。
适合 Cursor、Claude Code 的技能目录。OpenClaw 与 Hermes 一起在「本地 Agent 宿主」分区,每张卡片最上面是先装宿主的一键命令。
打开 Skill 宿主适合 ChatGPT 和 Gemini。贴一个 manifest URL,就能在托管工具体系里直接调用网关。
打开 OpenAPI 应用适合 Codex 和 Claude Desktop。加一段 `mcpServers` 配置,就能把 Moras 当本地工具调用。
打开 MCP 配置Hermes 与 OpenClaw 同在「本地 Agent 宿主」分区。若只要裸 REST,装完宿主后可再翻到文末「Anything else」。
打开 Hermes / A2A 流程这一页所有渠道化指南,背后共用的都是下面这些入口。
https://a2a.moras.ai/openapi.json
https://a2a.moras.ai/.well-known/agent-card.json
https://a2a.moras.ai/skills/install.sh
https://a2a.moras.ai/v1
一行 curl 把 Moras shop 技能丢进 OpenClaw。新会话即用。
curl -fsSL https://openclaw.ai/install.sh | bash
# Already have Node 22+? Alternative:
# npm install -g openclaw@latest
curl -fsSL https://a2a.moras.ai/skills/install.sh | bash
mkdir -p ~/.openclaw/skills/moras-shop && \
curl -fsSL https://a2a.moras.ai/skills/moras-shop/SKILL.md \
-o ~/.openclaw/skills/moras-shop/SKILL.md
use the moras-shop skill: recommend a small birthday gift for a 5 year old kid
与 OpenClaw「丢一份 SKILL.md」不同,Hermes 走 A2A:用 Agent Card URL 把 Moras 登记为远程 Agent,再调 message/send 并在 metadata 里带 skill_id;若不想接 JSON-RPC,也可像普通 HTTP 客户端一样直接 GET /v1/recommend。
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
1) Register — In Hermes (or your CrewAI / AutoGen / LangGraph setup), add the Agent Card URL below as the Moras agent discovery endpoint. Exact setting name is in NousResearch docs; it is not a file path like ~/.openclaw/skills/.
2) Discover — Hermes fetches the JSON; shopping uses skill_id "recommend_products" (see "skills" in that file).
3) Invoke — POST https://a2a.moras.ai/a2a with jsonrpc "message/send" and message.metadata.skill_id (example in the next block). For async tasks, poll SSE as in the final block.
Shortcut — Same gateway: GET https://a2a.moras.ai/v1/recommend?intent=...&channel=hermes (no JSON-RPC).
https://a2a.moras.ai/.well-known/agent-card.json
curl -X POST https://a2a.moras.ai/a2a \
-H "Content-Type: application/json" \
-H "X-Channel: hermes" \
-d '{
"jsonrpc":"2.0",
"id":"req-1",
"method":"message/send",
"params":{
"message":{
"role":"user",
"parts":[{"kind":"text","text":"recommend a small birthday gift for a 5 year old kid"}],
"metadata":{"skill_id":"recommend_products","async":true,"limit":3}
}
}
}'
curl -N https://a2a.moras.ai/a2a/tasks/TASK_ID/events
Cursor 从 ~/.cursor/skills 加载 Agent 技能。与 OpenClaw 使用同一行命令。
curl -fsSL https://a2a.moras.ai/skills/install.sh | bash
> use the moras-shop skill — find me a portable blender
Claude Code 技能位于 ~/.claude/skills。相同安装脚本,目标目录不同。
curl -fsSL https://a2a.moras.ai/skills/install.sh | bash
recommend trending pet products on TikTok Shop
ChatGPT 直接吃 OpenAPI 3.0 manifest。把这个 URL 贴进 Custom GPT 或 Apps SDK 的配置即可。
https://a2a.moras.ai/openapi.json
Authentication type: None
When the user asks for a product recommendation, gift idea, or "what should I buy",
call recommendProducts with the user's intent paraphrased into one short English line.
Return each card's cta.primary.url verbatim — never rewrite the buy link.
Gemini Extension / Gems 也支持 OpenAPI。同一个 manifest URL,无需鉴权。
https://a2a.moras.ai/openapi.json
recommend a small birthday gift for a 5 year old
Codex 和 Claude Desktop 可以把我们的 MCP 包装当作 stdio 子进程拉起。把下面这段加到 MCP 配置里。
{
"mcpServers": {
"moras-shop": {
"command": "npx",
"args": ["-y", "moras-a2a-mcp@latest"],
"env": {
"MORAS_A2A_BASE_URL": "https://a2a.moras.ai",
"MORAS_A2A_CHANNEL": "codex"
}
}
}
}
cd /path/to/moras-A2A && npm install
MORAS_A2A_BASE_URL=https://a2a.moras.ai node bin/mcp.js
可以直接调 REST:既覆盖买方 discovery,也覆盖商家侧的 exchange 对象。
curl 'https://a2a.moras.ai/v1/recommend?intent=birthday%20gift%20for%205%20year%20old&limit=3' \
-H 'X-Channel: my-agent'
curl -X POST https://a2a.moras.ai/v1/intents \
-H 'Content-Type: application/json' \
-H 'X-Channel: my-agent' \
-d '{"raw_query":"birthday gift for a 5 year old","region":"US","audience":"parent","budget_range":{"max":35,"currency":"USD"}}'
curl -X POST https://a2a.moras.ai/v1/merchant/register \
-H 'Content-Type: application/json' \
-H 'X-Channel: merchant-onboarding' \
-d '{"merchant_id":"mch_demo","agent_endpoint":"https://example.com/webhook","subscription_tags":["outdoor"],"capabilities":["stock_check"],"regions":["US"]}'
curl -X POST https://a2a.moras.ai/v1/proposals \
-H 'Content-Type: application/json' \
-H 'X-Merchant-Token: mrt_xxx' \
-d '{"merchant_agent_id":"mch_demo","intent_id":"int_xxx","product_id":"123456789","offer_title":"Trail-ready lantern bundle","price":29.99,"inventory_status":"in_stock","shipping_commitment":{"eta_days":3}}'
curl -X POST https://a2a.moras.ai/v1/match \
-H 'Content-Type: application/json' \
-H 'X-Channel: my-agent' \
-d '{"intent_id":"int_xxx","proposal_ids":["prp_xxx","prp_yyy"],"limit":3}'
curl -X POST https://a2a.moras.ai/v1/match/mch_xxx/accept \
-H 'Content-Type: application/json' \
-H 'X-Channel: my-agent' \
-d '{"proposal_id":"prp_xxx"}'
curl https://a2a.moras.ai/v1/match-tokens/mtk_xxx
curl https://a2a.moras.ai/v1/cards/rec_xxxxxxxx
curl 'https://a2a.moras.ai/v1/creators/eva_creator/showcase?limit=6'
X-Channel: <your-agent-slug>