跳到主要内容

AFS

用 Explorer 浏览 AFS

用 AFS Explorer blocklet 在浏览器里浏览、检视、预览任意已挂载的 AFS 路径,URL 与 AFS 路径一一对应。

用本页在浏览器里(而不是 CLI)浏览一个正在运行的本地 AFS 面。下文全部内容在本地 daemon(arc 2.0.0-beta.34)上实测,AFS Explorer blocklet 服务于 http://explorer.localhost:4900。你的 mount、路径与子项会不同。每个读操作的 CLI 等价形式见本地巡检 AFS

Explorer 以 scope: root 声明:它能看到你整个 AFS 命名空间,包括所有 mount。把它当作面向自己机器或自有部署的私有检视面,并对树中可见的 provider URI 套用与 arc afs mount list 输出相同的脱敏纪律——URI 可能内嵌 token。

1. 打开 Explorer

在本地 daemon(经 arc 启动)上,Explorer 应答于 daemon 端口的 explorer.localhost 域名:

text
http://explorer.localhost:4900/

URL 路径就是 AFS 路径。在应用里导航到 /registry/providers,地址栏就是 /registry/providers;把这个 URL 贴回浏览器会打开同一目录。选中文件时追加 ?sel= 查询参数:

text
http://explorer.localhost:4900/registry/providers          ← 目录 = URL 路径
http://explorer.localhost:4900/modules/project?sel=%2Fmodules%2Fproject%2FREADME.md

两种形式都是可分享的深链。一条实测注意项:首次加载时应用可能恢复你上次访问的位置而不是贴入的 URL——再加载一次同一 URL 即可正确落位(见可预期的失败)。

2. 认识四个面板

面板显示内容(实测)
Sidebar全命名空间的目录树(只含目录),自带过滤框,自动展开到当前路径。下方 Tags 区在条目未带标签时显示 No tags yet
主列表当前目录:视图切换( 列表、 网格、 幻灯),过滤框,可点击的面包屑,.. 行,以及带类型与大小徽标的条目行。长目录增量加载,底部以 69 of 185 这类计数显示已加载比例。
Inspector选中条目:名称与大小头部,Download / Open / Copy link 动作,可折叠的 DetailsAbout,以及 Preview
状态栏静态文本 Ready,不是活动指示器。

AFS Explorer 根目录:带 mount 描述的 sidebar 树、带复选框的主列表、inspector 预览、状态栏

3. 导航

操作结果(beta.34 实测)
单击条目选中;inspector 更新,URL 追加 ?sel=
双击目录进入该目录
点击 .. 或面包屑段上跳 / 跳到对应祖先
/ 移动选中项(URL 的 ?sel= 跟随)
Enter进入选中的目录
Backspace回到父目录
点击 sidebar 目录跳转过去;树沿途展开

在任一过滤框输入即可收窄树或当前列表。

/registry/providers 的面包屑与 provider 目录,sidebar 树已展开到同一路径

4. 检视文件

选中文件并展开 Details。本地 fs mount 上一个文件的实测字段:

text
path          /modules/project/README.md
version       177993786…721-5320        ← 不透明的乐观并发 token
kind          fs:file
access        readwrite
modified      2 months ago | May 27, 2026, 8:11 PM
capabilities  list read stat search write delete exec explain

Preview 尽力内联渲染——实测:Markdown 渲染为格式化文本,图片经签名的 /api/afs/raw URL 加载,目录显示子项列表。无法内联渲染的条目(以 registry:guide 节点实测)显示 No preview available 与可用的 Download 链接。Download / Open / Copy link 是 inspector 头部仅有的动作——列表行上另有 Collect(见第 6 节)。

Inspector 显示 README.md 的 Details 元数据与渲染后的 Markdown 预览

