Freeform
在 EmDash 中使用 AI 辅助的构建器创建表单,附带垃圾信息评分、邮件通知、Webhook 和 CSV 导出。
插件
Freeform
在 EmDash 中使用 AI 辅助的构建器创建表单,附带垃圾信息评分、邮件通知、Webhook 和 CSV 导出。
描述
Freeform for EmDash
构建表单、收集提交内容并对其采取行动——无需离开 EmDash。
表单构建器
- 13 种字段类型:text、email、textarea、number、phone、date、checkboxes、radio、dropdowns、multi-select、hidden 和 HTML 区块
- 基于行的布局,并支持逐字段校验(长度、模式、最小/最大值)
- AI 构建器,可根据一段简单的英文描述创建和编辑表单
- 开箱即用的联系和新闻简报订阅入门表单
提交内容
- 可搜索的提交收件箱,支持分页和完整的详情视图
- AI 提交摘要:意图、紧急程度、关键事实和建议的下一步操作
- 导出 CSV,便于用于电子表格和报表
自动化与防护
- 带可复用模板的邮件通知,可发送给你或提交者
- 带签名的 Webhook(HMAC-SHA256),支持自动重试和投递日志
- 垃圾信息评分,每次提交都带有蜜罐和 CSRF 防护
- 可选的 MCP 服务器,让 AI 代理可以管理表单并读取提交内容
表单通过配套的 @solspace/freeform-astro
软件包在你的站点上渲染,它提供不带样式的组件,供你用自己的 CSS 设计主题。
安装
安装
1. 安装插件
在 EmDash 管理后台中,前往 Plugins → Registry,找到 Freeform 并 安装。安装后,Freeform 会出现在侧边栏中。
2. 在你的站点上渲染表单
Freeform 的管理界面位于插件中;公开的表单由一个 小型配套 Astro 软件包渲染:
pnpm add @solspace/freeform-astro
// astro.config.mjs
import { defineConfig } from "astro/config";
import emdash from "emdash/astro";
import freeformAstro from "@solspace/freeform-astro";
export default defineConfig({
integrations: [emdash(), freeformAstro()],
});
然后通过表单的 handle 嵌入任意表单:
---
import { FreeformForm } from "@solspace/freeform-astro/components";
---
<FreeformForm formId="contact" />
3. 可选:AI 功能
AI 表单构建器、垃圾信息评分和提交摘要需要你自己的 Anthropic API 密钥。请在 Freeform → Settings 下添加。没有密钥时, 其他一切——手动构建表单、提交内容、邮件、Webhook—— 都能正常使用。
常见问题
常见问题
我需要 API 密钥吗? 只有 AI 功能(AI 表单构建器、AI 垃圾信息评分、提交 摘要)才需要。请在 Freeform → Settings 中添加你自己的 Anthropic API 密钥。表单、 提交内容、邮件通知和 Webhook 无需密钥即可使用。
如何保护提交内容免受垃圾信息侵扰? 每个表单都带有蜜罐字段和带签名的 CSRF 令牌。如果你添加了 Anthropic 密钥,每次提交还会获得一个 AI 垃圾信息评分,并根据 你控制的阈值(按表单或全局)进行标记。
我能收到新提交的通知吗? 可以。创建一个邮件模板,把它分配给某个表单,并选择是发送给 提交者(使用其邮箱字段)还是发送到固定地址。你 还可以在每次提交时向任意 URL 发送带签名的 Webhook。
如何导出提交内容? 在 Submissions 视图中,你可以下载任意表单的 CSV,或生成 一个短期有效的导出链接。
AI 代理能管理我的表单吗?
可以。Freeform 提供可选的 MCP 服务器(emdash-freeform-mcp),
向 Claude 和 Cursor 等客户端开放表单和提交内容工具。
渲染出的表单带有样式吗?
没有——这是有意设计的。@solspace/freeform-astro 渲染带有
data-freeform-* 属性的语义化 HTML,使表单与你站点的设计系统相匹配。
安全
安全
报告漏洞
请发送电子邮件至 [email protected]。请不要为安全问题公开提交 issue。
Freeform 如何保护你的站点
- 提交表单带有蜜罐字段和 HMAC 签名的 CSRF 令牌 (防时序攻击的验证,2 小时有效期)。
- 对外发送的 Webhook 使用 HMAC-SHA256(
X-Freeform-Signature)签名, 接收方可以验证其真实性。 - 你提供的 API 密钥(例如 Anthropic)存储在你站点自己的 插件存储中——绝不会发送给 Solspace。
- 导出链接是短期有效的签名令牌;它们会自动过期。