文档 · 开始 文档概览 选择正确的阅读入口,并了解当前 pre-alpha 边界。 文档 · 开始 快速开始 安装锁定的工具链,并在本地验证仓库。 文档 · 开始 Core 合约示例 无需 Runtime 依赖,编译首个 Agent、类型化 Tool、Model Stream 与显式协议映射。 文档 · 开始 强类型 Agent 生成并固定类型化 Schema,再绑定第一方 OpenAI 与 Anthropic Adapter。 文档 · 开始 进程内 Agent 无需 HTTP 运行强类型 Agent,同时保留 PostgreSQL 持久化、鉴权、恢复与自持有角色。 文档 · 开始 持久化准入 原子提交已认证 Intent、数据库时间、首 Event 与初始 Checkpoint。 文档 · 开始 可恢复 Run 与 Result 使用持久化 Ingress Key 提交、恢复原 Run,并读取经过验证的公开 Result。 文档 · 理解 编译确定性 Graph 构建 Schema-pinned Graph,验证拓扑,并冻结 Canonical Digest。 文档 · 理解 子图与循环 组合共享状态子图、有界循环与能够在中断后恢复的显式返回路径。 文档 · 理解 Skill 组合 在能力包、共享状态子图、持久子 Run 与受保护 MCP Skill 之间选择,不创建第二套 Runtime。 文档 · 理解 持久执行模型 理解 Journal、Checkpoint、Lease、Fence 与恢复证据如何协同。 文档 · 理解 可恢复 Graph Runtime 注册精确可执行代码、重放非初始状态,并在一个 Fence 下驱动确定性有界 Sibling Batch。 文档 · 理解 可恢复 Agent Loop 提交 Lifecycle Handoff,并执行一个 Tenant-scoped 可恢复调度 Quantum。 文档 · 理解 可恢复调用执行 通过持久化 Start、分阶段有序 Tool Coordination、Streaming 校验与 No-dispatch Terminal Recovery 执行精确 Model/Tool Attempt。 文档 · 理解 Provider-native Agent 编译并运维支持有界 Output Repair、有序 Parallel Read-only Tool 与 Write Barrier 的可恢复多轮 Graph,并固定 Policy、Accounting 与 Cancellation Evidence。 文档 · 集成 本地 Rust Tool 生成 Digest-pinned Schema、注册强类型本地代码,并保留持久执行边界。 文档 · 集成 AgentService v1 通过带版本的嵌入式边界授权并暴露精确版本的可恢复 Agent。 文档 · 集成 Agent HTTP v1 通过经过认证、有资源上限的 JSON HTTP 接口提交、找回、读取与取消 Agent。 文档 · 集成 通用 MCP Tool Client 通过 JSON/SSE、OAuth、Custom Header 与受控 MRTR 发现和调用有界 Stateless MCP 2026-07-28 Tool。 文档 · 集成 MCP OAuth Client 将一个 MCP Resource 绑定到 Challenge-driven Discovery、PKCE、Issuer 校验、持久化 Credential 与有界 Replay。 文档 · 集成 MCP Remote Tool 固定 Identity、Schema、可恢复 Dispatch 与 Reconciliation,绑定严格 Stateless MCP 2026-07-28 Tool。 文档 · 集成 MCP Server Profile 在严格 Stateless 生产边界后暴露有界 Tools、Resources、Prompts、Completion 与 MRTR。 文档 · 集成 MCP Skills 通过不可变 Manifest、Origin-scoped 审批与校验后延迟读取发布并激活 Final SEP-2640 静态 Skill。 文档 · 集成 MCP Conformance 状态 查看冻结的官方 Runner 清单、已实现证据与当前 MCP 声明的精确边界。 文档 · 集成 A2A 1.0 Client 发现并固定一个 Agent,调用全部 11 个 Operation,并只依据已背书的远端保证对持久化 Unknown Send 执行 Reconciliation。 文档 · 集成 Artifact 持久化存储 将 Terminal A2A Part 物化为不可变 PostgreSQL Metadata 与私有、经过完整性校验的 Object Bytes。 文档 · 集成 A2A 1.0 Server 通过 Identity-first Policy 与可恢复 Service 合约暴露有界 HTTP+JSON 和 JSON-RPC/SSE。 文档 · 集成 A2A Conformance 状态 查看冻结的官方 TCK、已审计 Harness Patch、精确结果与 Server-only 声明边界。 文档 · 运维 公平调度 配置 Replica-safe 加权 Tenant Selection、精确 Starvation Bound、Rollout 与 Retention。 文档 · 运维 PostgreSQL Provider 配置、迁移、校验并测试已实现的持久化 Provider。 文档 · 运维 宿主验证 记录有界容量、恢复与故障证据,避免把 CI 结果误写成生产 SLO。 文档 · 项目 版本与发布 精确固定公共 Alpha,并理解兼容性、MSRV、持久化数据与发布门禁。 文档 · 项目 实现状态 区分已经实现、正在开发和明确尚未支持的能力。 首页 架构图 查看已经实现、正在开发和规划中的边界。 首页 当前实现 已经实现的切片与明确缺口。 首页 路线图 从合约走向可验证 v1 的开发顺序。 仓库 源代码 StateKnot/StateKnot on GitHub. 仓库 RFCs 架构与持久执行合约草案。 仓库 安全策略 私密漏洞报告与支持策略。
↑↓ 选择 ↵ 打开 39 项结果

