mcpField
S
site-activity

site-activity

github.com/webflow生产力13283 次安装6 天前更新
代码仓库

关于 site-activity

面向 Webflow Enterprise 站点的活动日志分析技能,可按时间、用户、事件类型或资源筛选变更,并生成摘要和报告。它要求通过 Webflow MCP 工具获取站点和日志数据。

主要功能

  1. 01查询并筛选站点活动日志
  2. 02按事件类型和用户归类变更
  3. 03分析发布时间后的未发布变更
  4. 04生成摘要、时间线及可分享报告
  5. 05支持日志分页获取

适用场景

  1. 01汇总一周内的站点变更
  2. 02查看特定用户或 CMS 活动
  3. 03发布前核对上次发布后的改动
  4. 04整理团队可分享的活动报告

MCP 相关

该技能要求所有 Webflow 操作均使用 Webflow MCP 工具,包括站点查询和活动日志读取。活动日志仅适用于 Enterprise 托管站点。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/webflow/webflow-skills --skill site-activity

安装后在 Claude Code 中输入/site-activity确认已加载。

详细介绍

站点活动

查询、分析并汇总企业版站点的 Webflow 活动日志。支持使用自然语言查询近期变更、按事件类型或用户筛选摘要,以及生成格式化报告供团队分享。

重要说明

所有操作始终使用 Webflow MCP 工具:

  • 使用 Webflow MCP 的 data_sites_tool,并将 action 设为 list_sites,列出可用站点
  • 使用 Webflow MCP 的 data_sites_tool,并将 action 设为 get_site,获取详细站点信息
  • 使用 Webflow MCP 的 data_enterprise_tool,并将 action 设为 list_site_activity_logs,获取活动日志事件
  • 开始前,使用 Webflow MCP 的 webflow_guide_tool 获取最佳实践
  • 对 Webflow 的操作不要使用任何其他工具或方法
  • 所有工具调用都必须包含必需的 context 参数(15–25 个词,使用第三人称视角)

仅限企业版: 活动日志仅适用于采用 Enterprise 托管方案的站点。如果工具返回错误,请告知用户此功能需要 Enterprise 方案。

list_site_activity_logs 的工具参数:

  • site_id(必需):站点的唯一标识符
  • limit(可选):要返回的记录数上限(最多 100 条)
  • offset(可选):用于获取第一页之后数据的分页偏移量

说明

阶段 1:站点选择与上下文
  1. 识别目标站点:如果用户未提供站点 ID,请使用 data_sites_tool 并指定操作 list_sites。响应中的每个站点都包含 displayName、lastPublished 和 lastUpdated。

    排序顺序:

    1. ⚠️ 有未发布更改的站点排在 ✅ 状态为最新的站点之前
    2. 每组内按最近更新时间从新到旧排列(按 lastUpdated 降序)

    截断:仅显示排名前 10 的站点。如果总数超过 10 个,请在列表下方追加一行 …and N more sites. Reply "show all" to see the rest.。用户回复 "show all"(或类似内容)时,按相同格式重新展示完整列表。

    请严格按以下格式展示列表:

    📋 Site Activity — Site Selection
    
    Available Enterprise Sites:
    
    1. <Site Name> ⚠️  — last published <short date>, updated <short date> (<N> days unpublished)
    2. <Site Name> ✅  — published & updated <short date>
    3. <Site Name> ⚠️  — never published, updated <short date>
    
    …and 4 more sites. Reply "show all" to see the rest.
    
    Which site would you like to review?
    

    格式规则:

    • 日期:使用缩写格式("Mar 6"、"Apr 14")。只有在年份不是当前年份时才添加年份。
    • 当 lastUpdated > lastPublished 或 lastPublished 为 null 时使用 ⚠️;当 lastUpdated <= lastPublished 时使用 ✅。
    • 当 lastPublished == lastUpdated 时,将右侧内容合并为 "published & updated "。
    • 工作区中的站点不超过 10 个时,不要添加 "…and N more sites" 行。
    • 每个站点都必须显示状态标记和日期,不得省略。
  2. 获取所选站点详情:用户选择站点后(或用户在开始时已提供站点 ID),调用 data_sites_tool 并指定操作 get_site,仅针对所选站点调用一次,以获取 list_sites 未返回的字段,尤其是:

    • 自定义域名
    • 区域设置 / 本地化设置
    • 分析所需的任何其他站点元数据

    lastPublished 和 lastUpdated 已在步骤 1 中获知(或用户直接提供站点 ID 时从 get_site 获取)。请将这些信息保留在记忆中,供阶段 3 的发布前筛选使用。

  3. 从提示词推断意图(如果提示词明确,不要追问)。将请求归为以下一种:

    • 最近活动摘要("本周有哪些更改?")
    • 特定用户的活动("Sarah 做了哪些更改?")
    • 特定活动类型("最近有 CMS 更改吗?")
    • 发布前审查("上次发布后有哪些更改?")
    • 总览(请求含糊时的默认选项)

    仅当请求确实含糊时才提出澄清问题(例如,"显示活动"未提供时间范围、用户或事件类型等上下文)。

