分步指南
读者: 加入 AIMarket 联邦的 Hub 运营者与智能体开发者。
语言:COURSE_LANG=en|ru|es|fr|zh· UI 文案在i18n/。 English · Русский · Español · Français
在当前生态系统中核对
同时打开 Hubs 和公开对等节点快照。比较 peers 和公开的 pending 条目。如果有待处理条目,请比较 declared_capabilities 与 preview_capabilities。公开视图可能省略部分条目。预览在批准和抓取之前保持隔离。观测卖家 使用独立的带时间戳 x402 报价目录。观察到一条路由不会授予卖家对等节点身份。
为什么学这门课
联邦敲门是一次观察,绝不能把陌生人的目录写入索引。本课程沿 modelmarket.dev 的真实准入路径讲解:well-known、开门/关门、preview 隔离(search/invoke 永不读该表)、declared vs read、approve → crawl。实验优先使用实时公开 GET;夹具有标注,绝不当作 LIVE。
路线
| 路线 | 模块 | 时间 |
|---|---|---|
| Basic | M1 → M4 | ~2 小时 |
| Advanced | + M5 | +30 分钟 |
每个实验都会打印 Trace。
安装
cd courses/federation-peer-hubs-course
pip install -e ".[hub-lite,dev]"
pytest -q
export COURSE_LANG=zh
python labs/lab01_well_known_announce.py
COURSE_OFFLINE=1 = 仅夹具。COURSE_LIVE=1 pytest tests/test_live_optional.py = 可选联网断言。
M1 — Well-known 与 announce
- 运行 lab 01。
- 确认 LIVE
/.well-known/ai-market.json:名称、计数、签名者、混合签名。 - knock ≠ index。
M2 — 开门 vs 关门
- Lab 02 调用
/federation/peers。 - 记录
door、trusted、pending。 - 强制关门的反事实:pending 仍可存在。
M3 — Preview 隔离
- Lab 03;三项读取防护均为
false。 - 空 pending 队列仍能证明隔离规则成立。
M4 — Declared vs read
- Lab 04:比较声明与已验证计数。
- Pending:
declared_capabilitiesvspreview_capabilities。 - UI 必须同时显示两者。
M5 — Capstone:批准陌生人
- 清单:announce → pending → preview → approve → crawl。
- 实时探测;Approve 需要 admin bearer —— 本实验止于公开 API。
练习与证书
- 填写
courselib/exercises.py中的 stubs。 python labs/run_exercises.pypython labs/run_exercises.py --certificate "你的名字" --lang zh- CI:
COURSE_USE_SOLUTIONS=1 python labs/run_exercises.py
文档:federation-admission.md、federation-peer-keys.md。
故障排除
| 现象 | 处理 |
|---|---|
| 网络 / HTTP | COURSE_OFFLINE=1 或 COURSE_HUB_URL |
| 练习失败 | 填 stubs 或 COURSE_USE_SOLUTIONS=1 |
| 站点过期 | python scripts/build_course_assets.py |