Pre-alpha 文档

调用 A2A Agent,不猜测执行结果。

冻结 A2A 1.0 Agent Card 与 Egress Interface,使用完整 HTTP+JSON 或 JSON-RPC/SSE Operation,并将 Outbound Send 绑定到 PostgreSQL Durability。

一套 Operation Surface,两种 Binding

领域OperationTransport Result
MessageSend、Streaming SendTask/Message 或有界 SSE
TaskGet、List、Cancel、Subscribe有界 Snapshot/Page 或 SSE
Push ConfigCreate、Get、List、DeleteSecret-redacted 有界 Contract
CardAuthenticated Extended Card重新校验的 Agent Card

每个请求发送 A2A-Version: 1.0。Client 校验 Response Media、 JSON-RPC Version/ID、Result/Error 互斥存在、精确 Response Union、Duplicate JSON Key、Resource Identity、Blocking-send Lifecycle、Task-page Filter/Order、 SSE Event Lifecycle、Artifact Append 连续性、Idle Time、Event Count 与 Byte Ceiling;不会跟随 Redirect,也不会自动 Retry Request。

在执行前冻结 Discovery

  1. 使用已验证 HTTPS;Literal Loopback HTTP 只属于显式 Test/Sidecar Boundary。
  2. 读取一个有界 Public Agent Card,并可校验 RFC 8785 Digest。
  3. 按 Server Preference 选择首个受支持的 1.0 Interface。
  4. 要求其 Binding 和 URL 与本地 Egress Pin 精确一致。
  5. 校验 Extension、Tenant,以及完整的 Anonymous 或单 Scheme Bearer-compatible Security 选择。
Rust · Immutable Discovery Boundary
let client = A2aClient::discover(
    A2aAgentCardEndpoint::https(
        "https://partner.example/.well-known/agent-card.json",
    )?,
    vec![A2aClientInterfacePin::https(
        "https://partner.example/a2a",
        A2aBinding::HttpJson,
    )?],
    A2aAgentCardTrust::TlsServerIdentity,
    A2aClientSecurity::bearer("oidc", Arc::new(token_provider))?,
    vec![],
    A2aClientOptions::default(),
).await?;

生产 Bearer Provider 针对每个精确 Operation、Remote Routing Tenant、Task 与 Scope 解析短期 Credential。Durable Send 还会传递本地 Tenant、Run、Invocation 与 Physical Attempt Identity。当前 Profile 支持 HTTP Bearer、OAuth 2.0 与 OpenID Connect Token;不支持或 Multi-scheme Requirement 会 Fail Closed。 Token、Response Body 与 Remote Text 都不会进入 Public Error 或 Debug Output。

Extended Card 必须经过认证并重新校验,但只作为数据返回;它不会修改 Immutable Client,也不会静默改变 Egress/Security Pin。采用它必须经过审核并新建 Binding。

让 PostgreSQL 独占 Dispatch 决策权

Agent Card 不携带 Skill Argument/Result JSON Schema,A2A 1.0 也没有把 Send 路由到 Skill 的字段。所选 Skill 只固定 Media 和 Security 证据;可信本地 Registry 校验 Input,以及标准单 Key {"message": ...} 或 {"task": ...} Output。

