项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-09-14 · 当前星标 ★ 1632
技术标签
使用教程
环境要求
- 本机已安装 Go 语言环境,可正常执行 go 命令
- 一个使用 Go Modules 的 Go 项目(用于嵌入 RuleGo)
- 能访问 GitHub 拉取 github.com/rulego/rulego 依赖(网络通畅或已配置模块代理)
- 一个可用的规则链 JSON 定义文件(可参考 README 中的示例)
安装与启动步骤
-
1初始化 Go 项目
在项目目录下初始化 Go 模块,已有 go.mod 的项目可跳过这一步,直接执行依赖安装。
go mod init example.com/myapp -
2拉取 RuleGo 依赖
README 给出的唯一安装命令,使用 go get 把 RuleGo 作为库引入当前项目。
go get github.com/rulego/rulego -
3准备规则链 JSON
用 JSON 定义规则链 DSL,描述组件及连接关系;可参考示例文件 chain_call_rest_api.json 和官方 DSL 文档。
-
4创建规则引擎实例
导入 rulego 包,加载规则链文件,并用唯一 ID 创建规则引擎实例,注意处理返回的 err。
import "github.com/rulego/rulego" // 加载规则链定义文件 ruleFile := fs.LoadFile("chain_call_rest_api.json") // 使用规则链定义创建规则引擎实例 ruleEngine, err := rulego.New("rule01", ruleFile) -
5提交消息处理
构造元数据、消息负载与消息类型,交给规则引擎,它会按规则链定义自动处理。
// 定义消息元数据 metaData := types.NewMetadata() metaData.PutValue("productType", "test01") // 定义消息负载和消息类型 msg := types.NewMsg(0, "TELEMETRY_MSG", types.JSON, metaData, "{\"temperature\":35}") // 把消息交给规则引擎处理 ruleEngine.OnMsg(msg)
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
规则链定义文件 | 是 | JSON 格式的规则链 DSL,定义组件及其连接顺序与条件 | chain_call_rest_api.json |
规则引擎实例 ID | 是 | 创建实例时的唯一标识,用于加载与更新对应规则链 | rule01 |
消息类型 | 是 | 提交消息时指定的类型,供规则链中组件按类型匹配处理 | TELEMETRY_MSG |
消息元数据 metaData | 否 | 附加在消息上的键值对,供规则链内组件读取使用 | productType=test01 |
如何确认成功
调用 ruleEngine.OnMsg(msg) 无报错,且规则链中的下游组件按定义收到并处理了该消息,即表示运行成功。
常见问题
Q:如何更新规则链逻辑而不重启应用?
A:README 明确说明支持规则链逻辑的实时更新,无需重启应用,即可以在运行中动态替换规则链定义。
Q:规则链 JSON 该怎么写?
A:按 Rule Chain DSL 编写,README 给出文档地址 https://rulego.cc/en/pages/rule-chain/ 和示例 testdata/rule/chain_call_rest_api.json。
Q:RuleGo 需要额外的中间件吗?
A:不需要外部中间件依赖,属于轻量级设计,可在低成本设备上运行,也适合 IoT 边缘计算场景。
Q:go get 拉取失败怎么办?
A:README 未给出处理方式,通常是网络或 Go 模块代理配置问题,请检查网络连通性与 GOPROXY 设置。
Q:对 Go 版本有要求吗?
A:README 只说明基于 Go 语言编写并使用 go get 安装,未给出具体版本要求,请以官网文档为准。
注意事项
- README 只提供了 go get 这一条安装命令,项目以库形式嵌入使用,没有给出独立部署的命令行或 Docker 命令。
- 支持嵌入现有应用(Embedded)和独立部署(Standalone)两种模式,Standalone 模式可对外提供规则引擎与编排服务。
- 内置大量通用组件,并兼容 MCP 协议,可作为 MCP 客户端或服务端使用。
- 规则链运行示例可参考官方演示地址 http://8.134.32.225:9090/ui/ 与官网 https://rulego.cc。
核心亮点
- 轻量可嵌入,无外部依赖,适合边缘和 IoT 设备部署
- 规则链支持热更新,无需重启即可调整业务逻辑
- 内置 MCP 协议支持,可快速接入 AI 工具与模型
不足之处
- 生态和社区规模相比 n8n、Node-RED 仍较小
- 可视化编排和调试工具相对薄弱,复杂规则链维护成本较高
适用场景
- IoT 边缘设备数据采集、过滤与转发
- 企业 iPaaS 集成,连接多个系统与消息队列
- AI 工作流编排,通过 MCP 调用模型与工具
替代项目
n8n、Node-RED、Apache NiFi
同类项目推荐
n8n-skills
开源
用自然语言让 AI 帮你生成 n8n 工作流,告别手动拖拽
n8n skillset for Claude Code to build flawless n8n workflows
SeleniumBase
开源
写 Python 脚本自动开浏览器,绕过反爬还能跑测试
APIs for Web Scraping, Browser Automation, and E2E Testing. CDP Mode bypasses bot-de···
WeWorker
开源
把任意网站变成 AI 能调用的工具
AI 驱动的网页自动化工具。通过浏览器扩展将网站操作封装为工具,供 AI Agent 调用,实现对···
gptfree-register
开源
跳过接码,自动注册 ChatGPT 账号并导入 sub2api
ChatGPT协议注册机,支持跳过接码并自动导入sub2api
awesome-claude-skills
开源
50+ 精选 Claude 技能,复制即用,开发流程自动跑起来
The definitive collection of 50+ verified Awesome Claude Skills for Claude Code, Cla···
dots
开源
给 AI 一个不会被封的浏览器,自动帮你跑网页任务
Open-source, self-hosted alternative to OpenAI Dots, Grok Bot. Built to be undetecta···
Charge-Grinder
开源
自动刷《Limbus Company》镜像地牢,解放双手
Bot for Limbus Company to grind mirror dungeon so you don't have to (no OCR required···
GURU-Ai
开源
在 Termux 里一键跑起 AI 助手,还能生成二维码分享
SIMPLE YET COMPLICATED
flyte
开源
让 AI 工作流像流水线一样稳定,跑生产不再提心吊胆
Type-safe, distributed orchestration of agents, ML pipelines, and real-time inferenc···
