Ruby On Rails Gateway

🚂 安全连接 Rails 数据网关,自动化运营简报

用于配置和调用 Rails Agent Gateway 的 OpenClaw 端技能,支持安全令牌验证、数据拉取和自动化报告生成。

收藏
5.1k
安装
1k
版本
1.0.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

Rails Agent Gateway 技能是 OpenClaw 与 Ruby on Rails 应用之间建立安全数据通道的桥梁。该技能与 `agent_gateway` gem 配合使用,通过标准 REST API 从 Rails 应用的 /agent-gateway/:secret/briefing 端点拉取聚合数据。

典型工作流程

1. 环境验证:检查 AGENT_GATEWAY_TOKENAGENT_GATEWAY_SECRET 是否已配置
2. 连通性测试:执行非破坏性简报拉取,验证双因素认证(路径密钥 + Bearer Token)

3. 数据获取:按时间窗口(1d/7d/30d/90d/1y/all)和资源类型(users/orders 等)拉取数据

4. 结果汇总:生成记录计数、聚合统计(count/sum/avg)和最新记录快照

5. 自动化准备:输出适合 cron 任务或 CI/CD 管道的命令片段

认证机制

采用双层安全设计:

  • 路径密钥(Path Secret):嵌入 URL 中,错误返回 404(隐匿端点存在性)
  • Bearer Token:通过 Authorization 头部传输,错误返回 401

两者均使用 secure_compare 时序安全比较,有效防御时序攻击。

调用方式

推荐优先使用本地辅助脚本:

/home/node/.openclaw/workspace/scripts/rails-gateway-briefing --period 7d --resources users,orders

或直接 curl(生产环境需妥善保管令牌):

curl -H "Authorization: Bearer $AGENT_GATEWAY_TOKEN" \
  "https://myapp.com/agent-gateway/$AGENT_GATEWAY_SECRET/briefing?period=7d"

显著优点

  • 标准化集成:遵循 RESTful 设计,与 Rails 生态无缝兼容
  • 安全设计:双因素认证 + 时序安全比较 + 令牌不在输出中暴露
  • 灵活查询:支持时间窗口、资源筛选、聚合计算和记录限制
  • 自动化友好:输出格式适合脚本化调用和定时任务

潜在局限

  • 依赖外部 gem:Rails 端必须安装并配置 agent_gateway,无法独立工作
  • 只读限制:设计为拉取(pull)模式,不支持写入操作
  • 网络依赖:需要 Rails 应用可公开访问,内网部署需额外配置
  • 令牌管理:环境变量依赖增加了运维复杂度,轮转令牌时需同步更新两端

适合人群

  • 使用 Rails 作为后端、需要向 OpenClaw 暴露结构化数据的开发团队
  • 需要自动化生成运营报告或数据摘要的技术运维人员
  • 希望在不开放数据库直接访问的前提下实现安全数据通道的架构师

常规风险

  • 令牌泄露风险:Bearer Token 具备完整读取权限,需严格控制环境变量访问
  • 端点探测:尽管 404 错误隐藏端点,但 URL 模式仍可能被猜测
  • 数据范围失控period=all 或大量资源组合可能导致响应过大,建议始终使用 --latest 限制
  • 依赖维护:gem 版本更新时需同步检查兼容性

安全承诺

  • 绝不回显或记录 live token
  • 命令示例中自动脱敏敏感参数
  • 仅执行只读操作(briefing 端点),无写权限

> 注意:本技能需与 Rails 端的 agent_gateway gem 配合使用,单方面配置无法生效。

Ruby On Rails Gateway 内容

references文件夹
手动下载zip · 4.5 kB
usage.mdtext/markdown
请选择文件