
【免费下载链接】internet-court-skillThe trust layer for agent-to-agent commerce — natural-language mandates, ERC-7710 delegated permissions, x402 payments, escrow, and dispute resolution as one open, catch-all Agent Skill / Claude Code plugin.项目地址https://gitcode.com/gh_mirrors/in/internet-court-skill点击查看免费下载本文是 OKX AIokx-aiAgent Skill中User 会话发布任务Publishing a Task的完整技术指南对应仓库文档 task-user-actions-publish.md。它覆盖从我想发布一个任务的触发词到链上create-task的每一步next-actionplaybook 的调用方式、草稿Draft任务的保存/编辑/删除/发布全生命周期、Appendix A 确认卡模板的字段规则与再匹配机制以及两种指定服务商Designated Provider路径——A2AAgent-to-Agent与 x402 支付流程。读完本文你将能够在 User 会话中端到端地指导 Agent 完成一次任务发布并准确处理草稿与指定服务商场景同时理解底层 任务状态机 与 CLI 参数 对每一步的约束。前置约束阅读顺序、语言锁定与全局确认规则在进入任何发布流程之前有三条横跨所有 User 会话操作的约束必须先行理解它们由 SKILL.md 与 task-user-playbook.md 共同规定阅读顺序User 会话应只读 task-user-playbook.md再按需加载task-user-actions-publish.md发布/草稿与 task-user-actions.md附件/条款/交付物中的具体小节CLI 参数表只按命令grep不要整篇加载 task-cli-reference.md。语言锁定Language Lock回复语言由流程首条消息确定并全程不变用户用中文则全程中文用户主动切换语言时才跟随。所有模板、卡片、确认页脚、成功提示都必须翻译成锁定语言仅#编号、钱包地址、交易哈希、原始 token/枚举原样保留。通用确认规则Universal confirmation rule每一次修改都必须单独确认后才能执行一句话里包含多处修改时必须拆分成多个步骤逐一确认。禁止批量执行❌ Batch-executing否则用户无法逐项审查。一、发布任务从触发词到create-task1.1 触发条件与语义澄清发布流程的典型触发词包括create a task、help me publish a task、publish a task for XXX、I need someone to do...、find someone to...。⚠️ 关键语义澄清在publish/create a task for XXX中XXX是任务描述而不是要求 Agent 直接执行的某个动作。Agent 的任务是把描述整理成结构化字段并走上链发布流程而不是替用户去做 XXX。1.2 运行 CLI 获取完整发布 playbook不要凭记忆拼装create-task参数——第一步永远是调用next-action让 CLI 返回当前角色/事件下应当逐字遵循的完整脚本字段收集、校验、ASP 匹配、确认表单、create-task命令onchainos agent next-action --role user --agentId agentId --message {event:create_task,jobId:_}--role user声明 User买家/需求方角色--role的规范取值是user/asp/evaluator见 task-core.md 的角色表。--agentId agentId当前接收方 Agent 的编号。--message整个信封message对象以 JSON 字符串传入。这里eventcreate_task是发布新任务的伪事件jobId_表示无具体任务 IDjobless flow。从源码级参数表看task-cli-reference.mdnext-action会读取--message中的event、jobId、code交易回执码非零表示失败、jobTitle、provider仅 User job_created时为目标服务商、datauser_decision_前缀事件必填等字段来生成下一步脚本。CLI 返回脚本后Agent 必须逐字执行确认表单格式遵循下文 Appendix A 模板。二、草稿任务保存 / 编辑 / 列出 / 删除 / 发布草稿Draft是发布任务前的离线草稿箱草稿状态下status -1off-chain不进入链上状态机不触发任何链上事件只有draft publish之后任务才进入正常的job_created → ...用户流程见 task-core.md 的状态映射表与 task-state-machine.md 的状态枚举。触发词save as draft/draft list/update draft/delete draft/publish draft。2.1 保存为草稿Save as draft创建草稿只需三个必填字段title、description≥20 字符、descriptionSummary若指定了服务商还需serviceId。其余字段budget、currency、服务参数等对草稿都是可选的。流程运行与 §1 相同的next-action调用 → 按返回的 playbook 收集字段 → 用户在任何时刻说save as draft→ 进入草稿保存步骤原文记为 Step 6-D。2.2 列出 / 更新 / 删除草稿onchainos agent draft list [--page 1] [--limit 20] onchainos agent draft update jobId [--title txt] [--description txt] [--budget num] ... onchainos agent draft delete jobId对应 task-cli-reference.md 的参数细节draft list--page默认1、--limit默认20分页列出当前用户的草稿。draft updatejobId是位置参数不是--job-id标志至少提供一个字段做部分更新。--description为 20–2000 字符且当省略--description-summary时会自动生成 summary--budget需0、最大10M、最多 5 位小数--max-budget需≥ budget--currency取值USDT或USDG--visibility为0公开/1私有需--provider。draft delete永久删除草稿仅 off-chain不影响链上。2.3 发布草稿Publish a draftonchainos agent draft publish jobId两点关键约束⚠️jobId同样是位置参数不是--job-id。后端会先校验必填字段缺失时把错误转达给用户用draft update补齐后重试。draft publish在签名前还会做余额检查见 task-cli-reference.md。jobId 是保留的——草稿阶段附加的附件会随发布自动带到链上任务无需重新上传。三、Appendix A任务创建确认卡模板无论普通发布还是草稿发布确认环节必须渲染为单一| Field | Value |表格字段按以下顺序排列Title、Summary、Description、Currency、Budget、Max Budget私有任务Provider、Service、Service Desc、Service Price仅当feeAmount有值时、Service Params、Payment Mode公开任务Provider 行显示Public task — no designated provider并省略Service / Service Desc / Price / Params / Payment Mode 行若存在附件追加 Attachments 行3.1 私有任务示例FieldValueTitleQuery Jiangsu WeatherSummaryQuery current weather in Jiangsu province including temperature and humidity.DescriptionQuery current weather in Jiangsu province including temperature, humidity, and conditions; return results in a clear format.CurrencyUSDTBudget0.1Max Budget0.15ProviderAgent 864ServiceWeather QueryService DescQuery real-time weather for a specified regionService Price0.08 USDTService Params{region: Jiangsu}Payment Modex402Confirm? Once confirmed I will create the task on-chain immediately. Or save as draft?3.2 公开任务示例FieldValueTitleQuery Jiangsu WeatherSummaryQuery current weather in Jiangsu province including temperature and humidity.Description...CurrencyUSDTBudget0.1Max Budget0.15ProviderPublic task — no designated providerConfirm? Once confirmed I will create the public task on-chain. Or save as draft?3.3 模板规则与再匹配机制Summary 永远在表格内当description 200 字符时表格里 Description 写See below表格下方用散文段落给出完整描述。页脚必须是引用块blockquote形式的确认询问如上两个示例的 Confirm? ...。Description-change re-match rule描述变更再匹配规则若用户在确认表单阶段修改了 description必须立即用更新后的描述作为--task-desc重新运行asp-match再重新生成确认表单——不能沿用旧的服务商匹配结果。重新匹配可能返回不同的推荐服务或服务商需相应更新 Provider / Service / Service Desc / Service Price / Service Params / Payment Mode 字段若再匹配结果为空则进入 §5 Flow 步骤 1 的 Option A/B 兜底流程。四、指定服务商 A2A 流程Designated-Provider A2A flow4.1 触发条件与边界判定触发词用户消息包含Please initiate a direct conversation with this provider to discuss the task details.或用户提到购买/使用某个特定 Agent/ASP 的服务例如购买Agent#1960的服务、购买ASP#1960的服务、buy service from ASP #1960、使用ASP#1960的服务。ASP Agent Service Provider在服务商身份识别上与 Agent 同等对待——从#后提取数字 ID 作为agentId。⚠️A2MCP 且已知端点 → 不属于本 Skill若消息中同时给出具体 URL 且服务类型为 A2MCP应路由到okx-agent-payments-protocolPlease send a request to this endpoint未提及 onchainos同样不属于本 Skill而Please use onchainos to send a request to this endpoint且非 A2MCP 服务时进入下文 §6。从消息中解析字段agentId不可变、ServiceTitle、ServiceType、ServiceDescription、Price/symbol可变。4.2 Path A — ServiceTitle 缺失时的服务发现当消息只指定了服务商而没有说明具体服务如购买ASP#1960的服务onchainos agent service-list --agent-id agentId列出该 ASP 提供的所有服务结果为空 → 服务商不存在或没有服务告知用户并停止。把服务列表展示给用户请其挑选一个。从选中的服务填充ServiceTitle、ServiceType、ServiceDescription、Price、symbol、serviceId、endpoint。直接按 serviceType 分支跳过 asp-match——service-list 已提供全部所需字段A2MCP 有 endpoint → 进入 §6x402 流程否则 → A2A进入下方 Flow 的步骤 2。4.3 Path B — ServiceTitle 已存在直接进入下方 Flow。不要调用service-list。4.4 Flow提供商验证与服务类型判定步骤 1 与门控检查gate-check并行执行两者相互独立onchainos agent asp-match --task-desc ServiceTitle --provider-agent-id agentId --agent-id buyerAgentId --format jsonasp-match用于搜索匹配的 ASPtask-cli-reference.md--job-id与--task-desc至少提供一个--provider-agent-id可把结果收窄到单个 ASP 的服务。按返回结果分支recommendations为空 → 无匹配服务。向用户提供两个恢复选项Option A — 修订描述请用户改写/调整任务描述用户给出新文本后立即用新的--task-desc重跑asp-match无需额外确认循环直到匹配成功或用户放弃。Option B — 转为公开任务移除指定服务商按 §1 以公开任务发布不带designatedProvider。用户两者都不选 → 停止。支持 x402serviceTypeA2MCP 且 endpoint 存在→ 携带agentIdendpoint从步骤 1 直接进入 §6。否则 → A2A进入步骤 2。⚠️不要直接调用okx-a2a session create。4.5 A2A 路径字段映射与发布按以下规则映射字段然后缓存designatedProvider { agentId, serviceType }进入 §1 的完整发布流程 必须运行包含确认表单的完整流程description← 从ServiceDescription提炼不是ServiceTitle保留具体交付物与范围剥离宣传性语言。serviceParams← 从ServiceDescription提取描述中期望的任何变量/占位符/用户特定输入如选择一个比赛或队伍、指定区域成为 serviceParams JSON 对象的键在确认表单之前展示给用户填写。budget← Pricecurrency← symbol。任务创建成功job_created后CLI 的next-action会自动处理designated_a2a路由——遵循返回的 playbook 即可无需手动编排后续步骤。五、指定服务商 x402 流程Designated-Provider x402 flow5.1 触发条件与字段解析触发词用户消息包含Please use onchainos to send a request to this endpoint。从消息解析agentId、ServiceTitle、ServiceType、ServiceDescription、endpoint全部必填没有 Price——价格从端点拉取。5.2 端点验证onchainos agent x402-check --endpoint endpointvalidfalseinputRequiredtrue→ 端点需要业务参数。缓存fields/requiredAnyOf列表供步骤 2 使用继续这不是真正的失败。validfalse且无inputRequired→ 告知无效端点停止。tokenSymbol不是 USDT/USDG → 告知不支持的 token停止。5.3 字段收集与确认表单 不可跳过这是 x402 路径最严格的一步任何情况下都不能跳过确认表单自动生成任务字段Agent 基于ServiceDescription不是 ServiceTitle自动生成title≤30 字符、description≥10 字符、description-summary≤200 字符提炼原则同 §4.5——保留交付物与范围、剥离宣传语言。仅当描述无法给出更好的标题时才用 ServiceTitle 作为title。serviceParams 提取ServiceDescription 期望的任何变量/占位符/用户特定输入成为serviceBodyJSON 的键在字段收集阶段与步骤 1 返回的inputRequired字段一起展示给用户填写。budget/max-budgetamountHumanx402 定价固定两者相等currencytokenSymbol。inputRequired字段收集——若步骤 1 返回inputRequiredtrue逐个向用户展示fields/requiredAnyOf中每个字段的name、type、description用户必须填写或明确确认每个字段值Agent不得替用户自动生成或推断用户提供全部必填字段后组装为 JSON 对象并缓存为serviceBody。验收/交付截止时间由服务端管理——不要传--deadline-open/--deadline-submit。⚠️语言匹配字段标签必须与用户语言一致。展示完整确认表单格式见上文 Appendix A→结束本轮等待用户明确确认用户拒绝则结束。绝对禁止展示确认表单后同一轮内不得执行create-task。5.4 用户确认后创建任务onchainos agent create-task ... --body serviceBody JSON--body仅在步骤 1 返回inputRequiredtrue时传否则省略。create-task之后CLI 的next-action会自动处理designated_x402路由set-payment-mode → task-402-pay → complete逐步遵循返回的 playbook 即可。六、底层视角CLI 参数、状态机与关键字段映射6.1create-task完整参数表普通发布最终落地的链上命令是create-task参数由next-actionplaybook 给出task-cli-reference.mdonchainos agent create-task --description txt --budget num --max-budget num --currency USDT|USDG \ --title txt --description-summary txt \ [--provider agentId] [--visibility 0|1] \ [--service-id id] [--service-params txt] \ [--service-token-address addr] [--service-token-amount num] \ [--endpoint url] [--file path] [--payment-mode escrow|x402]参数必填默认说明--description是-任务描述20–2000 字符--budget是-预算0最大 10M≤5 位小数--max-budget是-最大预算≥ budget--currency是-USDT或USDG--title是-任务标题≤30 字符--description-summary是-摘要≤200 字符--visibility否10公开1私有--provider条件-服务商 agentIdvisibility1时必填--service-id否-asp-match响应中的服务 ID--service-params否-服务输入参数自然语言--service-token-address否-服务 token 合约地址--service-token-amount否-服务价格asp-match的 feeAmount--endpoint否-指定服务端点 URL--file否-本地附件路径可重复--payment-mode否未设置escrow或x402规则visibility1私有默认必须带--providervisibility0公开不需要--provider但若带了则视为指定服务商任务。create-task还会自动做钱包余额检查。6.2 草稿命令参数与set-asp/ 变更类命令草稿命令的完整参数task-cli-reference.md与create-task同构draft create必填--title/--description20–2000 字符/--description-summary≤200 字符其余可选draft update可部分更新任意字段并支持--endpointdraft delete与draft publish均为位置参数jobId。任务创建后User 会话还会遇到三类变更操作细节见 task-user-actions.md前置条件是任务处于created状态、未被 Acceptset-asp重设服务商与服务off-chain--service-type为A2A走 escrow或A2MCP走 x402触发新的job_created事件并自动路由、set-public转公开off-chain 重置 ASP 字段 visibility0不耗 gas、close关闭任务资金在关闭后退回不可逆。发布后不可修改的字段包括 budget、max_budget、currency、title、description——需提前告知用户。6.3 关键字段映射与状态机在编排这些流程时务必对照 task-core.md 的关键字段映射表避免凭直觉推断visibility0 PUBLIC /1 PRIVATEpaymentMode0 unset /1 escrow /3 x402status-1draft /0created /1accepted /2submitted /3rejected /4disputed /5admin_stopped /6complete资金放款给 ASP/7close资金退回用户/8expired /9failed仲裁退款给用户按 task-state-machine.md任务**状态11 个枚举与事件37 个**是严格分离的两层事件不是状态——provider_applied、dispute_approved等瞬时事件不改变状态草稿发布后第一个状态变迁事件是job_createdstatus 0。七、红线清单与常见错误把发布全流程中不可逾越的约束汇总如下逐字执行next-actionplaybook发布§1、草稿§2、指定服务商§4/§5都以 CLI 返回的脚本为准不得执行脚本之外的命令。每项修改单独确认确认卡必须渲染为| Field | Value |单表页脚为 blockquote 确认展示确认卡后同一轮禁止执行create-task§5.3 的绝对禁令。描述变更必须重跑asp-match确认阶段改 description 后不可沿用旧匹配结果§3.3。不要直接okx-a2a session create、不要用mark-failed来排除服务商它只终止协商并不剔除该服务商见 task-user-actions.md。语言锁定所有面向用户的内容含inputRequired字段标签必须与锁定语言一致。预检Pre-flight本会话第一条onchainos命令前必须完成预检User 子会话system event / a2a-agent-chat 触发的 user 角色可跳过环境预检但其余场景不可跳过task-core.md、task-preflight.md。综上OKX AI 的任务发布并不只是一条create-task命令而是一条由next-action驱动的、带草稿缓冲、确认卡门控、以及 A2A/x402 双支付路径的状态机流程。理解 task-user-actions-publish.md 中每一节的触发条件与硬性禁令再对照 task-cli-reference.md 的完整参数表执行即可在 User 会话中稳定、合规地完成从想法到链上任务的发布。赞分享【免费下载链接】internet-court-skillThe trust layer for agent-to-agent commerce — natural-language mandates, ERC-7710 delegated permissions, x402 payments, escrow, and dispute resolution as one open, catch-all Agent Skill / Claude Code plugin.项目地址https://gitcode.com/gh_mirrors/in/internet-court-skill点击查看免费下载相关推荐MCP for Blender 完整使用指南用自然语言让 AI 替你建模MCP for Blender 完整使用指南用自然语言让 AI 替你建模 摆放十几个对象、调灯光、改材质这类 Blender 里的重复操作往往比做设计决策更MCP 服务AI 应用人工智能DLSS Swapper 使用教程:给老游戏一键升级 DLSS,换出问题就换回原版DLSS Swapper 使用教程:给老游戏一键升级 DLSS,换出问题就换回原版 我把一款 2019 年前后发售的老 3A 里那版 DLSS 换成了新版,同一桌面应用Faktory 后台任务服务器实战指南队列、任务生命周期与多语言 Worker 模型Faktory 后台任务服务器实战指南队列、任务生命周期与多语言 Worker 模型 Faktory 是一个语言无关Language agnostic的持后端任务调度上一篇深度解析Kronos金融预测模型从架构设计到实战应用的专业指南下一篇uni-app x 中 padding-bottom 属性完全指南语法、兼容性、拍平flatten与动态样式实践创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考