Skill 宿主
适合 Cursor、Claude Code 的技能目录。OpenClaw 与 Hermes 在「本地 Agent 宿主」分区;每张卡片都先给出安装命令。
打开 Skill 宿主SellToAI 是商家进入 AI 场域的桥。把下面对应你 Agent 宿主的 SDK / SKILL / MCP / OpenAPI 片段复制进去,SellToAI 就会把每一句购物对话翻译成结构化 intent,让你的店用真实 offer 回答——不是链接。生产环境调用 `/v1/*` 时,去开发者控制台创建 Bearer API key。
还没安装或配置这些宿主?先看官方文档:
大多数团队只需要先接一层。先选你已经在用的宿主或协议,复制第一段即可;只有在需要 merchant-side negotiation 时,再往更深的 workflow 走。
适合 Cursor、Claude Code 的技能目录。OpenClaw 与 Hermes 在「本地 Agent 宿主」分区;每张卡片都先给出安装命令。
打开 Skill 宿主适合 ChatGPT 和 Gemini。贴一个 manifest URL,就能在托管工具体系里直接调用网关。
打开 OpenAPI 应用适合 Codex 和 Claude Desktop。加一段 `mcpServers` 配置,就能把 SellToAI 当本地工具调用。
打开 MCP 配置Hermes 与 OpenClaw 同在「本地 Agent 宿主」分区。若只需要原始 REST,完成宿主配置后可跳到文末「Anything else」。
打开 Hermes / A2A 流程这一页所有渠道化指南,背后共用的都是下面这些入口。
https://selltoai.ai/openapi.json
https://selltoai.ai/.well-known/agent-card.json
https://selltoai.ai/skills/install.sh
https://selltoai.ai/v1
一行 curl 把 SellToAI Shop 技能丢进 OpenClaw。新会话即用。
curl -fsSL https://openclaw.ai/install.sh | bash
# Already have Node 22+? Alternative:
# npm install -g openclaw@latest
curl -fsSL https://selltoai.ai/skills/install.sh | bash
mkdir -p ~/.openclaw/skills/moras-shop && \
curl -fsSL https://selltoai.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 把 SellToAI 登记为远程 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://selltoai.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://selltoai.ai/v1/recommend?intent=...&channel=hermes (no JSON-RPC).
https://selltoai.ai/.well-known/agent-card.json
curl -X POST https://selltoai.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://selltoai.ai/a2a/tasks/TASK_ID/events
Cursor 从 ~/.cursor/skills 加载 Agent 技能。与 OpenClaw 使用同一行命令。
curl -fsSL https://selltoai.ai/skills/install.sh | bash
> use the moras-shop skill — find me a portable blender
Claude Code 技能位于 ~/.claude/skills。相同安装脚本,目标目录不同。
curl -fsSL https://selltoai.ai/skills/install.sh | bash
recommend trending pet products on TikTok Shop
ChatGPT 直接吃 OpenAPI 3.0 manifest。把这个 URL 贴进 Custom GPT 或 Apps SDK 配置后,再配置 Bearer auth。
https://selltoai.ai/openapi.json
Authentication type: API Key
Auth type: Bearer
Header: Authorization: Bearer MA2A.xxx
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;受保护的 /v1/* 调用配置 Bearer auth。
https://selltoai.ai/openapi.json
recommend a small birthday gift for a 5 year old
Codex 和 Claude Desktop 可以把 SellToAI MCP 包装当作 stdio 子进程拉起。把下面这段加到 MCP 配置里。
{
"mcpServers": {
"moras-shop": {
"command": "npx",
"args": ["-y", "moras-a2a-mcp@latest"],
"env": {
"MORAS_A2A_BASE_URL": "https://selltoai.ai",
"MORAS_A2A_CHANNEL": "codex"
}
}
}
}
cd /path/to/moras-A2A && npm install
MORAS_A2A_BASE_URL=https://selltoai.ai node bin/mcp.js
可以直接调 REST:既覆盖买方 discovery,也覆盖商家侧的 exchange 对象。
curl 'https://selltoai.ai/v1/recommend?intent=birthday%20gift%20for%205%20year%20old&limit=3' \
-H 'Authorization: Bearer MA2A.xxx' \
-H 'X-Channel: my-agent'
curl -X POST https://selltoai.ai/v1/developers/register \
-H 'Content-Type: application/json' \
-d '{"display_name":"My Agent","contact_email":"[email protected]","password":"change-me-now","company":"Example Labs"}'
curl https://selltoai.ai/v1/developers/me \
-H 'Authorization: Bearer moras_dev_xxx'
curl 'https://selltoai.ai/v1/developers/logs?limit=20' \
-H 'Authorization: Bearer moras_dev_xxx'
curl -X POST https://selltoai.ai/v1/intents \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer MA2A.xxx' \
-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://selltoai.ai/v1/merchant/register \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer MA2A.xxx' \
-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://selltoai.ai/v1/agents/register \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer MA2A.xxx' \
-H 'X-Channel: agent-registry' \
-d '{"agent_id":"payment_demo","agent_type":"payment","endpoint":"https://example.com/a2a","protocols":["a2a-jsonrpc","webhook"],"auth_methods":["intent_mandate"],"capability_profile":{"payment":{"create_checkout":true}}}'
curl 'https://selltoai.ai/v1/agents?agent_type=payment&status=active' \
-H 'Authorization: Bearer MA2A.xxx'
curl -X POST https://selltoai.ai/v1/proposals \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer MA2A.xxx' \
-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://selltoai.ai/v1/match \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer MA2A.xxx' \
-H 'X-Channel: my-agent' \
-d '{"intent_id":"int_xxx","proposal_ids":["prp_xxx","prp_yyy"],"limit":3}'
curl -X POST https://selltoai.ai/v1/commerce-runtime \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer ***' \
-H 'X-Channel: my-agent' \
-d '{"runtime_session":{"entry_agent_id":"my-agent","mode":"assisted_commerce"},"commerce_budget":{"max_merchant_queries":3,"require_user_confirmation_before_payment":true},"skill_refs":["enterprise_gifting_sop"],"intent":{"raw_query":"birthday gift for a 5 year old","region":"US","audience":"parent"},"proposal":{"merchant_agent_id":"moras-core","product_id":"demo-gift","offer_title":"Curated birthday gift bundle","price":29.99}}'
curl -X POST https://selltoai.ai/v1/agentic-checkout \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer ***' \
-H 'X-Channel: my-agent' \
-d '{"buyer_agent_id":"gpt-shopper-agent","raw_query":"birthday gift for a 3 year old nephew under $40","region":"US","commerce_budget":{"max":40,"currency":"USD"},"proposal":{"merchant_agent_id":"toy-merchant-agent","product_id":101,"title":"Montessori Wooden Animal Puzzle","price":28.5,"currency":"USD","checkout_url":"https://merchant.example/checkout/puzzle-101","commission_plan":{"type":"success_fee","rate_bps":1200,"currency":"USD"}}}'
curl -X POST https://selltoai.ai/v1/agentic-checkout/chk_xxx/confirm \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer ***' \
-H 'X-Channel: my-agent' \
-d '{"match_token_id":"mtk_xxx","proposal_id":"prp_xxx","expected_amount":28.5,"currency":"USD","buyer_confirmation":{"confirmed_by":"gpt-shopper-agent","consent":true,"user_visible_summary":"Buy Montessori Wooden Animal Puzzle for $28.50."}}'
curl -X POST https://selltoai.ai/v1/match/mch_xxx/accept \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer MA2A.xxx' \
-H 'X-Channel: my-agent' \
-d '{"proposal_id":"prp_xxx"}'
curl https://selltoai.ai/v1/match-tokens/mtk_xxx \
-H 'Authorization: Bearer MA2A.xxx'
curl -X POST https://selltoai.ai/v1/decision-events \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer MA2A.xxx' \
-H 'X-Channel: my-agent' \
-d '{"event_type":"proposal.remixed","intent_id":"int_xxx","proposal_id":"prp_xxx","action":"change_color","from":"black","to":"cream","reason":"prefers warm minimalist tone","actor_agent_id":"user-agent"}'
curl -X POST https://selltoai.ai/v1/experience-feed \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer MA2A.xxx' \
-H 'X-Channel: my-agent' \
-d '{"agent_id":"user-agent","taste_profile":{"visual_preferences":["warm minimalist","cream palette"],"negative_preferences":["glossy plastic"]},"inspiration_refs":[{"source":"pinterest","url":"https://example.test/pin/1","scene":"small apartment"}],"limit":3}'
curl -X POST https://selltoai.ai/v1/intent-mandates/sign \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer MA2A.xxx' \
-d '{"product_id":"3003","amount_limit":129.99}'
curl https://selltoai.ai/v1/cards/rec_xxxxxxxx \
-H 'Authorization: Bearer MA2A.xxx'
curl 'https://selltoai.ai/v1/creators/eva_creator/showcase?limit=6' \
-H 'Authorization: Bearer MA2A.xxx'
X-Channel: <your-agent-slug>