跳到主要内容
知识地图如何从一个只读 provider 开始?ArcBlock 体系

你在这里。看看这个问题与其他知识怎样相连。

选择节点前往页面 · 展开后可留在地图中阅读

知识地图沿着连接,读懂一个问题
← AFS

一个问题

如何从一个只读 provider 开始?

先实现一个明确资源及其路径契约,再扩展操作。

先写下读者能观察到的行为

我们的教学目标是一个报告资源:读取标题和状态,不发送消息、不写磁盘、不接外部账户。先把请求路径、返回内容和不存在时的结果写清楚,再选实现方式。

AFSBaseProvider 提供路由和通用行为,@Read 声明读取处理器,@List 声明列举处理器。处理器返回资源条目;AFS 调度层再把 provider 内部路径放回调用者的命名空间。继承基类不等于已经实现了所有操作。

typescript
// Handler fragment: not a complete provider or conformance fixture.
@Read("/report")
async readReport(ctx: RouteContext) {
  return {
    id: "report",
    path: ctx.path,
    content: { title: "Prepare the keynote", status: "draft" }
  };
}

为什么先只读

只读版本让我们先检查命名、内容和解释是否一致。增加写入时,还要决定校验、持久化、权限及冲突处理;不能用一个按钮的状态变化冒充这些行为。

完整实现应配合 provider 编写文档,并为具体能力准备一致性测试。

本页涉及

术语

  • AFS

    AFS(Agentic File System)把与任务有关的文件、服务和正在进行的工作组织成可查看的资源视图。它不是把一整台机器或一堆 API 交给 agent,而是给任务一块有名字、有边界的工作范围。