@agentunion/fastaun-browser 0.4.9 → 0.4.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/_packed_docs/CHANGELOG.md +46 -0
  3. package/_packed_docs/INDEX.md +31 -14
  4. package/_packed_docs/KITE_DOCS_GUIDE.md +20 -14
  5. package/_packed_docs/protocol/06-/346/234/215/345/212/241/345/215/217/350/256/256.md +244 -16
  6. package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +114 -28
  7. package/_packed_docs/sdk/07-/351/224/231/350/257/257/345/244/204/347/220/206.md +7 -4
  8. package/_packed_docs/sdk/09-group-rpc-manual.md +238 -2
  9. package/_packed_docs/sdk/09-proxy-rpc-manual.md +231 -0
  10. package/_packed_docs/sdk/09-storage-rpc-manual.md +354 -22
  11. package/_packed_docs/sdk/AUN_DOCS_GUIDE.md +15 -11
  12. package/_packed_docs/sdk/INDEX.md +14 -8
  13. package/_packed_docs/sdk/Notify/351/200/232/347/237/245/346/226/271/346/241/210.md +214 -0
  14. package/_packed_docs/sdk/README.md +8 -6
  15. package/dist/bundle.js +1611 -48
  16. package/dist/client/delivery.d.ts +8 -1
  17. package/dist/client/delivery.d.ts.map +1 -1
  18. package/dist/client/delivery.js +241 -15
  19. package/dist/client/delivery.js.map +1 -1
  20. package/dist/client/group-state.js +2 -2
  21. package/dist/client/group-state.js.map +1 -1
  22. package/dist/client/rpc-pipeline.d.ts.map +1 -1
  23. package/dist/client/rpc-pipeline.js +29 -4
  24. package/dist/client/rpc-pipeline.js.map +1 -1
  25. package/dist/client/v2-e2ee.d.ts.map +1 -1
  26. package/dist/client/v2-e2ee.js +16 -2
  27. package/dist/client/v2-e2ee.js.map +1 -1
  28. package/dist/client.d.ts +22 -0
  29. package/dist/client.d.ts.map +1 -1
  30. package/dist/client.js +131 -14
  31. package/dist/client.js.map +1 -1
  32. package/dist/index.d.ts +2 -1
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +2 -0
  35. package/dist/index.js.map +1 -1
  36. package/dist/service-proxy.d.ts +219 -0
  37. package/dist/service-proxy.d.ts.map +1 -0
  38. package/dist/service-proxy.js +1321 -0
  39. package/dist/service-proxy.js.map +1 -0
  40. package/dist/transport.d.ts +2 -0
  41. package/dist/transport.d.ts.map +1 -1
  42. package/dist/transport.js +34 -0
  43. package/dist/transport.js.map +1 -1
  44. package/dist/v2/e2ee/encrypt-p2p.js +1 -1
  45. package/dist/v2/e2ee/encrypt-p2p.js.map +1 -1
  46. package/dist/v2/session/keystore.d.ts.map +1 -1
  47. package/dist/v2/session/keystore.js +8 -9
  48. package/dist/v2/session/keystore.js.map +1 -1
  49. package/dist/v2/session/session.d.ts +4 -2
  50. package/dist/v2/session/session.d.ts.map +1 -1
  51. package/dist/v2/session/session.js +20 -4
  52. package/dist/v2/session/session.js.map +1 -1
  53. package/dist/version.d.ts +1 -1
  54. package/dist/version.d.ts.map +1 -1
  55. package/dist/version.js +1 -1
  56. package/dist/version.js.map +1 -1
  57. package/package.json +1 -1
@@ -6,11 +6,12 @@ AUN SDK 文档位于 `docs/sdk/`,索引文件 `docs/sdk/INDEX.md` 分三层:
6
6
 
7
7
  当前 SDK 聚焦三主体模型:
8
8
 