Rust · Durable Tool Registration
let recovery = A2aRemoteAgentRecovery::operator_attested_context_task_history(
    4,
    64,
    DurationMillis::new(1_000)?,
)?;

let remote = A2aRemoteAgent::bind_with_recovery(
    descriptor,
    client,
    "answer",
    A2aRemoteAgentDelivery::AtMostOnce,
    recovery,
    schemas,
)?;

let mut tools = ToolProviderRegistryBuilder::new();
tools.register(Arc::new(remote))?;
let tools = tools.build();

Invocation Ledger 在唯一一次 Network Send 前提交 executing;合法 Response 经过 Schema 校验后才 Commit。可能 Dispatch 后的任何不确定结果都会 变为 Unknown + ReconcileFirst,普通 Recovery 不会再次发送。

Adapter 显式设置 returnImmediately: true。返回 Task 只提交 Message Submission 与持久化句柄,不代表远端已经进入终态。等待完成属于应用自有、独立授权的 get_task 或 subscribe_to_task Workflow。

不要虚构 Message-ID Idempotency

ModeDescriptor TruthMessage Identity
AtMostOnceNon-idempotent Write;不支持 KeyPhysical Attempt ID
MessageIdDeduplicatedIdempotent Write;Key 必填Stable Invocation Key

A2A 本身不要求接收端对 messageId 去重。只有 Operator 证明远端在 本地 Ledger Retention 与灾备窗口内都能基于持久化记录去重时,第二种 Mode 才安全。Lost Send Response 不一定返回 Task ID。

只根据经过证明的远端事实恢复

Mode必需的部署证据行为
Disabled无保持 Fail Closed,等待人工 Reconciliation
ContextTaskHistory保留 Client Context、完整稳定的 Task Pagination、保留原始 Message ID有界 ListTasks 扫描;绝不重发
MessageIdReplay在完整 Recovery Window 内基于持久化记录去重 Message ID重放精确 Request Identity;只允许 Deduplicated Delivery

Enabled Mode 要求 Descriptor Status-query 声明一致,并配置有界 Poll Interval。 Context Recovery 会给原始 Message 增加单向 Opaque ID,最多扫描 16 页、每页 100 个 Task、每个 Task 最多 256 条 History,并且只接受唯一 Match,且 Role、Context 与 Payload 必须等于原始 Message。没有 Match 变为 Pending;重复 Identity、歧义 Match、同 ID Payload Substitution 或扫描上限耗尽都会 Fail Closed。

Provider-native Agent 会原子提交权威 Evidence。Pending Probe 会变成后续 Lease 下的 持久化 SafeAfter Node Retry,原 Physical Attempt 与 Business-call Count 保持不变。

对每次 Exchange 设上限

  • 默认 Discovery 15 秒、Unary/Stream-establishment 60 秒、Stream Idle 60 秒。
  • 默认 Request 16 MiB、Unary Response 2 MiB。
  • 默认 SSE Line 512 KiB、Event 2 MiB、Total 64 MiB、4,096 个 Event。
  • Task Page 遵循 A2A 的 100 条上限、包含等号的 Timestamp Filter 与最新优先排序; Push-config Page 本地上限 256。

上生产前还要独立限制 DNS/Proxy Egress、审核每次 Card 变化、使用 Attempt-scoped Workload Credential、对齐本地 Ledger 与远端 Dedup Retention、 对 Unknown Outcome 告警,并验证 Accepted-request/Lost-response、Cancellation Race、Malformed Stream、Database Failover 与 Restore。

先看证据,再看边界

真实 Loopback Test 在两种 Binding 上执行全部 11 个 Operation,并覆盖严格 Discovery、Authorization、Error、Stream 与 Lost Response;还证明无需重发的 Context/History Recovery、同 ID Payload Substitution 拒绝,以及显式 Dedup Attestation 下的精确 Replay。另一项 Provider-neutral 真实 PostgreSQL Test 证明 Unknown → Pending → 持久化 Retry → Committed,两次 Probe 期间只有一次 Business Call。

请阅读完整生产指南与复现命令。官方 TCK 证据只适用于独立 Server Profile;Client Live-peer 与 Recovery-attestation Qualification、gRPC、 Stable API Review 与完整生产 Release 仍是独立门禁。