阶段 2:获取活动日志
  1. 获取活动日志:使用 list_site_activity_logs 和站点 ID
    • 默认将 limit 设为 100(每次请求的最大值),以获取全面的结果
    • API 按时间倒序返回事件(最新的在前)
  2. 处理分页:如果用户需要查看更早的活动,或结果表明还有更多数据:
    • 使用 offset 参数获取后续页面
    • 合并各页结果进行分析
    • 如果数据范围不足以覆盖所需时间,请提醒用户
第 3 阶段:分析与总结
  1. 解析每条活动日志记录:每个事件包含:

    • id:唯一事件标识符
    • createdOn:时间戳(ISO 8601)
    • lastUpdated:上次更新时间戳
    • event:事件类型字符串(见下文的事件类型)
    • user:包含 id 和 displayName 的对象(备份等系统事件中不存在)
    • resourceOperation:执行的操作(CREATED、MODIFIED、DELETED)
    • resourceId:受影响资源的 ID(如适用)
    • resourceName:受影响资源的易读名称
    • payload:事件特定的其他详细信息(见下文的负载详情)
  2. 将事件分类为易读的分组(41 种事件类型):

    页面变更:

    • page_dom_modified — 页面结构/元素变更
    • page_created — 创建新页面
    • page_deleted — 删除页面
    • page_duplicated — 复制页面
    • page_renamed — 重命名页面
    • page_settings_modified — 更新页面设置(SEO、slug 等)
    • page_custom_code_modified — 页面级自定义代码变更
    • page_settings_custom_code_modified — 页面设置中的自定义代码变更

    样式和变量变更:

    • styles_modified — 样式/类变更
    • variable_modified — 单个变量变更
    • variables_modified — 多个变量变更

    组件变更:

    • symbols_modified — 创建、修改或删除组件/符号

    交互:

    • ix2_modified_on_page — 页面上的交互变更
    • ix2_modified_on_component — 组件上的交互变更
    • ix2_modified_on_class — 类上的交互变更

    CMS 变更:

    • cms_item — 创建、修改或删除集合项
    • cms_collection — 创建、修改或删除集合架构

    站点管理:

    • site_published — 发布站点
    • site_unpublished — 取消发布站点
    • site_custom_code_modified — 站点级自定义代码变更
    • backup_created — 自动或手动创建备份
    • backup_restored — 恢复备份

    本地化:

    • secondary_locale_page_content_modified — 本地化页面内容变更
    • locale_added — 添加新区域设置
    • locale_removed — 移除区域设置
    • locale_enabled — 启用区域设置
    • locale_disabled — 禁用区域设置
    • locale_display_name_updated — 更改区域设置的显示名称
    • locale_subdirectory_updated — 更改区域设置的子目录
    • locale_tag_updated — 更改区域设置标签

    分支:

    • branch_created — 创建分支
    • branch_merged — 合并分支
    • branch_deleted — 删除分支
    • branch_review_created — 请求分支审查
    • branch_review_approved — 批准分支审查
    • branch_review_canceled — 取消分支审查

    库:

    • library_shared — 与其他站点共享库
    • library_unshared — 取消共享库
    • library_installed — 从其他站点安装库
    • library_uninstalled — 卸载库
    • library_update_shared — 发布库更新
    • library_update_accepted — 接受库更新 注意:如果出现上文未列出的事件类型,请将其归类为“其他”,并显示原始的 event 字符串。
  3. 根据用户的请求应用筛选条件:

    • 按事件类别筛选(例如,仅筛选 CMS 变更)
    • 按用户筛选(匹配 user.displayName)
    • 按时间范围筛选(在客户端筛选 createdOn 时间戳)
    • 按资源筛选(匹配 resourceName)
    • 发布前审核:当用户想查看上次发布以来的变更时,使用网站的 lastPublished 时间戳(来自阶段 1),并筛选 createdOn > lastPublished 的事件。如果 lastPublished 为 null(从未发布),则所有事件都视为未发布。
  4. 生成洞察(纳入报告的“重点”部分):

    • 时间段内最活跃的用户
    • 事件类型分布(占主导的类别)
    • 最繁忙的日期或时段
    • 单人变更集中度(某人完成 40% 及以上变更时标记)
    • 未发布的变更(createdOn > lastPublished 的事件数)