9
- - `AIDStore`:注册、加载、列举、解析和证书运维。
10
- - `AID`:不可变身份值对象,负责签名、验签和 agent.md 签验。
11
- - `AUNClient`:认证、连接、状态机、事件和 RPC。
12
-
13
- 业务操作统一通过 `client.call(method, params)` 调用;消息、群组、存储、meta、stream 的参数见 `09-*-rpc-manual.md`。`message.send`、`message.thought.put`、`group.send`、`group.thought.put` 的业务 payload 见 `09-payload-reference.md`。在线轻量通知方案见 `Notify通知方案.md`。
9
+ - `AIDStore`:注册、加载、列举、解析和证书运维。
10
+ - `AID`:不可变身份值对象,负责签名、验签和 agent.md 签验。
11
+ - `AUNClient`:认证、连接、状态机、事件和 RPC。
12
+ - `ServiceProxyClient`:Python SDK 的 Service Proxy provider 侧客户端,负责 Gateway 控制面注册和 proxy-server 数据面隧道注册。
13
+
14
+ 业务操作统一通过 `client.call(method, params)` 调用;消息、群组、存储、meta、stream、proxy 的参数见 `09-*-rpc-manual.md`。`message.send`、`message.thought.put`、`group.send`、`group.thought.put` 的业务 payload 见 `09-payload-reference.md`。在线轻量通知和跨域 federation notify 方案见 `Notify通知方案.md`。
14
15
 
15
16
  ## 渐进式查阅流程
16
17
 
@@ -26,6 +27,7 @@ AUN SDK 文档位于 `docs/sdk/`,索引文件 `docs/sdk/INDEX.md` 分三层:
26
27
  - 连接与状态:AUNClient / 九态状态机 / Gateway / 重连
27
28
  - E2EE:默认加密、ProtectedHeaders、P2P / Group V2
28
29
  - RPC 与事件:`client.call()`、`client.on()`、`client.notify()`、RPC 手册
30
+ - Service Proxy:`ServiceProxyClient`、`proxy.register_services`、proxy-server `register_services`
29
31
  - agent.md:`AIDStore.upload_agent_md()`、`AIDStore.download_agent_md()`、`AIDStore.check_agent_md()`
30
32
  - 错误处理:Result、异常、错误码、重试
31
33
 
@@ -42,11 +44,12 @@ AUN SDK 文档位于 `docs/sdk/`,索引文件 `docs/sdk/INDEX.md` 分三层:
42
44
  | 03 | [核心概念](03-核心概念.md) | AID、状态机、认证、E2EE |
43
45
  | 04 | [连接与认证](04-连接与认证.md) | AIDStore、连接、网关发现、事件 |
44
46
  | 05 | [E2EE加密通信](05-E2EE加密通信.md) | E2EE、ProtectedHeaders、密钥管理 |
45
- | 06 | [API手册](06-API手册.md) | AIDStore / AID / AUNClient / 事件 / RPC |
46
- | 07 | [错误处理](07-错误处理.md) | Result、异常、错误码、重试 |
47
- | 08 | [最佳实践](08-最佳实践.md) | 幂等、多 AID、资源清理、测试数据 |
48
- | 09 | `09-*-rpc-manual.md` | 各服务 RPC 参数和响应 |
49
- | 09 | [AID托管API手册](09-custody-api-manual.md) | 可选 custody HTTP 服务 |
47
+ | 06 | [API手册](06-API手册.md) | AIDStore / AID / AUNClient / ServiceProxyClient / 事件 / RPC |
48
+ | 07 | [错误处理](07-错误处理.md) | Result、异常、错误码、重试 |
49
+ | 08 | [最佳实践](08-最佳实践.md) | 幂等、多 AID、资源清理、测试数据 |
50
+ | 09 | `09-*-rpc-manual.md` | 各服务 RPC 参数和响应 |
51
+ | 09 | [Service Proxy RPC手册](09-proxy-rpc-manual.md) | `proxy.*` 控制面和 proxy-server 数据面注册 |
52
+ | 09 | [AID托管API手册](09-custody-api-manual.md) | 可选 custody HTTP 服务 |
50
53
 
51
54
  ## 常见查阅场景
52
55
 
