Renatus Icm

Polar Sponsor
爱发电 赞助
.NET 9.0

负责Renatus活动策划与执行,包括搭建落地页、推送邮件、处理报名、导出线索并同步退订。

QQ 证书和安全

功能概述

QQ 证书和安全是一项面向实际任务的技能,主要用于需要的环境变量( 在运行任何脚本前声明这些变量): 1. 可用性;用途: 最小范围.;

核心要点

  • RENATUS USERNAME.;
  • Renatus back office 登录.;
  • ICM级账户: RENATU。

使用与执行

它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

⚠️ 凭据与安全

必需的环境变量(在运行任何脚本前需预先声明):

变量 用途 最小权限范围
RENATUS_USERNAME Renatus 后台管理登录账号 ICM 级别账号
RENATUS_PASSWORD Renatus 后台管理登录密码 ICM 级别账号
SUPABASE_URL Supabase 项目 URL 仅读取线索(leads)
LEAD_ADMIN_TOKEN Supabase 管理员导出密钥 anon 密钥或受限的服务角色密钥
SENDER_EMAIL 营销邮件发件地址 仅发送权限的 SMTP 账号
SENDER_PASSWORD SMTP 邮件认证密码 仅发送权限
SUPABASE_SERVICE_ROLE_KEY Supabase 管理操作(含破坏性操作) 服务角色密钥 — 不得用于只读操作

安全建议:

  • 为测试创建独立的 Supabase 项目 — 切勿提供生产环境的 service_role_key
  • 创建一个最小权限的 Supabase anon 密钥,作用域限定为仅可读取 funnel_leads 表
  • 为 CDP 访问单独配置 Chrome/Brave 的用户资料(profile)(不要使用主浏览器会话)
  • renatus_delete_lead.py 执行删除操作 — 务必先以 --dry-run 模式运行验证
  • 使用后及时轮换凭据;对已共享或意外暴露的令牌立即撤销
  • 切勿将真实凭据提交至 config.json — 请基于 .example 文件并通过环境变量注入

CDP 访问说明:脚本通过 http://127.0.0.1:9222 连接本地浏览器调试接口,从 localStorage/cookies 中读取 Renatus 的已有身份认证令牌。该过程要求 Chrome/Brave 以 --remote-debugging-port=9222 参数启动。本技能**不会**通过 CDP 提取您的主 Renatus 密码,仅读取当前已存在的会话令牌。

name: renatus-icm
description: 作为 ICM(Independent Campaign Manager)运行 Renatus 活动营销活动。适用于管理 Renatus 活动注册、发送商业电子邮件活动、搭建活动落地页、下载/导出线索、将退订信息同步至 Renatus,或通过 CDP 执行基于浏览器的嘉宾注册。支持功能包括:Supabase Edge Function 注册(submit-renatus-registration)、gws/gog 邮件发送(commercial-core-day1)、退信检测与短信恢复、CDP 浏览器注册/删除脚本、每周退订同步定时任务(cron),以及通过 lead-admin-export 导出线索。触发短语示例:“run a Renatus event campaign”、“send Renatus email campaign”、“register a guest for Renatus”、“download Renatus leads”、“set up event landing page”、“handle Renatus unsubscribes”。

Renatus ICM 技能

完整工具套件,用于运行 Renatus 活动营销活动:活动页面搭建、邮件活动发送、线索管理、退订同步。

工作流速查表

详见 references/workflows.md 中的分步指南:

  • 新建活动配置 → event-page-setup.md
  • 邮件活动 → email-campaign.md
  • CDP 注册 → 脚本 renatus_register_guest.py、renatus_delete_lead.py
  • 线索导出 → Supabase lead-admin-export 边缘函数
  • 退订同步 → weekly_unsubscribe_sync.sh

架构概览

生成新的活动落地页

python3 scripts/generate_event_page.py   --event-url "https://backoffice.myrenatus.com/Events/EventDetails?eventId=..."   --output site/my-event/index.html

前提条件:Chrome/Brave CDP + 当前有效的 Renatus 登录会话。该脚本从后台管理页面中提取活动名称、日期、地点、演讲嘉宾及议程详情,并渲染生成一份可直接部署的完整 HTML 文件。建议先用 --dry-run 预览效果再保存。

活动落地页(HTML)
  ↓ 表单提交
