欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > rulego-server是一个开源程序,是一个轻量级、无依赖性的工作流自动化平台。支持 iPaaS、流式计算和 AI 能力。

rulego-server是一个开源程序,是一个轻量级、无依赖性的工作流自动化平台。支持 iPaaS、流式计算和 AI 能力。

2025/5/6 23:42:13 来源:https://blog.csdn.net/struggle2025/article/details/147340175  浏览:    关键词:rulego-server是一个开源程序,是一个轻量级、无依赖性的工作流自动化平台。支持 iPaaS、流式计算和 AI 能力。

一、软件介绍

文末提供程序和源码下载学习

   RuleGo-Server 是一个基于 RuleGo 构建的轻量级、高性能、模块化和集成友好的自动化工作流程平台。可用于自动化编排、iPaaS(集成平台即服务)、API 编排、应用编排、AI 编排、数据处理、IoT 规则引擎、AI 助手等场景。

二、软件特征

  • 轻: 低内存使用率、高性能、部署简单、即用型、无需数据库。
  • 丰富的组件: 超过 100 个内置组件。此外,还提供了组件市场和规则链市场,支持动态安装。
  • 可视化: 支持规则链的可视化。
  • 模块 化: 按需编译和加载。
  • 热更新: 工作流支持热更新。
  • AI 支持: 支持大型模型组件。系统会自动将所有组件和规则链注册为 MCP 工具,以供 AI 助手使用。
  • 弥合最后一英里: 在 RuleGo-Server 的帮助下,第三方系统服务可以很容易地封装到 MCP 工具中。

三、HTTP API

API Documentation  API 文档

Multi-Tenancy  多租户

该项目支持多租户/用户,每个用户都有隔离的规则链数据。用户数据存储在 data/workflows/{username} 目录中。

用户权限校验默认关闭,所有作均以默认用户身份执行。要启用权限验证:

  • 通过 username 和 password 获取 Token,然后使用该 Token 访问其他接口。例:
# Whether to enable JWT authentication for APIs. If disabled, operations will be performed as the default user (admin)
require_auth = true
# JWT secret key
jwt_secret_key = r6G7qZ8xk9P0y1Q2w3E4r5T6y7U8i9O0pL7z8x9CvBnM3k2l1
# JWT expiration time
jwt_expire_time = 43200000
# JWT issuer
jwt_issuer = rulego.cc
# User list
# Configure usernames and passwords in the format username=password[,apiKey]. The apiKey is optional.
# If apiKey is configured, the caller can access other interfaces directly using the apiKey without logging in.
[users]
admin = admin
user01 = user01

The frontend obtains a token through the login interface (/api/v1/login), then accesses other interfaces using the token. Example:
前端通过登录接口(/api/v1/login)获取 Token,然后使用该 Token 访问其他接口。例:

curl -H "Authorization: Bearer token" http://localhost:8080/api/resource
  • Access other interfaces using the api_key method. Example:
    使用 api_key 方法访问其他接口。例:
# Whether to enable JWT authentication for APIs. If disabled, operations will be performed as the default user (admin)
require_auth = true
# User list
# Configure usernames and passwords in the format username=password[,apiKey]. The apiKey is optional.
# If apiKey is configured, the caller can access other interfaces directly using the apiKey without logging in.
[users]
admin = admin,2af255ea-5618-467d-914c-67a8beeca31d
user01 = user01

Then access other interfaces using the token. Example:
然后使用 Token 访问其他接口。例:

curl -H "Authorization: Bearer apiKey" http://localhost:8080/api/resource

Server Compilation  服务器编译

要保存已编译文件的大小,默认情况下不包含扩展组件 rulego-components。默认编译:

cd cmd/server
go build .

如果需要包含扩展组件 rulego-components,请使用 with_extend 标签进行编译:

cd cmd/server
go build -tags with_extend .

