Tooling
UAIX tools support validation, inspection, field-order governance, transport and trust review, fixture testing, machine-readable discovery, and implementation onboarding for UAI-1.
What tools should help with
- 解析 the current public record without scraping page text.
- Inspect schema targets, profile IDs, field order, fixtures, transport bindings, trust channels, error codes, and conformance expectations before release.
- Surface structural drift, async workflow mistakes, trace-context problems, and trust-policy gaps before downstream users depend on them.
- Export conformance outcomes as reviewable records that can travel into release notes, CI logs, or audit evidence.
Primary tooling path
Most readers should start with the 验证器, then move back to 示例 or forward into Implementations depending on whether the next need is debugging or release evidence.
Experimental dogfood surface
UAIX Agents 协议 records how UAIX tests the WordPress prototype for 项目交接 packages, .uai/readme.human, active file-intake buckets, ignored archive scaffolding, ZIP preflight checks, validation-failure refusal, cleanup, and activation smoke evidence. Treat it as an experimental/internal prototype page, not as public generator, validator, SDK, CLI, certification, or endorsement support.
入门示例 conformance path
- Choose one published 示例 or prepare one candidate message tied to a known public profile.
- 解析 the matching schema, registry, field-order, transport, trust, and error records before running the check so another reviewer can reproduce the same packet.
- Run the 验证器 and export the result as a reviewable record.
- Carry that result into Implementations, the 变更日志, News, and 引用 and Contributors when the check supports a public release or support claim.
- Repeat the run whenever schemas, registry mappings, field order, transport guidance, error codes, validator behavior, or runtime mappings change.
Published starter path
Use the public proof run and client calls below when the next task is onboarding a tool, script, or QA flow to the live public surface without private helpers.
证明路径 Use this flow when a candidate message needs to become exportable evidence instead of staying a local test. Step 1 Pull the current route inventory first so the rest of the proof run stays anchored to the published machine surface. Step 2 Use one published request example as the first packet so your review starts from current public structure instead of local guesswork. Step 3 Build one validator request body with the example packet nested under `message` and request the result record format. Step 4 Submit the validation request to the live POST route and keep the returned result record with the exact packet that was checked. Step 5 Post the same validated packet to the mock exchange route when you want one real conforming response shape before a runtime track exists. Step 6 Move from proof into the named implementation lane, conformance pack, and release trail instead of claiming broader support than the site publishes. Keep the starter packet, validator request, and mock-exchange request required for mock-exchange configuration together with the returned result. That bundle is the smallest repeatable proof-and-response packet on the current public surface. Client examples Use these plain HTTP snippets to reach the live public surface quickly, including the reference-response route, while official runtime tracks remain intentionally narrow. 起步片段使用实时公开路由,而不是私有 SDK 或未发布的辅助层。How the first proof packet should move through validation
解析 the live catalog
Fetch one starter example
Wrap the message for validation
Run one validator check
Test the live reference response
Carry only the named next step
/wp-json/uaix/v1/catalog
模式
/wp-json/uaix/v1/schemas/uai.intent.request.v1
示例
/wp-json/uaix/v1/examples/uai.intent.request.v1
验证
/wp-json/uaix/v1/validate
Adoption kit
/wp-json/uaix/v1/adoption-kit
Mock exchange
/wp-json/uaix/v1/mock-exchange
{
"uai_version": "1.0",
"profile": "uai.intent.request.v1",
"message_id": "msg-2026-04-22-0001",
"source": {
"type": "agent",
"id": "agent.alpha",
"label": "Agent Alpha",
"uri": "https://agents.alpha.example/runtime",
"did": "did:web:agents.alpha.example",
"role": "requesting-agent",
"implementation": "alpha-runtime-2.4.1"
},
"target": {
"type": "service",
"id": "uaix.gateway",
"label": "UAIX 闸门way",
"uri": "/wp-json/uaix/v1/discovery",
"did": "did:web:uaix.org",
"role": "public-record-gateway",
"implementation": "uaix-core-0.4.0"
},
"conversation": {
"conversation_id": "conv-2026-04-22-uaix-001",
"turn_id": "turn-001",
"traceparent": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
"sequence": 1
},
"delivery": {
"mode": "async",
"priority": "interactive",
"expires_at": "2026-04-22T16:05:00Z",
"reply_requested": true,
"ack_required": true
},
"trust": {
"channel": "credentialed",
"auth_scheme": "did+vc",
"principal": "did:web:agents.alpha.example",
"credential_ref": "https://agents.alpha.example/credentials/uai-interop.json",
"signature_ref": "https://agents.alpha.example/signatures/msg-2026-04-22-0001.jws",
"replay_window_id": "rw-2026-04-22-0001",
"trust_profile": "uai.trust.did-vc-reference.v1",
"verification_status": "not_verified",
"credential_status": "not_checked",
"verifier_ref": "https://agents.alpha.example/verifiers/uai-trust-policy.json",
"trust_root_ref": "https://agents.alpha.example/.well-known/uai.json",
"proof_ref": "https://agents.alpha.example/signatures/msg-2026-04-22-0001.jws",
"replay_policy_ref": "https://agents.alpha.example/trust/replay-policy.json",
"verification_checked_at": "2026-04-22T16:00:00Z",
"verification_expires_at": "2026-04-22T16:05:00Z",
"assurance_level": "reference_only"
},
"body": {
"intent": "resolve-profile",
"subject": "uai.task.status.v1",
"requested_profile": "uai.task.status.v1",
"parameters": {
"include_schema": true,
"include_example": true,
"include_field_registry": true
},
"constraints": [
"public-record-only",
"trace-linked",
"validator-ready"
],
"response_profile": "uai.intent.response.v1"
},
"provenance": {
"trace_id": "trace-7f3a2d",
"parent_trace_id": "trace-root-uaix-2026",
"issued_at": "2026-04-22T16:00:00Z",
"log_ref": "urn:uaix:log:2026:0001",
"agent_id": "agent.alpha",
"model_id": "model.alpha.reasoner-2",
"confidence": 0.98,
"lineage": [
{
"stage": "request-composition",
"actor_id": "agent.alpha",
"model_id": "model.alpha.reasoner-2",
"note": "Requested the async task-status profile and matching field registry."
}
]
},
"integrity": {
"version": 2,
"algorithm": "sha256",
"canonicalization": "jcs",
"checksum": "sha256:dd8a9d16c9226cc9d1f4888a4d2bbcbf06b5b4b8"
},
"extensions": [
{
"namespace": "urn:uaix:ext:delivery",
"purpose": "Explicit async request handling and expiry semantics.",
"critical": false
}
]
}{
"message": {
"uai_version": "1.0",
"profile": "uai.intent.request.v1",
"message_id": "msg-2026-04-22-0001",
"source": {
"type": "agent",
"id": "agent.alpha",
"label": "Agent Alpha",
"uri": "https://agents.alpha.example/runtime",
"did": "did:web:agents.alpha.example",
"role": "requesting-agent",
"implementation": "alpha-runtime-2.4.1"
},
"target": {
"type": "service",
"id": "uaix.gateway",
"label": "UAIX 闸门way",
"uri": "/wp-json/uaix/v1/discovery",
"did": "did:web:uaix.org",
"role": "public-record-gateway",
"implementation": "uaix-core-0.4.0"
},
"conversation": {
"conversation_id": "conv-2026-04-22-uaix-001",
"turn_id": "turn-001",
"traceparent": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
"sequence": 1
},
"delivery": {
"mode": "async",
"priority": "interactive",
"expires_at": "2026-04-22T16:05:00Z",
"reply_requested": true,
"ack_required": true
},
"trust": {
"channel": "credentialed",
"auth_scheme": "did+vc",
"principal": "did:web:agents.alpha.example",
"credential_ref": "https://agents.alpha.example/credentials/uai-interop.json",
"signature_ref": "https://agents.alpha.example/signatures/msg-2026-04-22-0001.jws",
"replay_window_id": "rw-2026-04-22-0001",
"trust_profile": "uai.trust.did-vc-reference.v1",
"verification_status": "not_verified",
"credential_status": "not_checked",
"verifier_ref": "https://agents.alpha.example/verifiers/uai-trust-policy.json",
"trust_root_ref": "https://agents.alpha.example/.well-known/uai.json",
"proof_ref": "https://agents.alpha.example/signatures/msg-2026-04-22-0001.jws",
"replay_policy_ref": "https://agents.alpha.example/trust/replay-policy.json",
"verification_checked_at": "2026-04-22T16:00:00Z",
"verification_expires_at": "2026-04-22T16:05:00Z",
"assurance_level": "reference_only"
},
"body": {
"intent": "resolve-profile",
"subject": "uai.task.status.v1",
"requested_profile": "uai.task.status.v1",
"parameters": {
"include_schema": true,
"include_example": true,
"include_field_registry": true
},
"constraints": [
"public-record-only",
"trace-linked",
"validator-ready"
],
"response_profile": "uai.intent.response.v1"
},
"provenance": {
"trace_id": "trace-7f3a2d",
"parent_trace_id": "trace-root-uaix-2026",
"issued_at": "2026-04-22T16:00:00Z",
"log_ref": "urn:uaix:log:2026:0001",
"agent_id": "agent.alpha",
"model_id": "model.alpha.reasoner-2",
"confidence": 0.98,
"lineage": [
{
"stage": "request-composition",
"actor_id": "agent.alpha",
"model_id": "model.alpha.reasoner-2",
"note": "Requested the async task-status profile and matching field registry."
}
]
},
"integrity": {
"version": 2,
"algorithm": "sha256",
"canonicalization": "jcs",
"checksum": "sha256:dd8a9d16c9226cc9d1f4888a4d2bbcbf06b5b4b8"
},
"extensions": [
{
"namespace": "urn:uaix:ext:delivery",
"purpose": "Explicit async request handling and expiry semantics.",
"critical": false
}
]
},
"format": "result"
}{
"scenario": "accepted-task",
"format": "exchange",
"message": {
"uai_version": "1.0",
"profile": "uai.intent.request.v1",
"message_id": "msg-2026-04-22-0001",
"source": {
"type": "agent",
"id": "agent.alpha",
"label": "Agent Alpha",
"uri": "https://agents.alpha.example/runtime",
"did": "did:web:agents.alpha.example",
"role": "requesting-agent",
"implementation": "alpha-runtime-2.4.1"
},
"target": {
"type": "service",
"id": "uaix.gateway",
"label": "UAIX 闸门way",
"uri": "/wp-json/uaix/v1/discovery",
"did": "did:web:uaix.org",
"role": "public-record-gateway",
"implementation": "uaix-core-0.4.0"
},
"conversation": {
"conversation_id": "conv-2026-04-22-uaix-001",
"turn_id": "turn-001",
"traceparent": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
"sequence": 1
},
"delivery": {
"mode": "async",
"priority": "interactive",
"expires_at": "2026-04-22T16:05:00Z",
"reply_requested": true,
"ack_required": true
},
"trust": {
"channel": "credentialed",
"auth_scheme": "did+vc",
"principal": "did:web:agents.alpha.example",
"credential_ref": "https://agents.alpha.example/credentials/uai-interop.json",
"signature_ref": "https://agents.alpha.example/signatures/msg-2026-04-22-0001.jws",
"replay_window_id": "rw-2026-04-22-0001",
"trust_profile": "uai.trust.did-vc-reference.v1",
"verification_status": "not_verified",
"credential_status": "not_checked",
"verifier_ref": "https://agents.alpha.example/verifiers/uai-trust-policy.json",
"trust_root_ref": "https://agents.alpha.example/.well-known/uai.json",
"proof_ref": "https://agents.alpha.example/signatures/msg-2026-04-22-0001.jws",
"replay_policy_ref": "https://agents.alpha.example/trust/replay-policy.json",
"verification_checked_at": "2026-04-22T16:00:00Z",
"verification_expires_at": "2026-04-22T16:05:00Z",
"assurance_level": "reference_only"
},
"body": {
"intent": "resolve-profile",
"subject": "uai.task.status.v1",
"requested_profile": "uai.task.status.v1",
"parameters": {
"include_schema": true,
"include_example": true,
"include_field_registry": true
},
"constraints": [
"public-record-only",
"trace-linked",
"validator-ready"
],
"response_profile": "uai.intent.response.v1"
},
"provenance": {
"trace_id": "trace-7f3a2d",
"parent_trace_id": "trace-root-uaix-2026",
"issued_at": "2026-04-22T16:00:00Z",
"log_ref": "urn:uaix:log:2026:0001",
"agent_id": "agent.alpha",
"model_id": "model.alpha.reasoner-2",
"confidence": 0.98,
"lineage": [
{
"stage": "request-composition",
"actor_id": "agent.alpha",
"model_id": "model.alpha.reasoner-2",
"note": "Requested the async task-status profile and matching field registry."
}
]
},
"integrity": {
"version": 2,
"algorithm": "sha256",
"canonicalization": "jcs",
"checksum": "sha256:dd8a9d16c9226cc9d1f4888a4d2bbcbf06b5b4b8"
},
"extensions": [
{
"namespace": "urn:uaix:ext:delivery",
"purpose": "Explicit async request handling and expiry semantics.",
"critical": false
}
]
}
}curl、PowerShell、Python 和 TypeScript 的可复制起步请求
curl -sS "/wp-json/uaix/v1/adoption-kit" -o uai-adoption-kit.jsoncurl -sS "/wp-json/uaix/v1/catalog"curl -sS "/wp-json/uaix/v1/examples/uai.intent.request.v1" -o example-record.jsoncurl -sS -X POST "/wp-json/uaix/v1/validate" \
-H "Content-Type: application/json" \
-d @validate-request.jsoncurl -sS -X POST "/wp-json/uaix/v1/mock-exchange" \
-H "Content-Type: application/json" \
-d @mock-exchange-request.jsonInvoke-RestMethod -Uri "/wp-json/uaix/v1/adoption-kit" | ConvertTo-Json -深度 20 | Set-Content .\uai-adoption-kit.jsonInvoke-RestMethod -Uri "/wp-json/uaix/v1/catalog"Invoke-RestMethod -Uri "/wp-json/uaix/v1/examples/uai.intent.request.v1" | ConvertTo-Json -深度 20 | Set-Content .\example-record.json$message = (Get-Content -Raw .\example-record.json | ConvertFrom-Json).message
$body = @{ message = $message; format = "result" } | ConvertTo-Json -深度 20
Invoke-RestMethod -Method Post -Uri "/wp-json/uaix/v1/validate" -ContentType "application/json" -Body $body$message = (Get-Content -Raw .\example-record.json | ConvertFrom-Json).message
$body = @{ scenario = "accepted-task"; format = "exchange"; message = $message } | ConvertTo-Json -深度 20
Invoke-RestMethod -Method Post -Uri "/wp-json/uaix/v1/mock-exchange" -ContentType "application/json" -Body $bodyimport json, urllib.request
kit = json.load(urllib.request.urlopen("/wp-json/uaix/v1/adoption-kit"))import json, urllib.request
catalog = json.load(urllib.request.urlopen("/wp-json/uaix/v1/catalog"))example_record = json.load(urllib.request.urlopen("/wp-json/uaix/v1/examples/uai.intent.request.v1"))
message = example_record.get("message", example_record)payload = json.dumps({"message": message, "format": "result"}).encode("utf-8")
request = urllib.request.Request("/wp-json/uaix/v1/validate", data=payload, headers={"Content-Type": "application/json"}, method="POST")
result = json.load(urllib.request.urlopen(request))payload = json.dumps({"scenario": "accepted-task", "format": "exchange", "message": message}).encode("utf-8")
request = urllib.request.Request("/wp-json/uaix/v1/mock-exchange", data=payload, headers={"Content-Type": "application/json"}, method="POST")
exchange = json.load(urllib.request.urlopen(request))const kit = await fetch("/wp-json/uaix/v1/adoption-kit").then((response) => response.json());const catalog = await fetch("/wp-json/uaix/v1/catalog").then((response) => response.json());const exampleRecord = await fetch("/wp-json/uaix/v1/examples/uai.intent.request.v1").then((response) => response.json());
const message = exampleRecord.message ?? exampleRecord;const result = await fetch("/wp-json/uaix/v1/validate", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ message, format: "result" }),
}).then((response) => response.json());const exchange = await fetch("/wp-json/uaix/v1/mock-exchange", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ scenario: "accepted-task", format: "exchange", message }),
}).then((response) => response.json());
发现 and sitemap surfaces
Automation and public QA should be able to resolve the same page inventory from both the root discovery surface and the locale-prefixed route space.
- Use
/.well-known/uaix.jsonas the preferred machine-readable manifest. - Use
/sitemap.xmland/sitemap.htmlas the durable root crawl and directory surfaces. - Use
/en-us/sitemap.xmland/en-us/sitemap.htmlwhen localized readers or tooling need the same inventory through the 英语 route space. - Treat the root sitemap files as the canonical public SEO surface even when locale-prefixed sitemap routes are also live and tested.
当前 machine-facing routes
The public tooling surface includes a human-facing validator page plus machine-facing REST 路由s for automation and release checks.
/wp-json/uaix/v1/catalogand/wp-json/uaix/v1/discoveryexpose the current standards catalog and discovery manifest./wp-json/uaix/v1/statusand/wp-json/uaix/v1/modulesexpose runtime status and module inventory./wp-json/uaix/v1/schemas,/wp-json/uaix/v1/registry,/wp-json/uaix/v1/field-registry, and/wp-json/uaix/v1/examplesexpose the published machine-readable record families./wp-json/uaix/v1/transport-bindings,/wp-json/uaix/v1/trust-channels,/wp-json/uaix/v1/conformance-levels, and/wp-json/uaix/v1/error-registryexpose the operating guidance that makes transport, trust, support claims, and failure handling explicit./wp-json/uaix/v1/validateis the JSONPOSTvalidation endpoint for automation; use the 验证器 page when a human needs the workbench experience./wp-json/uaix/v1/roadmapexposes the forward-plan boundary for current, next, planned, and research-track work.
API reference and reusable pack surfaces
- AI 记忆数据包向导 guides a supported starter bundle into a package model, populated system profile, copy-paste file deck, receiver brief, startup packet, manifest overlay, LLM Wiki memory-plan file required for LLM Wiki configuration, readiness metadata, and canonical ZIP download without claiming general hosted generation, automatic repository writes, or automatic wiki sync.
- API 参考 turns the live REST surface into a route-by-route handbook with a published OpenAPI 3.1 document and starter request examples.
- 接入套件 publishes the first-proof onboarding bundle with starter files, validator-ready payloads, and mock-exchange examples.
- 一致性包 assembles the broader schemas, registry data, fixtures, transport and trust guidance, and validator entry points into one reusable machine-readable packet.
/wp-json/uaix/v1/adoption-kitis the machine-facing onboarding bundle for the shortest reusable first-proof run; append?download=1when you want the same response as an attachment./wp-json/uaix/v1/openapi.jsonis the machine-facing OpenAPI export for the live UAIX REST surface./wp-json/uaix/v1/conformance-packis the machine-facing JSON packet for launch review and repeatable conformance work; append?download=1when you want the same response as an attachment./wp-json/uaix/v1/roadmapis the machine-facing forward-plan record for current, next, planned, and research-track work; append?download=1when you want the same response as an attachment.
Published operating-surface references
The records below are part of the live machine-readable protocol surface and should be carried with schema and example resolution when you are evaluating interoperability or support claims.
传输
已发布绑定
- 默认
- https-json-envelope.v1
- 绑定数
- 2
https-json-envelope.v1:application/vnd.uaix.uai+jsonhttps-json-keyless.v1:application/vnd.uaix.uai-keyless+json
信任
已发布信任通道
public-web: 通过 HTTPS 公开可读的记录,无需预先建立双边信任。private-api: 在限定网络或租户边界内的服务间交换。mtls: 在连接层锚定对等身份的传输认证交换。signed-envelope: 记录随附消息级签名或分离签名引用。credentialed: 发送方或执行上下文由机器可验证凭证或类似的签名身份声明支撑。
一致性
已发布级别阶梯
L1-core-envelope: L1 Core 信封L2-profile-validation: L2 配置文件 ValidationL3-trust-and-integrity: L3 信任 and IntegrityL4-public-record-publisher: L4 Public Record PublisherL5-agent-communication-profiles: L5 Agent Communication 配置文件数L6-reliable-delegation-idempotency-correlation: L6 Reliable Delegation with Idempotency and CorrelationL7-capability-negotiation: L7 Capability Negotiation
错误
已发布消息错误码
invalid_message: 无效消息unknown_profile: 未知配置文件capability_not_supported: 不支持该能力auth_required: 需要认证insufficient_trust: 信任不足task_not_found: 未找到任务
发现 surface
Automation should start with the current UAIX discovery manifest and standards catalog.
发现清单
.well-known 入口
使用 `.well-known` 清单进行持久站点发现;当你希望从 API 表面获取同样的数据时,可改用 REST discovery 路由。生产部署应从规范 HTTPS 源发布同一份清单。
- 发布版本
- UAI-1
- 配置文件数
- 57
- 生成时间
- 2026-06-11T06:17:53+00:00
公共路由
当前面向机器的表面
该清单公布了构成当前 UAIX 标准表面的 API 路径和公共发布路径。
-
目录:
/wp-json/uaix/v1/catalog -
Esquemas:
/wp-json/uaix/v1/schemas -
Registro:
/wp-json/uaix/v1/registry -
字段注册表:
/wp-json/uaix/v1/field-registry -
传输绑定:
/wp-json/uaix/v1/transport-bindings -
信任通道:
/wp-json/uaix/v1/trust-channels -
一致性级别:
/wp-json/uaix/v1/conformance-levels -
错误注册表:
/wp-json/uaix/v1/error-registry -
Ejemplos:
/wp-json/uaix/v1/examples -
验证:
/wp-json/uaix/v1/validate(POST JSON) -
Adoption kit:
/wp-json/uaix/v1/adoption-kit -
Mock exchange:
/wp-json/uaix/v1/mock-exchange(GET metadata, POST message)
下一步 step
Start with the 验证器, then carry the resulting evidence into Implementations, the 变更日志, and News when the result affects a public release.