@@ -59,7 +62,8 @@ AUN SDK 文档位于 `docs/sdk/`,索引文件 `docs/sdk/INDEX.md` 分三层:
59
62
  | 状态机和重连 | [03-核心概念](03-核心概念.md)、[04-连接与认证](04-连接与认证.md) |
60
63
  | 查方法签名 | [06-API手册](06-API手册.md) |
61
64
  | 查消息或群组 RPC | 对应 `09-*-rpc-manual.md` |
62
- | 查 notify 在线轻量通知 | [Notify通知方案.md](Notify通知方案.md) |
65
+ | 查 notify 在线轻量通知 / 跨域 federation | [Notify通知方案.md](Notify通知方案.md) |
66
+ | 查 Service Proxy 服务注册和路由 | [06-API手册](06-API手册.md)、[09-proxy-rpc-manual.md](09-proxy-rpc-manual.md) |
63
67
  | 查 payload 格式 | [09-payload-reference.md](09-payload-reference.md) |
64
68
  | 排查错误 | [07-错误处理](07-错误处理.md) |
65
69
  | 写测试或 demo | [08-最佳实践](08-最佳实践.md) |
@@ -23,8 +23,9 @@
23
23
  | [09-storage-rpc-manual](09-storage-rpc-manual.md) | 存储 RPC |
24
24
  | [09-meta-rpc-manual](09-meta-rpc-manual.md) | meta RPC 和信任根 |
25
25
  | [09-stream-rpc-manual](09-stream-rpc-manual.md) | stream RPC |
26
+ | [09-proxy-rpc-manual](09-proxy-rpc-manual.md) | Service Proxy 控制面 RPC 和数据面隧道注册 |
26
27
  | [09-custody-api-manual](09-custody-api-manual.md) | 可选 AID 托管 HTTP API |
27
- | [Notify通知方案](Notify通知方案.md) | `client.notify()` 在线轻量通知设计 |
28
+ | [Notify通知方案](Notify通知方案.md) | `client.notify()` 在线轻量通知、跨域 federation 和可靠消息分工 |
28
29
 
29
30
  ---
30
31
 
@@ -56,13 +57,14 @@
56
57
  ### RPC 与事件
57
58
 
58
59
  - `client.call()` / `client.on()` → [04-连接与认证](04-连接与认证.md)、[06-API手册](06-API手册.md)
59
- - `client.notify()` 在线轻量通知 → [Notify通知方案](Notify通知方案.md)
60
+ - `client.notify()` 在线轻量通知、跨域 federation、在线/离线边界 → [Notify通知方案](Notify通知方案.md)
60
61
  - Message RPC → [09-message-rpc-manual](09-message-rpc-manual.md)
61
62
  - Group RPC → [09-group-rpc-manual](09-group-rpc-manual.md)
62
- - Storage RPC → [09-storage-rpc-manual](09-storage-rpc-manual.md)
63
- - Meta RPC → [09-meta-rpc-manual](09-meta-rpc-manual.md)
64
- - Stream RPC → [09-stream-rpc-manual](09-stream-rpc-manual.md)
65
- - Payload 格式 → [09-payload-reference](09-payload-reference.md)
63
+ - Storage RPC → [09-storage-rpc-manual](09-storage-rpc-manual.md)
64
+ - Meta RPC → [09-meta-rpc-manual](09-meta-rpc-manual.md)
65
+ - Stream RPC → [09-stream-rpc-manual](09-stream-rpc-manual.md)
66
+ - Service Proxy RPC 和隧道注册 → [09-proxy-rpc-manual](09-proxy-rpc-manual.md)
67
+ - Payload 格式 → [09-payload-reference](09-payload-reference.md)
66
68
 
67
69
  ### 错误与测试
68
70
 
@@ -97,7 +99,7 @@
97
99
 
98
100
  ### 06-API手册
99
101
 
100
- 列出 AIDStore、AID、AUNClient、事件、E2EE 高级 API 和 RPC 手册索引,包含 Python / TS / JS / Go 的主要命名差异。
102
+ 列出 AIDStore、AID、AUNClient、事件、ServiceProxyClient、E2EE 高级 API 和 RPC 手册索引,包含 Python / TS / JS / Go 的主要命名差异。
101
103
 