其他扩展组件库标签:

  • Register the extension component rulego-components using the with_extend tag for compilation:
    使用 with_extend 标签注册扩展组件 rulego-components 进行编译:
  • Register the AI extension component rulego-components-ai using the with_ai tag for compilation
    使用 with_ai 标签注册 AI 扩展组件 rulego-components-ai 进行编译
  • Register the CI/CD extension component rulego-components-ci using the with_ci tag for compilation
    使用 with_ci 标签注册 CI/CD 扩展组件 rulego-components-ci 进行编译
  • Register the IoT extension component rulego-components-iot using the with_iot tag for compilation
    使用 with_iot 标签注册 IoT 扩展组件 rulego-components-iot 进行编译
  • Register the ETL extension component rulego-components-etl using the with_etl tag for compilation
    使用 with_etl 标签注册 ETL 扩展组件 rulego-components-etl 进行编译

If you need to include multiple extension component libraries at the same time, you can compile with the go build -tags "with_extend,with_ai,with_ci,with_iot,with_etl" tag.
如果需要同时包含多个扩展组件库,可以使用 go build -tags "with_extend,with_ai,with_ci,with_iot,with_etl" tag 进行编译。

Server Startup  服务器启动

./server -c="./config.conf"

Or start in the background:
或者在后台启动:

nohup ./server -c="./config.conf" >> console.log &

UI  用户界面

详细信息:UI 将编译后的 ui 目录重命名为 editor 并将其放在根目录中,然后运行 server

RuleGo-Server-MCP

RuleGo-Server 支持 MCP(模型上下文协议)。启用后,系统会自动将所有已注册的组件、规则链和 API 注册为 MCP 工具。这使得 AI 助手(如 Windsurf、Cursor、Codeium 等)可以通过 MCP 协议直接调用这些工具,实现与应用系统的深度集成。文档: rulego-server-mcp

配置文件参数

config.conf

# Data directory
data_dir = ./data
# Whitelist for cmd component commands
cmd_white_list = cp,scp,mvn,npm,yarn,git,make,cmake,docker,kubectl,helm,ansible,puppet,pytest,python,python3,pip,go,java,dotnet,gcc,g++,ctest
# Whether to load third-party Lua libraries
load_lua_libs = true
# HTTP server
server = :9090
# Default user
default_username = admin
# Whether to log node execution logs to the log file
debug = true
# Maximum node log size, default 40
max_node_log_size =40
# Resource mapping, supports wildcards, multiple mappings separated by commas, format: /url/*filepath=/path/to/file
resource_mapping = /editor/*filepath=./editor,/images/*filepath=./editor/images
# Node pool file, in rule chain JSON format, example: ./node_pool.json
node_pool_file=./node_pool.json
# Save run log to file
save_run_log = false
# Maximum script execution time
script_max_execution_time = 5000
# Whether to enable JWT authentication for APIs
require_auth = false
# JWT secret key
jwt_secret_key = r6G7qZ8xk9P0y1Q2w3E4r5T6y7U8i9O0pL7z8x9CvBnM3k2l1
# JWT expiration time, in milliseconds
jwt_expire_time = 43200000
# JWT issuer
jwt_issuer = rulego.cc
# MCP server configuration
[mcp]
# Whether to enable the MCP service
enable = true
# Whether to use components as MCP tools
load_components_as_tool = true
# Whether to use rule chains as MCP tools
load_chains_as_tool = true
# Whether to add a rule chain API tool
load_apis_as_tool = true
# Exclude component list
exclude_components = comment,iterator,delay,groupAction,ref,fork,join,*Filter
# Exclude rule chain list
exclude_chains =# pprof configuration
[pprof]
# Whether to enable pprof
enable = false
# pprof address
addr = 0.0.0.0:6060# Global custom configuration, components can access values using ${global.xxx}
[global]
# Example
sqlDriver = mysql
sqlDsn = root:root@tcp(127.0.0.1:3306)/test# User list
# Configure usernames and passwords in the format username=password[,apiKey]. The apiKey is optional.
# If apiKey is configured, the caller can access other interfaces directly using the apiKey without logging in.
[users]
admin = admin,2af255ea5618467d914c67a8beeca31d
user01 = user01,2af255ea5618467d914c67a8beeca51c

软件下载

夸克网盘分享

本文信息来源于GitHub作者地址:https://github.com/rulego/rulego-server

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词