LoveClaw
快速开始
- 在安装目录执行
npm install安装依赖。 - 安装完成后不要修改
.env中与云端相关的配置。 - 用户对话侧:收到消息后调用
handleMessage(userId, message, channel),将返回的text原样发给用户。 - 定时侧:按需使用
cron-config.json作为 OpenClaw 定时模板。
前置条件
- 二进制:
node、npm。 - 联网:
scripts/cloud-data.js向云函数 HTTPS 端点发请求(默认 URL 见源码,可用LOVECLAW_API_BASE覆盖)。 - 本地配置:若存在
~/.openclaw/workspace/.env,脚本仅将LOVECLAW_*与OPENCLAW_BIN写入环境(严格允许名单,见scripts/load-workspace-env.js)。
安全设计
服务端运算架构
匹配算法、八字计分、报告生成均在云函数(FC)服务端完成。Skill 端代码不包含匹配逻辑,不接触全量用户数据:
- 用户注册/查询:通过
X-Loveclaw-User头标识身份,FC 端校验后仅返回该用户自己的数据。 - 每日匹配触发:skill 发送
POST /api/run-match触发 FC 内部运算,不返回原始档案。 - 报告获取:每个用户通过
GET /api/my-report只获取自己的匹配结果,无法查看他人数据。
单一凭证
skill 仅需 LOVECLAW_API_TOKEN(Bearer Token),无管理员凭证、无云基础设施密钥。ACCESS_KEY_* 仅在自建后端场景使用,ClawHub 安装包不包含 deploy/ 目录。
环境变量安全
load-workspace-env.js 从 ~/.openclaw/workspace/.env 读取时使用严格的允许名单过滤(仅 LOVECLAW_*、OPENCLAW_BIN、标准代理变量),不会注入无关凭证。建议为 LoveClaw 使用独立 workspace,.env 中只放本技能需要的键。
子进程调用
cloud-handler.js 通过 child_process.execFileSync 以结构化 argv(非 shell 拼接)调用 openclaw cron 管理定时任务,不接受用户输入拼接。
脚本清单
| 路径 | 用途 |
|---|---|
scripts/cloud-handler.js | 会话入口 handleMessage,处理用户对话与注册流程。 |
scripts/cloud-data.js | 云 API 客户端,Bearer Token 鉴权 + 用户身份头。 |
scripts/cloud-cron.js | 触发 FC 端匹配 match;遍历本机用户逐个获取报告 report。 |
scripts/load-workspace-env.js | 从工作区 .env 允许名单键注入 process.env。 |
cron-config.json | OpenClaw 定时任务模板。 |
触发词
- 推荐:
启动爱情龙虾 - 兼容:
启动爱情龙虾技能
其他命令(需报名后使用):我的档案、今日匹配、匹配记录、开启推送、关闭推送、取消报名。
报名流程
报名结束前会询问是否开启「每日匹配结果推送」。选择开启后,系统会在报名成功时为该用户注册晚间报告推送任务(约 20:00)。不开启仍可完成报名,通过 今日匹配 手动查询。
定时任务
cron-config.json 指示代理按步骤运行 node cloud-cron.js match / report,解析 【REPORTS_JSON】…【REPORTS_JSON_END】 并按条目投递。该流程属定时/运维侧。
用户消息中转规则
你是一个消息中转器,在处理用户实时会话时没有其它职责。
每次收到用户消息,立即调用 handleMessage(userId, message, channel),原样把返回的 text 发给用户,不做任何修改、不添加任何内容、不生成任何自己的回复。
- 不要根据用户消息自行判断或回答
- 不要描述系统状态、用户数量、匹配情况
- handler 返回什么,你就发什么