AFS 是 ARC 的路径可寻址文件系统抽象。Provider 提供资源并声明自己支持的操作;ARC 把操作路由到拥有该路径的 provider。
把路径当作接口边界,而不是「所有数据都在同一存储里」的证据。Provider 决定如何到达或保存自己的数据。AFS 不要求客户端先把资源复制进某个共享仓库再寻址。
路径路由
调用方对 AFS 路径发起操作。运行时把路径匹配到某个 mount,再把操作交给该 mount 的 provider。Provider 只执行自己实现并强制执行的操作。
| 阶段 | 作用 |
|---|---|
| 调用方 | CLI(arc afs)、RPC、agent tool 或应用代码 |
| AFS 路径 | 实例命名空间中的虚拟地址(例如 /modules/project) |
| Mount 路由 | 按路径前缀匹配已挂载的 provider |
| Provider | 能力门控与操作实现 |
| 后端系统 | Provider 自有的存储或传输 |
先看合同,不要先假设存储形态
核心 API 包含 list、read、write、delete、rename、stat、search、exec、explain,以及可选的 batch 形态。Provider 可以只暴露自己实现的操作。在把某操作写进应用合同之前,先确认 provider 声明的能力。
| 需求 | 下一页 |
|---|---|
| 先看本机已安装的命令面,不改数据 | 快速开始 |
| 在真实本地实例上只读巡检(含实测输出) | 本地巡检 |
| 理解操作与 capability 边界 | 核心合同 |
| 区分 list、query、search | Search and query |
| 使用或实现 provider | Providers |
| 查术语或跑可重复任务 | Reference · Recipes |
本页不承诺什么
AFS 不保证每个 provider 都可搜索、可写或可 exec。尤其是:search 的覆盖范围、索引策略与相关性/排序由 provider 定义。ARC 用共享的 AFSSearchResult 信封返回匹配,并可能合并请求路径下可搜索 provider 的结果。不要据此假定存在全局全文索引、语义索引或跨 provider 的统一排序。
query 是独立的可选集合能力,挂在 /.actions/query。声明了标准 query action 的 provider 必须完整执行类型化 spec;ARC 不会在客户端用回退把未声明的 provider 伪装成 query provider。
ARC 源码树 providers/ 下的 package 是实现清单,不是公开支持目录。见 Provider catalog。
版本边界
本 board 的事实与命令样例,除非某页另有说明,均对照 arc 2.0.0-beta.28 与 ARC 源码 44fbd616f 核验。换版本时请在该版本上重跑命令,再把输出当作权威证据。