EmDash 插件可以通过两种方式安装:从市场通过后台仪表板安装,或直接在 Astro 配置中添加。市场插件在隔离的沙盒中运行;基于配置的插件在进程中运行。
从市场安装
后台仪表板包含一个市场浏览器,你可以在其中搜索、安装和管理插件。
前提条件
要安装市场插件,你的站点需要:
-
配置沙盒运行器 — 市场插件在隔离的 V8 worker 中运行,这需要沙盒运行时:
import { emdash } from "emdash/astro"; export default defineConfig({ integrations: [ emdash({ marketplace: "https://marketplace.emdashcms.com", sandboxRunner: true, }), ], }); -
后台访问权限 — 只有管理员可以安装或删除插件。
浏览和安装
- 打开后台面板并导航到 插件 > 市场
- 浏览或搜索插件
- 点击插件卡片查看其详细信息页面 — README、截图、功能和安全审计结果
- 点击 安装
- 查看功能同意对话框 — 这显示了插件将能够访问的内容
- 确认安装
插件将被下载,存储在你站点的 R2 bucket 中,并加载到沙盒运行器中。它立即生效。
功能同意
在安装之前,你会看到一个对话框,列出插件需要访问的内容:
| 功能 | 含义 |
|---|---|
read:content | 读取你的内容 |
write:content | 创建、更新和删除内容 |
read:media | 访问你的媒体库 |
write:media | 上传和管理媒体 |
network:fetch | 向特定主机发出网络请求 |
安全审计
市场中的每个插件版本都经过了自动安全审计。审计结果显示在插件卡片上:
- 通过 — 未发现问题
- 警告 — 标记了小问题(查看详情)
- 失败 — 检测到严重的安全问题
你可以在插件的详细信息页面上查看完整的审计报告,包括各个发现及其严重性。
更新
当已安装插件有新版本可用时:
- 转到后台面板中的 插件
- 市场插件显示 有可用更新 徽章
- 点击 更新 查看变更日志和任何功能更改
- 如果新版本需要额外的功能,你会看到差异并需要批准
- 确认以更新
卸载
- 转到后台面板中的 插件
- 点击要删除的市场插件
- 点击 卸载
- 选择是保留还是删除插件的存储数据
- 确认
插件的沙盒代码将从你的 R2 bucket 中删除,并立即停止运行。
从配置安装
对于原生插件(你自己的代码,或通过 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 的完全访问权限
- 在构建时和每次服务器启动时加载
- 无法从后台 UI 安装或删除
市场与配置:何时使用哪个
| 市场(沙盒化) | 配置(原生) | |
|---|---|---|
| 安装方法 | 后台 UI 中一键安装 | 代码更改 + npm install + 部署 |
| 执行 | 隔离的 V8 isolate | 进程中 |
| 功能 | 在运行时强制执行 | 仅建议 |
| Node.js API | 不可用 | 完全访问 |
| React 后台页面 | 否(改用 Block Kit) | 是 |
| PT 渲染组件 | 否 | 是 |
| 更新 | 后台中一键更新 | 版本升级 + 部署 |
| 最适合 | 大多数插件 | 需要构建时集成的插件 |