阶段 4:报告
  1. 生成摘要报告,包含以下部分:

    • 覆盖的时间范围和事件总数
    • 按活动类型分类
    • 按用户分类
    • 重点——指出相关模式,例如频繁更改单个页面/集合、多人编辑同一资源、未发布的变更(自上次发布以来),以及系统事件与用户发起的变更之间的区别
  2. 回答用户的具体问题:如果用户提出了具体问题,请先直接回答,再提供结构化报告。

  3. 根据提示选择详细程度:

    • “仅计数”/“多少”/“只要数字” → 快速摘要(仅按类别统计)
    • 默认 → 标准报告(按类别整理的事件,并注明用户——见示例 1)
    • “逐项说明”/“显示每项变更”/“时间线” → 详细报告(按时间顺序逐项显示事件及其负载)
    • “分享”/“导出”/“给我的团队”/“可发送的摘要” → 可分享/导出报告(见示例 3)

    始终在第 13 步的后续选项中提供详细程度切换选项,以便用户请求其他详细程度。

  4. **每份报告都必须以一个后续选项部分结尾。**这是必需项,不可省略。使用以下确切格式,并根据刚回答的查询调整编号选项,使其与查询相关:

    ---
    
    您希望:
    1. 按特定用户筛选
    2. 按活动类型筛选
    3. 获取更早的活动(分页)
    4. 切换到快速摘要(仅计数)或详细视图(逐项显示事件负载)
    5. 导出为 markdown 或 JSON
    

    如果报告采用可分享/导出格式(例如“我可以分享的摘要”),请将此部分放在可分享内容之外,以便用户可以直接复制报告,而不包含后续菜单。

事件负载详情

不同事件类型包含不同的负载字段:

page_dom_modified:

  • pageTitle:已修改页面的名称
  • pageId:已修改页面的 ID
  • count:此批次中的修改次数
  • branchId/branchName:分支上下文(如果是 main 则为 null)

cms_item:

  • cmsCollectionId:父集合的 ID
  • cmsCollectionName:父集合的名称
  • count:受影响的条目数
  • name:语言区域名称(例如,“English”“Spanish”)

styles_modified:

  • selector:CSS 选择器(如适用)
  • variant:断点/伪类变体字符串
  • parentChain:父级样式名称数组(组合类链)
  • type:样式类型(例如,“class”)
  • branchId/branchName:分支上下文

symbols_modified:

  • branchId/branchName:分支上下文

page_settings_modified:

  • pageTitle:已修改页面的名称
  • branchId/branchName:分支上下文

backup_created:

  • 无负载;resourceName 表示备份类型(例如,“Automatic backup”“Maintenance backup”)
  • 没有 user 字段(由系统发起)

示例

用户提示词:

What happened on my site this week?

第 1 步:选择站点

📋 Site Activity — Site Selection

Available Enterprise Sites:

1. Acme Corp Website ⚠️  — last published Apr 14, updated Apr 16 (2 days unpublished)
2. Acme Blog ✅  — published & updated Apr 10

Which site would you like to review?

第 2 步:活动摘要

📋 Site Activity: Acme Corp Website
   April 10–16, 2026 (93 events)

**93 events this week from 3 team members. 28 are unpublished since the last publish on Apr 14.**

---

## Activity Breakdown

📄 Page modifications       34 events
🎨 Class changes            22 events
📝 CMS updates              18 events
🧩 Component changes         8 events
🔤 Variable changes          5 events
🚀 Publishes                 3 events
💾 Backups                   2 events
🌿 Branch activity           1 event

---

## Activity by User

**Sarah Chen** — 42 events
└── Page modifications (18), Class changes (15), CMS updates (9)

**Alex Kim** — 31 events
└── CMS updates (9), Page modifications (12), Component changes (8), Variables (2)

**Jordan Lee** — 17 events
└── Class changes (7), Page modifications (4), Publishes (3), Backups (2), Branch (1)

**System** — 3 events
└── Backups (auto)

---

## Highlights

- ⚠️ **Unpublished changes**: 28 events since last publish (Apr 14)
- 📊 **Busiest day**: April 15 (41 events)
- 👤 **Most active**: Sarah Chen (45% of all activity)
- 🧩 8 component changes by Alex Kim — may affect multiple pages

