Umami Analytics
非官方 Umami 插件,与 Umami 无关联:在 EmDash 后台查看流量、热门页面、来源和每个条目的浏览量。
插件
Umami Analytics
非官方 Umami 插件,与 Umami 无关联:在 EmDash 后台查看流量、热门页面、来源和每个条目的浏览量。
描述
这是一个非官方插件,与 Umami 没有关联,也未获得 Umami 的认可或支持。
在 EmDash 后台中显示你的 Umami 数据:仪表盘上的站点流量,以及条目旁边对应的页面浏览量。支持 Umami Cloud 和 3.4.0 及以上版本的自托管 Umami。
- Umami 流量卡片。 位于仪表盘:最近七天的访问量、页面浏览量和互动情况,并与前一周对比,同时列出浏览最多的五个页面及其对应条目。
- Umami Analytics 页面。 7、30 或 90 天的每日图表、跳出率和访问时长、热门条目、来源、国家/地区,按站点附带的事件数据统计的页面浏览量(首先支持按分类),以及一项设置检查,会针对发现的每个问题给出修复建议。
- 按条目统计页面。 列出每个已发布条目最近 7 天和 30 天的页面浏览量,可排序,可针对单个集合或全部集合查看,也可按需合并各语言版本。
- Umami 编辑器面板。 在编辑器旁显示每个条目 7 天和 30 天的页面浏览量;如果你的站点发送阅读事件,还会显示读者读到了哪个位置。
- MCP 工具。 四个只读工具,直接依据已存储的数据作答。
插件只读取数据,绝不会修改 Umami 或你的内容。你可以使用演示数据,在没有 Umami 网站的情况下试用。
已在自托管的 Umami 3.4.0 上测试。Umami Cloud 连接遵循 Umami 公布的 API,但尚未在 Cloud 账户上实际运行过。
基于 Eisbachcode 的 EmDash analytics 插件,采用 MIT 许可证。
安装
你需要:带有插件沙盒运行器的 EmDash 1.0.1 或更高版本;Umami 中的一个网站,且 Umami 的跟踪脚本已部署在你的站点上;自托管的 Umami 3.4.0 或更高版本(首个支持 API 密钥的自托管版本)或 Umami Cloud;以及在站点上设置 EMDASH_ENCRYPTION_KEY,以便 API 密钥能加密保存(npx emdash secrets generate 可生成)。
- 从注册表安装插件并查看其权限:读取内容、读取模式,以及向任意公共主机发起网络请求。插件只会请求其设置中的 Umami API 地址。
- 在 Umami 中创建一个角色为“仅查看”的用户。把它添加到包含你网站的团队中,团队角色同样为“仅查看”。如果网站属于你个人而不是团队,请先把它移到一个团队下。
- 以该用户身份登录 Umami,在 Settings > API keys 下创建一个密钥。
- 在 EmDash 中打开“插件”,进入此插件的设置,把密钥粘贴到 Umami API key。
- 如果使用自托管的 Umami,把 Umami API URL 设置为
https://your-host/api。默认值是 Umami Cloud 的地址。 - 输入 Umami 网站设置中的 Umami 网站 ID。留空的话,仪表盘卡片会列出该密钥可见的网站,供你复制其中一个。然后保存。
- 打开 插件 > Umami Analytics,选择“Check setup”。它会逐项检查数据所依赖的全部设置,并对每个问题给出一句话说明。
首次同步会回溯读取到“Keep daily rows for”设置的范围(默认 90 天),从最新的开始。在 Node 上,一个有 100 个条目的站点大约需要两小时。
每个集合都需要一个 URL 模式(在“内容类型”下),否则页面无法与条目匹配。在 Cloudflare Workers 上,同步需要 EmDash 部署指南中说明的 Cron 触发器。
自托管的 Umami 必须使用公网主机名:EmDash 会拒绝私有地址,因此 localhost、局域网地址或仅限 VPN 的名称都无法使用。
要使用 MCP 工具,请在“插件”下为该插件开启 Agent 访问。更新后如果某个工具有变化,需要再次开启。
常见问题
为什么所有数据都显示为零? 大多数设置错误只会得到零,而不会报错。打开 插件 > Umami Analytics 并选择“Check setup”:它会针对发现的每个问题给出修复建议。
为什么我的数据和 Umami 仪表盘不一致?
日期按“时区”设置划分:请在 Umami 中使用网站所在的时区,否则午夜前后的每日数据会有差异。/_emdash 下的页面不计入,合计只统计“Hostnames to count”中的主机名(默认是你的站点 URL 及其 www 形式)。
它支持 Umami Cloud 吗? 它遵循 Umami 公布的 API,但尚未在 Cloud 账户上实际运行过。请把你的发现反馈到仓库的 issues 中。
我的 Umami 位于需要登录的代理之后。 请放行插件使用的八个 Umami API 端点,不要让代理拦截。README 中列出了这些端点,Umami 会对每个端点校验 API 密钥。
它会发起多少请求? 一次同步最多向 Umami 发起七个请求。打开 Umami Analytics 页面会发起五个请求。
没有 Umami 也能试用吗? 可以。把“Data source”设为“Demo data”,然后在仪表盘卡片上选择“Refresh”。它会基于你真实的条目生成 90 天的虚构流量。切换数据源会清除所有已存储的数据,因此演示数据永远不会与真实数据混在一起。
谁能看到这些数据? 编辑和管理员可以看到仪表盘卡片、两个 Umami 页面和 MCP 工具。作者可以在编辑器面板中看到自己条目的数据。
分类表格的数据从哪里来?
来自你的站点通过 Umami 跟踪器的 data-before-send 钩子附加到页面浏览上的事件数据。在“Views by event data”中最多可指定三个属性。如果站点没有发送任何此类数据,就不会显示表格。
阅读深度是如何工作的?
当读者读到条目的每个深度时,你的站点会发送一个自定义事件,例如带有 post 和 depth 的 post_read。请相应填写四项阅读深度设置。它们默认为空,即关闭该功能。
它支持哪些语言? 英语和德语,跟随每位用户的后台语言。
安全
请通过仓库的安全公告表单私下报告安全问题:https://github.com/shanelord01/emdash-umami-analytics/security/advisories/new
Umami API 密钥能做什么
Umami API 密钥本身没有任何权限,创建它的用户能做什么,它就能做什么。由管理员用户创建的密钥可以修改或删除你 Umami 中的每个网站,因此请在角色为“仅查看”的用户下创建它,并以团队角色“仅查看”把该用户加入网站所属的团队。这样创建的密钥只能读取该团队的网站,不能修改任何内容。插件本身只发送 GET 请求。
网络访问
插件申请 network:request:unrestricted,因为自托管的 Umami 位于你在设置中填写的主机上,任何固定的主机列表都无法涵盖。它只会请求其设置中的 Umami API 地址(除非更改,否则为 https://api.umami.is/v1),并以 Bearer 令牌的形式携带密钥。演示数据完全不发起请求。EmDash 对所有插件都会拒绝私有地址。
发送什么、存储什么
- Umami 会收到 API 密钥、网站 ID 和需要统计的主机名。你的内容不会离开站点。
- 密钥以加密设置的方式保存(使用
EMDASH_ENCRYPTION_KEY的 AES-GCM)。没有该密钥时,EmDash 会拒绝保存,而不是以明文存储。插件绝不会把它写入日志。 - 站点数据库保存按天和路径统计的页面浏览量和访问量、站点总量及每日互动数据、每个路径与其条目的匹配关系及该条目的浏览次数和阅读深度,以及同步状态和最近一周的热门页面、来源和国家/地区。早于“Keep daily rows for”的每日数据行会被删除。
谁能做什么
仪表盘卡片、Analytics 和按条目统计页面以及 MCP 工具需要编辑角色。编辑器面板需要作者角色,并且只显示该用户可编辑的条目。更改设置需要管理员角色。
更新日志
0.1.4
- 在 EmDash 1.2 及更高版本中,这些页面会归入侧边栏的同一个 Umami 文件夹(Analytics、Per entry)。它们的地址不变,较旧的 EmDash 仍会逐个列出。
- 没有新增权限,MCP 工具也没有变化。
0.1.3,2026 年 10 月 9 日
- 日期现在遵循你的时区。此前按 UTC 划分日期,因此在悉尼上午 10 点之前的页面浏览会被计入前一天。新的“Time zone”设置默认为 Australia/Sydney。请设置为 Umami 中网站所用的时区。
- 更新时,已存储的数据会被清除一次,并重新从 Umami 读取,从最新的开始。图表和各条目的浏览量会在追赶期间逐步补全:在 Node 上,90 天、100 个条目大约需要两小时;在 Cloudflare Workers 上则按 Cron 触发器的节奏进行。之后更改该设置也会触发同样的过程。
- 以 Umami 命名,避免被误认为其他插件:Umami Analytics 和 Umami per entry 页面(地址相同)、Umami 流量卡片和 Umami 编辑器面板。
- 注册表页面新增了标签页(包括此更新日志)和横幅。
- 后台修复:不再误报“没有页面被匹配”;仪表盘的热门页面涵盖其 7 天范围;每日图表会标明其数据系列;编辑器面板会标明其存储历史的起始日期。
- 没有新增权限。MCP 工具现在按你的时区描述天数,因此更新后 EmDash 会关闭 Agent 访问。请在“插件”下重新开启。
0.1.2,2026 年 10 月 1 日
- 总量旁新增互动数据:跳出率、平均访问时长和每次访问页数(与前一周期对比),并在
site_totals中新增engagement字段。 - 每个条目的阅读深度(四项设置,默认关闭),以及仅在开启时使用的两个新 Umami 端点。安装后追赶速度更快。
- 更新后请在“插件”下重新开启 Agent 访问。
完整历史:CHANGELOG.md。