102
104
  ### 07-错误处理
103
105
 
@@ -111,6 +113,10 @@
111
113
 
112
114
  各业务服务的 RPC 参数、响应和错误语义。SDK 不为每个 RPC 提供一层业务 wrapper,应用直接通过 `client.call()` 调用。
113
115
 
116
+ ### 09-proxy-rpc-manual
117
+
118
+ 定义 Service Proxy 的 Gateway 控制面 `proxy.register_services` / `proxy.unregister_services` / `proxy.list_services`,以及 proxy-server 数据面 `register_services` 隧道消息、双注册顺序、服务列表一致性和 wakeup 路由语义。
119
+
114
120
  ### Notify通知方案
115
121
 
116
- 定义 `client.notify()` 的在线轻量通知语义、服务端/AID/群路由方式、无离线存储边界、安全约束,以及与 `message.send` / `group.send` 可靠应用事件的分工。
122
+ 定义 `client.notify()` 的在线轻量通知语义、服务端/AID/群路由方式、跨域 federation 在线转发、无离线存储边界、安全约束,以及与 `message.send` / `group.send` 可靠应用事件的分工。
@@ -0,0 +1,214 @@
1
+ # Notify 通知方案
2
+
3
+ > 状态:已实现。本文定义 SDK 公开 `notify()` API 的语义边界、路由方式、跨域行为,以及与可靠消息通道的分工。
4
+
5
+ ## 目标
6
+
7
+ `notify()` 用于发送 JSON-RPC 2.0 Notification:无 `id`、不等待业务响应、只面向在线长连接的轻量通知。
8
+
9
+ 它补齐 SDK 发送侧能力:SDK 已通过 `client.on(event, handler)` 接收 `event/...`,`notify()` 则提供对称的发送端能力。可靠应用事件仍走 `message.send` / `group.send`,在 payload 中使用 `type="event"` 或 `type="status"`。
10
+
11
+ ## 非目标
12
+
13
+ - 不做离线存储。
14
+ - 不分配 `seq`。
15
+ - 不进入 `message.pull` / `group.pull`。
16
+ - 不需要 ack。
17
+ - 不提供送达保证。
18
+ - 不承载敏感内容,除非应用自行加密。
19
+ - 不替代 `message.send` / `group.send`。
20
+
21
+ ## API 形态
22
+
23
+ 公共方法命名为 `notify()`,不用 `emit()`。
24
+
25
+ 原因:
26
+
27
+ - `notify` 对齐 JSON-RPC Notification 术语。
28
+ - `emit` 容易被理解为触发本地事件 handler,和 `client.on()` 组合时有歧义。
29
+ - `notify` 更清楚表达单向、轻量、无业务响应。
30
+
31
+ 四端 SDK 公开形态:
32
+
33
+ | 语言 | API |
34
+ |------|-----|
35
+ | Python | `await client.notify(method, params=None, *, to=None, group_id=None, device_id=None, slot_id=None, ttl_ms=None)` |
36
+ | TypeScript / JavaScript | `await client.notify(method, params?, { to?, groupId?/group_id?, deviceId?/device_id?, slotId?/slot_id?, ttlMs?/ttl_ms? })` |
37
+ | Go | `client.Notify(ctx, method, params, NotifyOptions{To, GroupID, DeviceID, SlotID, TTLMS})` |
38
+
39
+ 示例:
40
+
41
+ ```python
42
+ await client.notify("notification/client.activity", {"state": "idle"})
43
+ await client.notify("event/app.typing", {"thread_id": "t1"}, to="bob.agentid.pub", ttl_ms=5000)
44
+ await client.notify("event/app.presence", {"state": "active"}, group_id="group.agentid.pub/123")
45
+ ```
46
+
47
+ `await client.notify(...)` 只表示 SDK 已尝试把 Notification 帧写入当前 WebSocket,不表示服务端接受、目标在线或对端收到。
48
+
49
+ ## 路由模型
50
+
51
+ ### 1. 服务端通知
52
+
53
+ 未指定 `to` / `group_id` 时,SDK 直接发送无 `id` 的 JSON-RPC Notification:
54
+
55
+ ```json
56
+ {
57
+ "jsonrpc": "2.0",
58
+ "method": "notification/client.activity",
59
+ "params": {"state": "idle"}
60
+ }
61
+ ```
62
+
63
+ 直发服务端通知只允许 `notification/...` 方法名。Gateway 可按自身 handler 处理;无 handler、限流、背压或连接异常时可以丢弃。
64
+
65
+ ### 2. AID 在线转发
66
+
67
+ 指定 `to` 时,SDK 不直接发送 `event/app.*`,而是包装成 `notification/route`:
68
+
69
+ ```json
70
+ {
71
+ "jsonrpc": "2.0",
72
+ "method": "notification/route",
73
+ "params": {
74
+ "target": {"type": "aid", "aid": "bob.agentid.pub"},
75
+ "deliver": {
76
+ "method": "event/app.typing",
77
+ "params": {"thread_id": "t1"}
78
+ },
79
+ "ttl_ms": 5000
80
+ }
81
+ }
82
+ ```
83
+
84
+ Gateway 校验发送方认证上下文、payload 大小、TTL、方法名前缀和目标在线状态后,转发给目标在线长连接:
85
+
86
+ ```json
87
+ {
88
+ "jsonrpc": "2.0",
89
+ "method": "event/app.typing",
90
+ "params": {
91
+ "thread_id": "t1",
92
+ "_notify": {
93
+ "from_aid": "alice.agentid.pub",
94
+ "device_id": "dev-1",
95
+ "slot_id": "main",
96
+ "connection_id": "conn-xxx",
97
+ "sent_at": 1760000000000,
98
+ "ttl_ms": 5000
99
+ }
100
+ }
101
+ }
102
+ ```
103
+
104
+ 接收端 SDK 复用现有 `event/...` 分发,把它发布成本地 `app.typing` 事件。
105
+
106
+ ### 3. 跨域 AID 在线转发
107
+
108
+ 当 `to` 的 issuer 与发送方当前 Gateway issuer 不同时,源域 Gateway 通过 federation 把 notify 转发到目标 AID 所属域 Gateway。目标域 Gateway 再按本域在线索引投递。
109
+
110
+ 跨域 notify 仍保持 best-effort:
111
+
112
+ - 目标域在线则实时投递。
113
+ - 目标域离线或 federation 不可用则丢弃。
114
+ - 不写入消息库,不产生 pull/ack 补偿。
115
+ - `_notify.from_aid` 必须属于 federation `from_issuer`,否则目标域 Gateway 拒绝。
116
+ - 目标 AID 必须属于目标域 Gateway issuer,避免被远端 Gateway 转发到第三域。
117
+
118
+ 指定 `device_id` / `slot_id` 时,源域不会尝试解析远端连接 ID;过滤条件随 federation 转发到目标域,由目标域 Gateway 用本地在线索引解析。
119
+
120
+ ### 4. 群在线转发
121
+
122
+ 指定 `group_id` 时,SDK 发送 `notification/group.route`。Gateway 调用 Group 服务解析目标成员,Group 服务负责校验成员身份、群状态和权限;Gateway 只按 Group 服务返回的成员 AID 做在线 fanout。
123
+
124
+ 群成员包含外域 AID 时,Gateway 会按成员 AID issuer 做 federation 转发。Gateway 不直接跨域解析远端 `group_id`,群权限仍以 Group 服务返回的目标成员集合为准。
125
+
126
+ ## 在线投递规则
127
+
128
+ - `to=aid`:默认投递该 AID 的所有在线长连接设备。
129
+ - `to=aid + device_id`:只投递指定在线设备。
130
+ - `to=aid + device_id + slot_id`:只投递指定在线实例槽位。
131
+ - `group_id=...`:只投递 Group 服务确认的成员在线长连接设备。
132
+ - 跨域 AID notify 按目标 AID issuer 转发到目标域后再执行同样规则。
133
+ - 短连接默认不接收 notify。
134
+ - 目标离线、目标无在线长连接、TTL 过期、写入失败、背压超限时直接丢弃。
135
+
136
+ `ttl_ms` 取值范围为 `0..60000`,只用于在线投递过期控制,不表示离线缓存。
137
+
138
+ ## 方法名前缀
139
+
140
+ 客户端发出的 notify 限制为:
141
+
142
+ - `notification/...`:直发 Gateway 的协议级通知。
143
+ - `event/app.*`:应用自定义在线事件;仅在指定 `to` 或 `group_id` 时允许。
144
+
145
+ 禁止客户端伪造服务端权威事件,例如:
146
+
147
+ - `event/message.received`
148
+ - `event/message.recalled`
149
+ - `event/group.changed`
150
+ - `event/group.message_created`
151
+ - `event/storage.object_changed`
152
+
153
+ 这些事件只能由对应服务端模块产生。
154
+
155
+ ## 安全与限流
156
+
157
+ Gateway 会覆盖注入 `_notify.from_aid`、`device_id`、`slot_id`、`connection_id`、`sent_at`、`ttl_ms`,不信任客户端传入的同名字段。
158
+
159
+ 约束:
160
+
161
+ - payload 大小限制为 64KB。
162
+ - `ttl_ms` 最大 60000ms。
163
+ - `slot_id` 必须和 `device_id` 一起使用。
164
+ - `to` 和 `group_id` 不能同时设置。
165
+ - 跨域入站 notify 只接受带 `_notify` 的 `app.*` 事件,并做 sender issuer 绑定校验。
166
+ - notify 默认不做 E2EE;敏感、可靠、需审计内容必须走消息通道。
167
+
168
+ ## 适用场景
169
+
170
+ 适合:
171
+
172
+ - typing / composing。
173
+ - 临时在线状态。
174
+ - UI 提示。
175
+ - 轻量 wake hint。
176
+ - “在线的话刷新一下”。
177
+ - push proxy 在线时接收离线摘要。
178
+
179
+ 不适合:
180
+
181
+ - 任务完成结果。
182
+ - 文件可用通知。
183
+ - 重要业务事件。
184
+ - 需要离线后还能看到的状态。
185
+ - 需要审计、ack、重放保护的内容。
186
+
187
+ 这些场景应继续使用:
188
+
189
+ ```text
190
+ message.send(payload.type="event")
191
+ group.send(payload.type="event")
192
+ ```
193
+
194
+ ## 与现有 RPC/事件的分工
195
+
196
+ | 能力 | `notify()` | `message.send` / `group.send` |
197
+ |------|------------|--------------------------------|
198
+ | JSON-RPC 类型 | Notification | Request |
199
+ | 是否等待业务响应 | 否 | 是 |
200
+ | 离线存储 | 否 | 是,取决于消息通道配置 |
201
+ | seq / pull / ack | 否 | 是 |
202
+ | 默认 E2EE | 否 | SDK 默认加密 |
203
+ | 跨域 | 支持在线 federation 转发,best-effort | 支持可靠跨域消息 |
204
+ | 适合内容 | 瞬时在线提示 | 可靠业务消息和事件 |
205
+ | 失败处理 | 丢弃 | 返回错误或后续 pull/ack 补偿 |
206
+
207
+ ## 测试覆盖
208
+
209
+ notify 专项测试覆盖:
210
+
211
+ - 四端 SDK 单元测试:Notification 无 `id`、AID/group route 包装。
212
+ - 单域集成:AID 在线实时投递、group 在线成员投递。
213
+ - E2E:`device_id` / `slot_id` 精确投递、离线不存储不补发。
214
+ - 双域跨域:Python / TypeScript / Go / 浏览器 JavaScript 从 `aid.com` 在线投递到 `aid.net`。
@@ -10,7 +10,8 @@ AUN(Agent Union Network)定义 Agent 之间安全通信的标准接口,基
10
10
  - **三主体 SDK 模型**:`AIDStore` 管理 keystore,`AID` 是不可变身份值对象,`AUNClient` 管理连接与会话。
