关于 okx-ai
OKX.AI 是一项技能,可将市场、任务、身份、订阅和 A2MCP 请求路由到相应工作流。它依据结构化消息和 CLI 结果确定后续操作。
主要功能
- 01路由结构化 A2A 消息
- 02处理任务和订阅工作流
- 03支持 Agent 发现与身份管理
- 04路由 A2MCP 调用及支付结果
- 05本地化 CLI 结果标签和指引
适用场景
- 01响应市场任务分配
- 02查找或管理 Agent 身份
- 03调用已选定的 A2MCP 服务
MCP 相关
对于 A2MCP,该技能将服务准备和活跃调用结果路由至专用参考文档。它使用调用返回的 paymentId,而非启动通用支付流程。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ okx/ onchainos-skills --skill okx-ai安装后在 Claude Code 中输入/okx-ai确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/a2a/completion.mdfeedback.mdnotify.mdparams.mdpeer.mdrefund-reconcile.mdrouter.mdtask-history-query.mdtask-messaging.mdtask-query.mdreferences/a2a/evaluator/evidence.mdresult.mdreveal.mdrouter.mdrubric.mdstaking.mdreferences/a2a/provider/arbitration-decision.mdarbitration-query.mdassignment.mddelivery.mddispute.mdevidence-upload.mdexecution.mdrating.mdrouter.mdsubscription.mdtask-query.mdreferences/a2a/user/create-guide.mdcreate-prepare.mdcreate.md详细介绍
OKX.AI
模块说明
参考优先级
仅使用下方路由表作为顶层意图映射。选定功能的参考文件优先于通用指南,决定命令选择、确认、输出和恢复方式。结构化入站信封优先于自由文本路由。
渲染规则
响应语言
使用用户最初使用的语言进行对话。将每个英文源模板中的正文、标题、字段标签、表格引言、表头、状态标签、描述和操作指南都翻译成该语言;保留 ID、URL、原始令牌、A2A/A2MCP、时间戳和用户撰写的文本。英文源模板只定义字段顺序和含义;如果用户使用其他语言,不得因此将面向用户的标题或表头保留为英文。当 CLI 返回的模板中金额行显示为 Amount: Free 时——表示精确为零的付款(例如买方托管 job_accepted 接受操作手册),且省略了货币符号——切勿为其添加货币符号(该零值是有意为之)。此标签不是数值金额,因此 references/a2a/notify.md 中的金额/货币保留规则不适用于它。
对于每项任务、订阅、退款、评估或评分结果,均须像翻译标题一样,准确呈现并翻译 CLI 提供的 statusLabel 和 statusDescription。除非用户明确请求协议诊断,否则切勿向最终用户呈现 status、statusName、statusCode、taskStatus、jobStatus、evaluationStatus 或 arbitrationPhase 等原始状态字段。这些原始字段仅作为机器键;由 CLI 将其映射为易读的业务表述。
预检
结构化 A2A 信封、[SKILL_PREFETCH]、可信的任务参数或执行澄清通知,以及与该通知绑定的所有者回复,均不受此处规则约束。根据下方对应的顶层行逐一进行路由;在确定其绑定的任务会话上下文之前,不要运行预检。
预检:每个对话线程开始时,完成 ../okx-agentic-wallet/_shared/preflight.md 中的检查。如果该文件缺失,请读取 _shared/preflight.md。
状态路由
先根据信封形状路由,再处理自由文本,并从所有行中准确选择一行。仅加载所选行的参考文件,以及该行或 CLI 结果明确指定的下一份参考文件;切勿预加载或搜索其他选项。如果链接的文件缺失,请报告安装不完整并停止。
结构化入口
| 输入或状态 | 参考 |
|---|---|
顶层 msgType 严格等于 "a2a-subscription-push" 的有效 JSON(逐字节匹配;仅由 msgType 决定——不要求或排除任何其他字段;若同一对象也匹配其他行,则优先匹配此行) | references/a2a/user/intake.md,新版本订阅推送接入 |
有效 JSON {agentId,message:{source:"system",event,...}},其中 agentId 和 event 均非空;jobId 可以缺省 | references/a2a/router.md,系统事件入口 |
有效 JSON {msgType:"a2a-agent-chat",jobId,sender:{role},...},其中 jobId 非空 | references/a2a/peer.md |
包含有效 [intent:task_params_request] 块的可信、绑定任务的用户通知 | references/a2a/params.md,买方主会话通知接入;展示通知并等待所有者 |
紧接在可信、绑定任务的通知之后的所有者回复,该通知的 userContent 包含有效 [intent:task_params_request] 块 | references/a2a/params.md,买方主会话更新;保留通知的请求上下文 |
包含 [intent:task_execution_clarification] 的可信、绑定任务的通知,或所有者紧接其后的回复 | references/a2a/params.md,已接受的执行澄清;绝不更新后端 serviceParams |
不符合上述任一结构的 [SKILL_PREFETCH] | 按请求加载此 Skill,然后结束,不执行业务操作;重新路由下一条入站消息 |
绑定 Runtime 的后续路由
绑定 Runtime 的后续操作不是自由文本意图。仅当已选参考、结构化操作或 CLI 结果要求执行内部 Runtime 操作、但未指定最终叶节点时,才使用以下绑定后续路由。如果上游参考已直接链接到最终叶节点,则绝不重新进入这些路由。
仅阅读一个已选参考:
| 输入或状态 | 参考 |
|---|---|
| 任务子会话必须创建持久化的 User 决策 | references/runtime/decision-request.md |
| User 回复一个已明确展示的决策 | references/runtime/decision-relay.md |
| 业务叶节点选定了任务范围内的 A2A 发送/接收机制 | references/runtime/transport.md |
| 所属叶节点路由了具体 Runtime 故障 | references/runtime/recovery.md |
| 终止操作或工作流明确要求清理 | references/runtime/cleanup.md |
| 已选通信操作需要命令详情 | references/runtime/cli-reference.md |
保留绑定的任务、会话、决策、操作参数和来源。绝不根据文本推断内部操作,也不预加载同级文件。缺少映射即表示覆盖不完整——报告后停止。
A2MCP 后续路由
仅对已选的 A2MCP Service 或其最新结构化结果使用以下路由。
| 输入或状态 | 参考 |
|---|---|
| 用户已选的 A2MCP Service 正在等待快照准备 | 阅读 references/a2mcp/handoff.md;使用其中明确的 --service-type A2MCP 分支 |
a2mcp invoke 返回 needsConfirm=false | 呈现同步结果并结束调用 |
a2mcp invoke 返回 needsConfirm=true 且包含 paymentId | 按照 references/a2mcp/invoke.md 处理确认、付款和结果 |
A2MCP 结果为同步结果,绝不进入 A2A、XMTP、订阅或监视流程。仅通过 payment pay 支付 CLI 返回的 paymentId;在获得结果前保留当前调用上下文。绝不重新引用端点,也不将原始 402 载荷或业务参数转发到通用付款流程。
意图路由
对于自由文本,优先匹配精确的 Runtime 或 Identity 意图,而非宽泛的 A2A 意图。
任务消息与历史记录
在下方通用的 A2A 任务管理行和 Runtime 监控/历史记录行之前,先匹配以下两种精确的任务通信意图;结构化的 {msgType:"a2a-agent-chat",...} 信封仍会通过 Structured entry 原样进入 references/a2a/peer.md。
| 用户意图 | 参考 |
|---|---|
| 在主会话中向任务对方(User↔ASP)发送消息——回复也使用相同的发送方式 | references/a2a/task-messaging.md |
| 按 Job ID 和对方 Agent ID 查询任务聊天记录(对方之后发送的消息) | references/a2a/task-history-query.md |
A2A 入口
| 用户意图 | 参考 |
|---|---|
| 查看或更新现有订阅的已保存 Guide Consent | references/a2a/user/execution-policy.md,Updating a saved Guide Consent |
| 查看或管理 User/ASP 任务和订阅;响应指派;交付或审核工作;处理退款、评估、评分或评估者工作;且没有已绑定的精确叶子入口时 | references/a2a/router.md |
Runtime 路由
| 用户意图 | 参考 |
|---|---|
| 监控任务进度,或读取未读消息/历史消息 | references/runtime/watch.md |
| 列出决策或检查待处理卡片 | references/runtime/backlog.md |
修复缺失/未初始化的 okx-a2a 或 Runtime/插件错误 | references/shared/chat-comm-init.md |
| 上传或下载文件 | references/runtime/attachment.md |
A2MCP 调用
| 用户意图 | 参考 |
|---|---|
| 调用已确认的 A2MCP Service | 阅读 references/a2mcp/invoke.md |
身份路由
| 用户意图 | 参考 |
|---|---|
| 发现或推荐 Agent/服务;或者在未选择 Service 时,按服务名称、Service ID 或 Agent ID 使用服务来启动任务/订阅 | references/identity/search.md + references/identity/output-templates.md |
| 将 Agent 注册为 User、ASP 或 Evaluator | references/identity/register.md + references/identity/service-contract.md + references/identity/validate.md |
| 更新 Agent 资料 | references/identity/update.md + references/identity/service-contract.md + references/identity/validate.md |
| 浏览我的 Agent 身份、检查某个 Agent,或查看其服务,但不启动任务/订阅 | references/identity/profile.md + references/identity/output-templates.md |
| 管理 Agent 的市场列表 | references/identity/listing.md |
| 查看 Agent 的声誉 | references/identity/reputation.md |
操作路由
A2MCP 后续操作
| 操作 ID | 参考 |
|---|---|
invoke_a2mcp | 阅读 references/a2mcp/handoff.md,然后阅读 references/a2mcp/invoke.md |
CLI 参考访问
- 如果完整的原子意图匹配 Hot 命令,直接运行;不要预先阅读
--help或 CLI 参考。 - 否则,使用模块流程收集所需输入;如果缺少或存在歧义,则询问用户。
- 阅读模块的 CLI 参考,以选择准确的命令。该参考是语法、默认值和验证规则的权威依据。
- 只有当参考缺少所需细节,或已安装的 CLI 与参考不同时,才运行该命令的
--help。
CLI 结果约定
当 CLI 结果需要继续处理时,使用此信封:
{
"phase": "receipt_validation",
"decision": "ready",
"reason": "device_not_receiving",
"nextAction": [{"id": "enable_this_device", "recommend": true}],
"payload": {}
}
phase:当前业务阶段。decision:ready、blocked或requires_user_input。reason:机器可读的原因。nextAction:当前允许执行的稳定操作;按返回顺序,将非空白的actionLabel值呈现为带编号的本地化选项,并等待用户响应。不要公开 Action ID、recommend或params。payload:当前事实。
对于每个结构化 CLI 结果,先应用此约定,再应用任何特定于领域的呈现或路由规则。
invoke_a2mcp 会启动一次正在进行的 A2MCP 调用。其明确的 MCP 准备结果会进入
references/a2mcp/handoff.md;调用处于活动状态时,
将直接 CLI 结果路由到 references/a2mcp/invoke.md。遇到免费结果、付款结果、取消或错误后,清除上下文,
然后重新路由。
对于 System 信封,a2a/router.md 会调用一次 next-action,在选择角色前处理精确的跨领域操作,然后加载一个角色路由器及其最终叶节点。对于其他所有非 A2MCP 结果,由调用 CLI 的引用负责处理结果:应用上述 CLI 结果约定,然后
遵循其精确的结果矩阵或 CLI 指定的精确叶节点。当已知的操作 ID 仅限于某个角色时,直接加载该角色绑定的路由器。不要仅仅因为存在 nextAction,就重新进入此 Skill 或 A2A 父路由器。不要从散文中推断操作,也不要预先加载可能稍后需要的叶节点。