两个看似相似但职责不同的字段
在 OAN 的注册和发现流程中,有两个容易混淆的概念:authorizedDomains 和 capabilityTags。它们看起来都像“给资源打标签”,但实际职责完全不同。理解这一区分,是理解 OAN 可信发现和开放治理设计的关键。
authorizedDomains 表示授权域,属于治理和准入边界。它回答的问题是:某个资源或节点在哪些治理认可的领域内可以被发布、索引或发现。Discovery 节点也会受到授权域约束,不能把自己没有权限服务的资源当作可信候选返回。授权域更接近“可服务范围”和“治理边界”,不是自由填写的兴趣标签。
授权域不是能力标签
capabilityTags 表示能力标签,属于发现和匹配信号。它回答的问题是:这个资源大概能做什么,适合哪些任务,属于什么能力类别。能力标签可以帮助用户搜索,也可以帮助智能体进行候选筛选。例如代码生成、知识检索、数据分析、工作流自动化、MCP 工具等,都更适合作为能力标签,而不是授权域。
| 维度 | authorizedDomains |
capabilityTags |
|---|---|---|
| 性质 | 治理边界 | 搜索信号 |
| 谁维护 | 节点 / 治理侧 | 资源提供者 / 推荐辅助 |
| 是否可自由新增 | 受限 | 可以增删 |
| 作用对象 | 节点和资源 | 资源和查询 |
| 出错后果 | 越权或无效发现 | 召回差、分类乱 |
如果把二者混在一起,会带来两个问题。第一,治理边界会被弱化。用户随手添加一个能力词,就可能被误解为拥有某个领域授权。第二,发现效果会变差。授权域集合通常较稳定、较少、由节点或治理侧维护;能力标签则可以更细、更灵活、更贴近任务语义。把它们混用,会让分类体系既不适合治理,也不适合搜索。
注册推荐必须保留治理边界
OAN 的做法是让二者相互独立但可以互相补充。注册时,用户可以在 Basic Resource 信息中描述资源名称、类型、协议、入口、用途和详细说明。Registrar 可以基于这些信息给出能力标签建议,也可以给出授权域候选。但授权域候选必须来自该 Registrar 节点允许的授权域集合,避免用户输入无效或越界的授权域。能力标签则可以来自能力标签树,同时保留用户手动增删和自定义扩展的空间。
这里的“推荐”不能被误解为“授权”。OAN 的语义推荐库可以支持中文、英文或中英混合输入,把用户描述映射到规范化的英文授权域候选和能力标签候选。它的设计边界很清楚:推荐库不创建信任、不授予权限、不替代注册节点校验,也不依赖链上治理查询。Registrar 可以调用它生成候选项,但最终仍要以节点的授权域集合、Root 验证规则和治理状态为准。
能力标签树服务于发现体验
能力标签候选集也不是随意拍脑袋生成。OAN 可以维护 capability_tag_tree.v1.json 这类可扩展树状标签资源,将常见能力按一级、二级标签组织起来,并保留后续替换或扩展空间。注册时,系统可以根据资源名称、描述、协议和入口推荐标签;发现时,系统可以根据 Query 推荐标签、资源类型和协议。用户仍然可以删除、增加或调整标签,因为能力标签服务于发现体验,不应把资源描述锁死。
在 Discovery 页面中,用户的 Query 是核心输入。系统可以根据 Query 推荐能力标签、资源类型和协议类型,用于帮助用户更快构造查询条件。但这些推荐仍然只是查询辅助。Discovery 最终返回结果时,还必须执行授权域过滤和资源包验证。也就是说,能力标签影响“怎么找”,授权域决定“哪些结果有资格出现”。
第三方节点需要清楚区分二者
这种设计对第三方节点也很重要。未来不同 Registrar 或 Discovery 节点可能服务不同领域,例如企业应用、科研工具、行业模型、政务流程、软件开发、数据分析等。每个节点的授权域集合应由官方治理或节点授权状态约束;而能力标签体系可以逐步扩展、替换或与行业词表映射。二者分开,系统才有长期演进空间。
在用户界面上,OAN 也应把这种差异表达清楚。授权域输入应该尽量使用可联想、可选择、可校验的交互,避免用户输入不存在的域。能力标签输入则更适合 chip/tag input,让用户按回车形成独立标签,也能删除和添加。这样,用户不必纠结逗号还是分号,也更容易理解每个词代表一个独立条件。
一句话概括:授权域是治理边界,能力标签是搜索信号。前者保护网络秩序,后者提升发现体验。OAN 把它们分开,是为了让智能体资源既能被灵活发现,又不突破可信治理的边界。
对注册和发现页面的影响
| 页面 | 授权域怎么用 | 能力标签怎么用 |
|---|---|---|
| 注册页 | 从节点授权集合中选择 | 辅助生成和手动编辑 |
| 发现页 | 作为过滤条件 | 作为召回和排序信号 |
| 后端校验 | 必须严格校验 | 允许更灵活的词表演进 |
| 前端体验 | 避免输入无效授权域 | 支持 chip/tag input |
在注册页面,授权域最好来自注册节点公开的授权域集合,用户可以选择,但不应轻易填出无效值。能力标签则更适合使用推荐和补全,让用户能够删除、增加、微调。在发现页面,两者都可以做成 chip/tag input,让用户按回车形成独立标签,也能删除和添加。这样,用户不必纠结逗号还是分号,也更容易理解每个词代表一个独立条件。
一句话概括:授权域是治理边界,能力标签是搜索信号。前者保护网络秩序,后者提升发现体验。OAN 把它们分开,是为了让智能体资源既能被灵活发现,又不突破可信治理的边界。
两个字段的分工
授权域负责“能不能用”,能力标签负责“好不好找”。它们都出现在注册和发现里,但承担的职责完全不同,不能混着填。
| 维度 | authorizedDomains |
capabilityTags |
|---|---|---|
| 性质 | 治理边界 | 搜索信号 |
| 谁维护 | 节点 / 治理侧 | 资源提供者 / 推荐辅助 |
| 作用对象 | 节点和资源 | 资源和查询 |
| 出错后果 | 越权或无效发现 | 召回差、分类乱 |
这也是注册体验和发现体验的分界线
注册时要尽量少让用户犯治理错误;发现时要尽量让用户更快找到资源。把这两个字段分清楚,页面设计和后端校验才不会互相打架。