Blocklet 是 ARC 用于打包与运行应用或服务的单元。一个目录承载 package(blocklet.yaml 与资产)。本地或远程的 instance 是该 package 的一次具体运行形态。
Blocklet 不是 AUP、Web Device 或 AFS provider 的别名:
| 层 | 含义 | 文档板 |
|---|---|---|
| Blocklet | 应用/服务的 package + instance 单元 | 本板 |
| AUP | 语义界面契约(页面、事件、primitive) | AUP |
| Web Device | Web 内容、站点组件、主题、路由 | Web Device |
| AFS | 路径可寻址数据与 provider 操作 | AFS |
Blocklet 可以包含 AUP 页面、Web Device 路由、agent、settings 与 AFS mount。它们是 package 内部的 surface 与能力,不是 package 本身的同义词。
按任务阅读
| 你需要 | 从这里开始 |
|---|---|
| 区分 package 与 instance | Package 与 Instance |
| 不远程部署即可脚手架与验收 | 本地创建与运行 |
| 校验、构建、inspect 产物 | 检查、构建与 inspect |
| 声明 manifest 字段与能力 | Manifest 与能力 |
| 在 Blocklet 中使用 AFS 路径 | 数据与 AFS |
| 选择 AUP 与 Web Device surface | Web surface |
| 区分本地验收与发布 | 生命周期 · 发布与部署 |
| 查看 ARC 树中的真实 package | 参考应用 |
本地优先
日常开发与验收从直接指定的本地目录、隔离的 ARC 环境开始:
arc blocklet create ./my-app --recipe minimal-app --name my-app
arc dsl validate ./my-app
arc blocklet check ./my-app --profile minimal-app
arc service start --blocklet ./my-app --port 4939
# 打开 http://my-app.localhost:4939/这条链路证明源码、声明契约,以及本地 runtime 接受的可观察 surface。它不需要 DID Space、远程 server、Cloudflare Pages 或 arc deploy --server。
已在隔离临时目录用 arc 2.0.0-beta.28 验证:minimal-app 脚手架、DSL 校验、profile check 与 arc service start --blocklet 均成功;对 Host: demo-min.localhost 的 GET / 返回 HTTP 200。
本板不承诺
- 与历史产品名(如 Blocklet Server、Media Kit)的功能一一对等
- 远程 DID Space 发布(
--server)或有状态/instance流程在每台机器上均已 E2E 证明 - 构建通过可以替代对渲染 surface 的浏览器验收
路径不完整或依赖环境时,页面会标为 experimental 或 未验证,并指向已证明的本地路径。
命令速查
| 目标 | 命令 |
|---|---|
| 脚手架 | arc blocklet create [dir] --recipe <name> --name <id>(init 为别名) |
| 列出 recipe | arc blocklet recipe list / explain <name> |
| 校验 DSL | arc dsl validate <dir> |
| 检查 package 契约 | arc blocklet check [dir] --profile <profile> |
| 约定扫描 | arc blocklet dev [dir] |
构建 dist/ | arc blocklet build [dir] |
| Inspect package | arc blocklet inspect <dir> |
| 本地 serve(推荐) | arc blocklet run <dir> 或 arc service start --blocklet <dir> |
| CLI 手册 | arc blocklet |