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

时间:2025-04-20 07:02:10
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