---

Would you like to:
1. Filter by a specific user
2. Filter by activity type
3. See details for unpublished changes only
4. Switch to a quick summary (counts only) or detailed view (per-event payloads)
5. Fetch older activity

用户提示词:

Show me CMS changes on site 6924868ede9d3fbbc3195eb0

响应:

📋 CMS Activity: Acme Corp Website
   April 10–16, 2026 (18 CMS events)

**18 CMS events from 2 users over 5 days. 3 changes are unpublished.**

---

## CMS Breakdown

📝 Items modified       11 events
➕ Items created         5 events
📚 Collection changes    2 events

---

## Activity by User

**Sarah Chen** — 10 events
└── 2 items created, 7 items modified, 1 collection modified

**Alex Kim** — 8 events
└── 3 items created, 4 items modified, 1 bulk publish

---

## Highlights

- ⚠️ **Unpublished**: 3 CMS changes since last publish (Apr 14)
- 📊 **Busiest day**: April 15 (8 events)
- 📚 **Schema changes**: 2 collection edits this week (review carefully before publish)

---

Would you like to:
1. Filter to a specific collection
2. Filter by user (Sarah or Alex)
3. See only the unpublished CMS changes
4. Switch to a timeline view (chronological per-event) or counts only
5. Fetch older CMS activity

用户提示词:

Give me a weekly summary I can share with my team for Acme Corp Website

(在提示词中直接提及站点名称会跳过第 1 阶段的第 1 步。如果用户未提及站点,请先运行站点选择列表,再生成此报告。)

响应:

📋 Weekly Site Activity Report
   Acme Corp Website — Week of April 10–16, 2026

---

### Overview
- **93 total changes** across 3 team members
- **3 publishes** (Apr 10, Apr 12, Apr 14)
- **28 unpublished changes** pending review
- **Last publish:** April 14 at 18:30 UTC

### What Changed
- 34 page modifications across 8 pages
- 22 class/style updates
- 18 CMS content changes (5 new items, 11 edits, 2 schema changes)
- 8 component updates
- 5 variable changes

### Team Activity
| Team Member  | Changes | Top Activity                  |
|-------------|---------|-------------------------------|
| Sarah Chen  | 42      | Page edits, style updates     |
| Alex Kim    | 31      | CMS content, components       |
| Jordan Lee  | 17      | Styles, publishing, backups   |

### Action Items
- ⚠️ 28 changes are unpublished — consider reviewing and publishing
- 🧩 8 component changes may affect shared layouts — verify before publish
- 💾 Last backup: April 14 — consider creating a fresh backup

---
Generated from Webflow Site Activity Log

你想要:

  1. 筛选特定用户的更改
  2. 详细拆分未发布的更改
  3. 使用不同的日期范围重新生成
  4. 切换为快速摘要(仅计数)或按事件查看详细信息
  5. 导出为 JSON 而非 markdown

指南

仅限企业版访问

计划要求:

  • list_site_activity_logs 仅适用于 Enterprise 托管计划
  • 如果 API 返回权限错误,请明确告知用户:
    ⚠️ Site Activity Logs require an Enterprise hosting plan.
    This site does not appear to have Enterprise access.
    
  • 权限错误时不要重试——问题出在计划级别,并非暂时性故障
API 限制

分页:

  • 每个请求最多返回 100 个事件
  • 使用 offset 分页:首次调用 offset=0,第二次调用 offset=100,以此类推
  • 对于活跃的企业站点,100 个事件通常约涵盖一周的活动
  • 不支持原生日期筛选——获取数据后必须在客户端完成所有筛选

何时分页:

  • 用户询问超过一周的活动
  • 用户需要完整情况,且首页恰好返回 100 个事件
  • 始终告知用户当前数据范围:“显示最近 93 个事件(Apr 10–16)”

注意调用频率:

  • 避免不必要的分页——仅获取回答问题所需的数据
  • 如果用户询问“最近有发布吗?”,100 个事件可能就足够了
  • 如果用户询问“整个月的活动”,请说明限制,并分页获取,最多 300 个事件
错误处理

常见错误:

  • 403 / 权限被拒绝:需要 Enterprise 计划——明确告知用户
  • 404 / 未找到站点:验证站点 ID,并提出列出可用站点
  • 结果为空:站点可能近期没有活动——向用户确认并检查站点详情

优雅降级:

  • 如果获取站点详情失败,仍尝试获取活动日志
  • 如果分页中途失败,报告已成功获取的数据
  • 始终显示部分结果,不要什么都不显示

评论

支持 Markdown