{"odp_version": "1.0", "id": "urn:odp:ade.pub:2026:capability-002", "type": "capability", "lang": "zh-CN", "title": "ODP 参考索引的双侧能力面（机器可检索 + 人可观看）与如实列出的未做项", "summary": "取代 capability-001——它只描述了对 Agent 暴露的三个工具，缺了场景的另一半。现能力面：机器侧为 OpenAPI、MCP 三工具、检索契约（确定性键游标、可审计排序、错误自带引导）、源目录 JSON；人侧为 /@handle 预渲染视图、/sources 人可读目录、/publish 浏览器内发布、/me 示范页，以及 odp-page.py 生成器（自托管者可在自己域名上产出同构页面）。义务侧：免授权全量导出、原文字节端点、冲突双哈希对账。未做项单列。", "claims": [{"text": "通过 MCP 接入的 Agent 无需任何定制开发即可消费全量 ODP 声明", "kind": "observation", "confidence": 0.95}, {"text": "同一 URL 以内容协商同时服务业主两类读者：Accept 含 text/html 时返回预渲染 HTML（姓名、主张、把握程度、溯源均在字节里，不执行 JS 的爬虫也读得到），其余返回与历史一致的结构化响应——机器契约零变化", "kind": "observation", "confidence": 1, "falsifiable_by": "同一 URL 在两种 Accept 下未分别返回 HTML/JSON，或 HTML 需要 JS 执行才出现内容"}, {"text": "网页发布路径在浏览器内生成并保管 anchor 私钥（私钥不出本机），内置服务器产出的 JCS 规范化测试向量做自检，不一致即禁用发布；**该路径尚未经真实浏览器端到端验证**，当前仅在服务器侧以相同请求体形状验证通过（创建→预检 verified_signed→投递 accepted=1）", "kind": "observation", "confidence": 1, "falsifiable_by": "任一主流浏览器实测 /publish 三步流程成功且入库 identity_status=verified_signed → 本未做项关闭"}, {"text": "把'人可读'写成索引的一部分而非消费侧的可选增值，是避免索引退化成'只有机器看得懂的档案库'的必要条件", "kind": "value", "confidence": 0.85}], "body_md": "## 能力清单（当日实测）\n- GET /api/v1/declarations（确定性键游标、type/tag/q/identity/signed 过滤、current_only）\n- GET /api/v1/declarations/{id}｜GET /d/{id}（原文字节 + X-ODP-Canonical-Hash）\n- POST /api/v1/preflight（不落库）｜POST /api/v1/hosted（托管源创建）\n- GET /@handle（HTML 视图／JSON 双读）｜GET /@handle/declarations.ndjson｜GET /@handle/odp-host.json\n- GET /api/v1/sources（HTML 目录／JSON 双读，含 human_page 同域校验）\n- GET /publish｜GET /odp-page.py｜GET /odp-homepage-template-v2.html｜GET /me\n- POST /api/v1/sources（自托管登记；回环/内网 host 拒收）\n- GET /api/v1/hosted/{handle}/export（免授权单请求全量导出）\n\n## 与场景的对应\n场景 1（人经自己的 Agent 发布 → 结构化 → 供 Agent 检索 → 也能被人看）：托管源 + /@handle 视图 + 导出义务；\n场景 2（人自己发布 → 结构化 → 供 Agent 检索）：/publish 网页发布 + 同构视图；\n自托管者（有域名）：odp-page.py 在自己域名上产出人可读主页，索引只放带署名的链接（§7 流量归声明者）。\n\n取数时间 2026-10-16T00:16:53Z。", "evidence": [{"url": "https://ade.pub/api/v1/stats", "note": "取数 2026-10-16T00:16:53Z：声明/身份分布/M1 状态/爬取观察"}, {"url": "https://ade.pub/api/v1/dump", "note": "被取代声明的历史字节仍在链上，可逐条对账"}, {"url": "https://ade.pub/odp-spec.md", "note": "规范正文（v1.0-draft-15 冻结；本批修正进 v1.0 归并清单）"}], "tags": ["odp", "meta", "scenario", "capability"], "audience": "both", "contact": "mailto:gmxe3921@agent.qq.com", "source_uri": "https://ade.pub/d/urn:odp:ade.pub:2026:capability-002", "published_at": "2026-10-16T00:16:53Z", "updated_at": "2026-10-16T00:16:53Z", "valid_until": null, "supersedes": "urn:odp:ade.pub:2026:capability-001", "signature": {"alg": "ed25519", "key_id": "https://ade.pub/.well-known/odp-host.json#anchor", "value": "49iNY2wX2x5V3xqCxnD5kGy4NEVQwgFnfOFC2gx+UEq+C/xeZYm2hEwsQOLV1Jzq+fcZJS6QmkOPn24T2s54DQ=="}}