11
11
  - **Gateway 连接**:当前各语言 SDK 稳定支持 Gateway 接入;Peer / Relay 仍处于协议定义或未实现状态。
12
12
  - **默认 E2EE**:P2P 和 Group V2 消息默认加密;普通明文消息需要显式关闭加密。
13
- - **统一 RPC**:业务方法通过 `client.call(method, params)` 调用,事件通过 `client.on(event, handler)` 订阅;在线轻量通知方案见 `Notify通知方案.md`。
13
+ - **统一 RPC / 事件 / Notify**:业务方法通过 `client.call(method, params)` 调用,事件通过 `client.on(event, handler)` 订阅;在线轻量通知通过 `client.notify()` 发送,支持同域和跨域在线 federation,详见 `Notify通知方案.md`。
14
+ - **Service Proxy**:Python SDK 提供 `ServiceProxyClient`,provider 会先向 Gateway 注册 `proxy.*` 控制面服务列表,再在每条 proxy-server 隧道认证后注册数据面服务列表。
14
15
 
15
16
  ---
16
17
 
@@ -107,10 +108,10 @@ Layer 1: 安全层 TLS + AUN E2EE
107
108
  | [03-核心概念](03-核心概念.md) | AID、AIDStore、AUNClient、九态状态机、E2EE |