Supabase Edge Function:submit-renatus-registration
  ↓ 服务端 Renatus API(无 CORS 限制)
Renatus 后台管理(创建线索 + 完成注册)
  ↓ 插入数据
Supabase:funnel_leads 表
  ↓
lead-admin-export 边缘函数 ← ICM 在此处导出线索

关键 URL:

  • 落地页地址:https://YOUR_REGISTRATION_PAGE/(示例)
  • Supabase 边缘函数:https://.supabase.co/submit-renatus-registration
  • 线索导出接口:https://.supabase.co/lead-admin-export
  • Renatus 后台管理:https://backoffice.myrenatus.com

邮件活动

批量发送

python3 scripts/send_commercial_email_batches.py --batch-size 20 --start 0 --send

从中断处继续发送:修改 --start N 参数。跳过已发送记录请使用 --skip-sent(默认启用)。有关退信处理、退订同步及模板自定义,请参阅 email-campaign.md。

前置条件

  • gws CLI 已以发信账号完成身份认证
  • renatus_leads.csv 文件包含 email 列
  • commercial-core-day1.html 邮件模板文件

基于浏览器的注册(CDP)

要求 Chrome/Brave 启动时启用 --remote-debugging-port=9222,且已建立有效的 Renatus 登录会话。

嘉宾注册(试运行)

python3 scripts/renatus_register_guest.py 
  --first-name Jane --last-name Smith 
  --email jane@example.com --phone "(555) 555-5555" 
  --event-id 0817966f-b9bb-448e-bbb8-b4160115bcc8

执行注册

添加 --execute 参数以执行写入操作。

删除线索(退订)

python3 scripts/renatus_delete_lead.py --email jane@example.com --execute

生成活动日历

python3 scripts/generate_calendar.py --output site/calendar.html
python3 scripts/generate_calendar.py --dry-run

从 config.json 中读取 events[] 数组,生成包含所有活跃活动及其注册链接的日历页面。

添加活动(一键配置)

python3 scripts/add_event.py   --event-url "https://backoffice.myrenatus.com/Events/EventDetails?eventId=..."   --output site/my-event/index.html

自动从 Renatus 抓取活动信息 → 写入 config.json → 生成落地页,一步完成。要求 Chrome/Brave CDP + 当前有效的 Renatus 登录会话。

从 Supabase 下载线索

python3 scripts/renatus_leads.py --export
# 或:SUPABASE_URL=... LEAD_ADMIN_TOKEN=... python3 scripts/renatus_leads.py --export

导出至 workspace/renatus_leads.csv 和 renatus_leads.json。需设置 SUPABASE_URL 与 LEAD_ADMIN_TOKEN 环境变量,或通过 --ref 与 --token 参数传入。使用 --convert-json 可将已有 JSON 导出文件转换为 CSV 格式。

线索导出

Supabase 管理员导出

curl -H "x-admin-token: $TOKEN" 
  "https://.supabase.co/functions/v1/lead-admin-export?limit=500"

其中 TOKEN 为 Supabase 中配置的 LEAD_ADMIN_TOKEN 密钥。具体配置方法请参阅 supabase-setup.md。

通过 Agent 下载

若以 OpenClaw Agent 方式运行:

# 位于 workspace 目录下:logs/email_send_log.json 记录已发送邮件
# 线索下载路径:workspace/renatus_leads.csv

配置(config.json)

复制 config.json.example 为 config.json 并填入您的实际值。各脚本将自动加载该配置文件:

配置(config.json)

复制 config.json.example 为 config.json 并填入您的实际值。各脚本将自动加载该配置文件:

cp config.json.example config.json
# 编辑 config.json,填入 Supabase URL、Renatus 凭据、发信账号等信息

也可通过设置 RENATUS_* 环境变量替代配置文件。脚本按以下优先级顺序加载配置: config.json → 环境变量 → 默认值。

可用环境变量包括:RENATUS_SUPABASE_REF、RENATUS_SUPABASE_URL、RENATUS_LEAD_TOKEN、RENATUS_USERNAME、RENATUS_PASSWORD、RENATUS_EVENT_ID、RENATUS_SENDER、RENATUS_PROVIDER、RENATUS_TEMPLATE、RENATUS_UNSUB_URL、RENATUS_SITE_URL、RENATUS_REGISTRATION_URL。

重要提示:config.json 已被加入 .gitignore。您的个人配置保持私有;其他 ICM 收到的是 config.json.example。