5. 切换视图

  • 列表 —— 行式条目,带 mime 类型与大小徽标、复选框和按行动作。
  • 网格 —— 卡片式,带内容缩略(文本文件显示开头几行,图片显示图像),复选框与按卡动作同在。
  • 幻灯 —— 一次一张大卡,◀ 1 / N ▶ 翻页;只供浏览,无选择。

可写目录的网格视图:卡片内容缩略,以及 Upload File / New Folder / Upload Folder 工具栏

6. 多选与条目菜单

在列表或网格视图勾选复选框,工具栏显示 N selected 与两个批量动作:CollectClear。右键点击条目行与点击其 按钮打开同一个菜单;beta.34 上它只含一个动作 Collect——把条目收藏进你的个人集合。Collect 出现在每个条目上,包括只读目录里的条目。

beta.34 的这个面上没有重命名、删除、移动、复制——菜单里没有,批量条里也没有。见可预期的失败

列表视图中两行被选中,“2 selected · Collect · Clear”批量条,以及展开的条目菜单(仅 Collect)

7. 向可写目录写入

Explorer 随导航逐目录探测可写性。探测为可写的目录,工具栏出现 Upload FileNew FolderUpload Folder;只读目录不显示这些按钮。New Folder 展开内联名称输入框——输入名称后按 Enter

写入是否成功取决于 mount 是否真正实现普通写。实测失败案例:在 /blocklet-manager(声明的 capabilities 不含 write 的 workspace mount)上,工具栏照常出现,名称输入框接受输入并清空——但什么也没创建,也没有任何报错。同一写入走 CLI 会显式失败(ERROR: Internal server error)。依赖写入之前,请以 Details 里 mount 声明的 capabilities 为准,而不是工具栏。

8. 窄屏使用

窄至手机宽度时,四个面板折叠为标签栏——sidebar / primary / inspector——一次显示一个面板。390 px 宽度下实测。

可预期的失败

你做了什么beta.34 上发生什么含义
在已有会话的浏览器里贴入深链可能落在上次访问的路径再加载一次同一 URL 即可正确解析
在不支持普通 write 的 mount 上 New Folder输入被接受,但什么也没创建,无报错静默 no-op;先看 Details 里该条目的 capabilities
找重命名 / 删除 / 移动 / 复制任何菜单与工具栏里都没有本面只有浏览 + 收藏 + 上传
找“执行 action”按钮不存在;capabilities 里仍可能列出 exec本面不暴露 action 执行——用 arc afs exec,或者 daemon 的 /explorer-classic/ 路由(见下面「附录:classic explorer(不再是独立命令)」)
选中 registry: 文档节点No preview available + Download内联预览取决于节点 kind,不是文件扩展名
盯着状态栏看进度永远是 Ready静态文本,不是实时指示器

附录:classic explorer(不再是独立命令)

以前还有第二种独立打开这个 UI 的方式:arc explore [path] --port <port>,会启动自己的本地服务,独立于任何正在跑的 daemon。这条命令在 ArcBlock/arc#5234 被删除了(它没有任何自动化调用方)——但 UI 本身没有消失。现在每一个用 arc service start 起的 daemon 都会直接在 /explorer-classic/ 上提供它(实测验证:curl http://localhost:<port>/explorer-classic 会 301 跳到 /explorer-classic/,返回的正是同一个 AFS Explorer 页面,带 Browse / Mounts / Registry 三个标签页、mount 管理、以及 action 执行——这是一个和上文的 blocklet 提供的 /explorer 不同、更完整的界面;上文「可预期的失败」表格明确指出后者没有 mount 管理和 action 执行)。如果你手上还有调用 arc explore 的旧笔记或脚本,改成 arc service start,再打开 http://localhost:<port>/explorer-classic/

本页不做什么

  • 不声称你的实例与截图有相同的 mount、路径或子项。
  • 不讲授标签的创建——Tags 区只在空态下实测过。
  • 不承诺任何 mount 支持写入;capabilities 按 mount 声明。
  • 不覆盖正式发布或 DID Space 部署检查;见运行时边界