108
109
  | [04-连接与认证](04-连接与认证.md) | 注册、加载、认证、连接、事件、agent.md |
109
110
  | [05-E2EE加密通信](05-E2EE加密通信.md) | E2EE 收发、ProtectedHeaders、密钥管理 |
110
- | [06-API手册](06-API手册.md) | AIDStore / AID / AUNClient / 事件 / RPC 索引 |
111
+ | [06-API手册](06-API手册.md) | AIDStore / AID / AUNClient / ServiceProxyClient / 事件 / RPC 索引 |
111
112
  | [07-错误处理](07-错误处理.md) | Result、异常层级、错误码、重试策略 |
112
113
  | [08-最佳实践](08-最佳实践.md) | 幂等连接、多 AID、资源清理、测试数据保护 |
113
- | [Notify通知方案](Notify通知方案.md) | `client.notify()` 在线轻量通知设计 |
114
+ | [Notify通知方案](Notify通知方案.md) | `client.notify()` 在线轻量通知、跨域 federation 和可靠消息分工 |
114
115
 
115
116
  RPC 专项手册:
116
117
 
@@ -119,9 +120,10 @@ RPC 专项手册:
119
120
  | [09-message-rpc-manual.md](09-message-rpc-manual.md) | P2P 消息、ack、thought |