Supabase 初始化配置(新 ICM)

完整配置流程请参阅 supabase-setup.md:

  1. 关联项目:supabase link --project-ref
  2. 推送数据库迁移:supabase db push
  3. 部署边缘函数:submit-renatus-registration、lead-admin-export
  4. 配置密钥:RENATUS_USERNAME、RENATUS_PASSWORD、RENATUS_EVENT_ID、LEAD_ADMIN_TOKEN
  5. 验证:提交测试注册 → 检查 funnel_leads 表及 Renatus 后台管理是否同步成功

Supabase 边缘函数参考

submit-renatus-registration

公开的 POST 接口。通过服务端 API(绕过 CORS)向 Renatus 注册线索。自动识别面向公众开放的议程(无需 IMA/教育资质要求)。必需密钥:RENATUS_USERNAME、RENATUS_PASSWORD、RENATUS_EVENT_ID。

lead-admin-export

管理员 GET 接口。需携带 x-admin-token 请求头。支持参数:?partner=&limit=。

capture-lead

通用型公开线索采集接口,集成 Turnstile 机器人防护机制,数据写入 funnel_leads 表。

关键密钥(Supabase)

密钥 用途场景 说明
RENATUS_USERNAME 注册 后台管理登录账号
RENATUS_PASSWORD 注册 后台管理登录密码
RENATUS_EVENT_ID 注册 默认活动 GUID
LEAD_ADMIN_TOKEN 导出 管理员导出认证密钥
SUPABASE_URL 始终需要 项目 URL
SUPABASE_SERVICE_ROLE_KEY 始终需要 数据库访问密钥

退订同步(周级定时任务)

# 添加至 crontab
0 2 * * 0 /home/umbrel/.openclaw/workspace/scripts/weekly_unsubscribe_sync.sh

# 手动执行
CDP_URL=http://127.0.0.1:9222 bash scripts/weekly_unsubscribe_sync.sh

前提条件:Chrome CDP 服务监听于 9222 端口 + 当前有效的 Renatus 登录会话。详见 email-campaign.md。

退信恢复

# 检测退信
python3 scripts/handle_bounced_emails.py --check

# 导出适配短信发送的联系人列表
python3 scripts/handle_bounced_emails.py --export-sms

# 手动标记某邮箱为退信
python3 scripts/handle_bounced_emails.py --mark-bounced user@example.com

身份认证:两种方式

选项 A — 浏览器中继(推荐用于 CDP 脚本)

通过浏览器中继(OpenClaw 扩展)复用您当前已登录的 Brave/Chrome 会话。

  1. 打开 Brave → 在任意 Renatus 页面标签页点击 OpenClaw Browser Relay 扩展图标
  2. 脚本通过 Playwright CDP 连接至 http://127.0.0.1:9222
  3. 配置中无需填写凭据 — 自动从 localStorage/cookies 中读取现有会话令牌
  4. 需安装 OpenClaw Browser Relay 扩展并保持至少一个 Renatus 标签页处于激活状态

受影响的 CDP 脚本:renatus_register_guest.py、renatus_delete_lead.py、generate_event_page.py、add_event.py

选项 B — 环境变量(推荐用于非 CDP 脚本)

将凭据设为环境变量 — 切勿置于聊天窗口或配置文件中。

export RENATUS_USERNAME="earlvanze@gmail.com"
export RENATUS_PASSWORD="YOUR_PASSWORD"
export RENATUS_EVENT_ID="0817966f-b9bb-448e-bbb8-b4160115bcc8"
export LEAD_ADMIN_TOKEN="YOUR_SUPABASE_TOKEN"

或使用 shell profile 加载的 .env 文件。脚本通过 config_loader.py 读取环境变量。

非 CDP 脚本:renatus_leads.py、send_commercial_email_batches.py、generate_calendar.py、generate_email_template.py

安全规范

  • 切勿在聊天窗口中粘贴凭据 — 请使用环境变量或 .env 文件
  • Bitwarden CLI(bw)实现程序化凭据调用:bw get password "Renatus"
  • CDP 读取操作不提取您的主密码 — 仅读取当前已存在的会话令牌
  • 配置文件(config.json)中凭据占位符应写作 [REDACTED — see Nextcloud/secrets]
  • 一旦凭据发生共享或意外暴露,须立即轮换

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习