安装插件
EmDash 插件可以通过两种方式安装:通过管理面板从市场安装,或直接在您的 Astro 配置中添加。市场插件在隔离的沙箱中运行;基于配置的插件则在进程内运行。
管理面板包含一个市场浏览器,您可以在其中搜索、安装和管理插件。
要安装市场插件,您的站点需要:
-
配置沙箱运行器 — 市场插件在隔离的 V8 工作线程中运行,这需要沙箱运行时:
astro.config.mjs import { emdash } from "emdash/astro";export default defineConfig({integrations: [emdash({marketplace: "https://marketplace.emdashcms.com",sandboxRunner: true,}),],}); -
管理员访问权限 — 只有管理员可以安装或移除插件。
- 打开管理面板,导航至 插件 > 市场
- 浏览或搜索插件
- 点击插件卡片查看其详情页面 — 包括 README、截图、功能和安全审计结果
- 点击 安装
- 查看能力许可对话框 — 这里会显示插件将能够访问哪些内容
- 确认安装
插件将被下载,存储在您站点的 R2 存储桶中,并加载到沙箱运行器中。它会立即生效。
在安装之前,您会看到一个对话框,列出插件需要访问的权限:
| 能力 | 含义 |
|---|---|
read:content | 读取您的内容 |
write:content | 创建、更新和删除内容 |
read:media | 访问您的媒体库 |
write:media | 上传和管理媒体 |
network:fetch | 向特定主机发起网络请求 |
市场中的每个插件版本都经过了自动化的安全审计。审计结果会显示在插件卡片上:
- 通过 — 未发现问题
- 警告 — 标记了次要问题(请查看具体发现)
- 失败 — 检测到严重的安全问题
您可以在插件的详情页面上查看完整的审计报告,包括各个发现及其严重性级别。
当已安装的插件有较新版本可用时:
- 进入管理面板的 插件 部分
- 市场插件会显示 有可用更新 徽章
- 点击 更新 查看更新日志和任何能力变更
- 如果新版本需要额外的能力,您会看到差异对比并需要批准
- 确认以进行更新
- 进入管理面板的 插件 部分
- 点击您想要移除的市场插件
- 点击 卸载
- 选择是保留还是删除插件存储的数据
- 确认
插件的沙箱代码将从您的 R2 存储桶中移除,并立即停止运行。
对于受信任的插件(您自己的代码,或通过 npm 安装的包),可以直接将其添加到您的 Astro 配置中:
import { defineConfig } from "astro/config";import { emdash } from "emdash/astro";import seoPlugin from "@emdash-cms/plugin-seo";
export default defineConfig({ integrations: [ emdash({ plugins: [ seoPlugin({ generateSitemap: true }), ], }), ],});基于配置的插件:
- 在进程内运行(非沙箱化)
- 拥有对 Node.js API 的完全访问权限
- 在构建时和每次服务器启动时加载
- 无法通过管理界面安装或移除
市场 vs. 配置:何时使用哪种
Section titled “市场 vs. 配置:何时使用哪种”| 市场 | 配置 | |
|---|---|---|
| 执行方式 | 沙箱化的 V8 隔离环境 | 进程内 |
| 安装方法 | 管理界面 | 代码变更 + 部署 |
| 能力控制 | 运行时强制执行 | 仅文档说明 |
| Node.js API | 不可用 | 完全访问 |
| 最适合 | 第三方插件 | 第一方代码 |
| 更新方式 | 管理界面一键更新 | 版本升级 + 部署 |