120
121
  | [09-group-rpc-manual.md](09-group-rpc-manual.md) | 群组生命周期、成员、群消息、群 thought |
121
122
  | [09-storage-rpc-manual.md](09-storage-rpc-manual.md) | 文件和对象存储 |
122
- | [09-meta-rpc-manual.md](09-meta-rpc-manual.md) | ping / status / trust_roots |
123
- | [09-stream-rpc-manual.md](09-stream-rpc-manual.md) | 流式数据传输 |
124
- | [09-payload-reference.md](09-payload-reference.md) | message / group payload 结构 |
123
+ | [09-meta-rpc-manual.md](09-meta-rpc-manual.md) | ping / status / trust_roots |
124
+ | [09-stream-rpc-manual.md](09-stream-rpc-manual.md) | 流式数据传输 |
125
+ | [09-proxy-rpc-manual.md](09-proxy-rpc-manual.md) | Service Proxy 控制面 RPC 和数据面隧道注册 |
126
+ | [09-payload-reference.md](09-payload-reference.md) | message / group payload 结构 |
125
127
  | [09-custody-api-manual.md](09-custody-api-manual.md) | 可选 AID 托管 HTTP API |
126
128
 
127
129
  协议文档随 SDK 包分发,位于 `aun_core/docs/protocol/`。