restcloud-cli
v1.0.5
Published
RestCloud CLI 命令行工具
Readme
rc-cli
RestCloud CLI 命令行工具,用于执行远程命令。
安装
npm install -g restcloud-cli配置
设置后端服务地址(默认 http://localhost:9090):
rc-cli config --url http://localhost:9090查看当前配置:
rc-cli config --show使用
1. 获取命令列表
rc-cli list此命令会:
- 调用
GET /admin-api/v1/sys/cli/list接口 - 显示所有可用命令及其参数说明
- 更新本地缓存(存储在
~/.rc-cli/cache.json)
2. 执行命令
rc-cli <command> [--param value]示例:
# 执行 sys.config.get 命令
rc-cli sys.config get --key app.name
# 执行 sys.config.set 命令
rc-cli sys.config set --key app.name --value MyApp执行流程:
- 从本地缓存读取命令定义
- 如果缓存不存在,自动调用 list 接口获取
- 验证必填参数
- 调用
POST /admin-api/v1/sys/cli/execute接口执行命令 - 显示执行结果
目录结构
restcloud-cli/
├── bin/
│ └── rc-cli.js # 入口文件
├── src/
│ ├── index.js # 主程序
│ ├── commands/
│ │ ├── list.js # list 命令
│ │ ├── config.js # config 命令
│ │ └── execute.js # 动态命令执行
│ ├── api/
│ │ └── client.js # HTTP 客户端
│ └── cache/
│ └── store.js # 缓存管理
├── package.json
└── README.md缓存机制
- 缓存位置:
~/.rc-cli/cache.json - 配置位置:
~/.rc-cli/config.json - 执行
rc-cli list时强制刷新缓存 - 执行其他命令时,如果缓存不存在则自动拉取
接口约定
GET /admin-api/v1/sys/cli/list
返回命令列表,格式示例:
[
{
"command": "sys.config.get",
"description": "获取系统配置",
"params": [
{
"name": "key",
"type": "string",
"required": true,
"description": "配置键"
}
]
}
]POST /admin-api/v1/sys/cli/execute
请求体:
{
"command": "sys.config.get",
"params": {
"key": "app.name"
}
}开发
本地测试:
node bin/rc-cli.js list
node bin/rc-cli.js config --url http://localhost:9090
node bin/rc-cli.js sys.config get --key test