بنقرة واحدة
apisix
Apache Apisix API 网关操作。用于:(1) 管理 Apisix 路由 (2) 配置上游和服务 (3) 管理插件 (4) 流量管理和灰度发布。环境变量:APISIX_URL, APISIX_ADMIN_KEY
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Apache Apisix API 网关操作。用于:(1) 管理 Apisix 路由 (2) 配置上游和服务 (3) 管理插件 (4) 流量管理和灰度发布。环境变量:APISIX_URL, APISIX_ADMIN_KEY
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
GitHub 操作。用于:(1) 管理 GitHub 仓库 (2) 操作 Pull Request (3) 触发 Actions (4) 管理文件和代码 (5) 管理 Issue
⚠️ 需要 ZADIG_API_URL + ZADIG_API_KEY | Zadig DevOps 平台 API 客户端
GitLab 操作。用于:(1) 管理 GitLab 项目和仓库 (2) 操作 Merge Request (3) 触发 CI/CD Pipeline (4) 管理文件和代码 (5) 管理用户和权限
Grafana 可视化和监控操作。用于:(1) 查询 Grafana 指标数据 (2) 管理仪表盘和数据源 (3) 创建和编辑图表 (4) 告警配置
Jenkins CI/CD 操作。用于:(1) 触发 Jenkins 任务构建 (2) 查询任务状态和构建历史 (3) 获取构建日志 (4) 操作 Jenkins 节点和配置
Nacos 配置中心操作。用于:(1) 查询 Nacos 配置 (2) 发布/更新配置 (3) 删除配置 (4) 管理命名空间。环境变量:NACOS_URL, NACOS_USERNAME, NACOS_PASSWORD
| name | apisix |
| description | Apache Apisix API 网关操作。用于:(1) 管理 Apisix 路由 (2) 配置上游和服务 (3) 管理插件 (4) 流量管理和灰度发布。环境变量:APISIX_URL, APISIX_ADMIN_KEY |
# ~/.openclaw/workspace/.env
APISIX_URL=https://apisix.example.com
APISIX_ADMIN_KEY=
http://your-apisix:9180 (旧版) 或 /apisix/admin (新版)http://your-apisix:9080config.yaml 中的 apisix.admin_keyAPISIX_ADMIN_API_KEY# 列出路由
curl -H "X-API-KEY: $APISIX_ADMIN_KEY" \
"$APISIX_URL/apisix/admin/routes"
# 创建路由
curl -X POST -H "X-API-KEY: $APISIX_ADMIN_KEY" \
-H "Content-Type: application/json" \
"$APISIX_URL/apisix/admin/routes" \
-d '{
"id": "route-1",
"uri": "/example",
"name": "example-route",
"upstream": {
"type": "roundrobin",
"nodes": {
"127.0.0.1:8080": 1
}
}
}'
# 获取单个路由
curl -H "X-API-KEY: $APISIX_ADMIN_KEY" \
"$APISIX_URL/apisix/admin/routes/route-1"
# 更新路由
curl -X PUT -H "X-API-KEY: $APISIX_ADMIN_KEY" \
-H "Content-Type: application/json" \
"$APISIX_URL/apisix/admin/routes/route-1" \
-d '{
"uri": "/example",
"upstream": {
"nodes": {"127.0.0.1:8080": 1}
}
}'
# 删除路由
curl -X DELETE -H "X-API-KEY: $APISIX_ADMIN_KEY" \
"$APISIX_URL/apisix/admin/routes/route-1"
# 列出上游
curl -H "X-API-KEY: $APISIX_ADMIN_KEY" \
"$APISIX_URL/apisix/admin/upstreams"
# 创建上游
curl -X POST -H "X-API-KEY: $APISIX_ADMIN_KEY" \
-H "Content-Type: application/json" \
"$APISIX_URL/apisix/admin/upstreams" \
-d '{
"id": "upstream-1",
"type": "roundrobin",
"nodes": [
{"host": "127.0.0.1", "port": 8080, "weight": 1},
{"host": "127.0.0.1", "port": 8081, "weight": 1}
]
}'
# 健康检查
curl -X POST -H "X-API-KEY: $APISIX_ADMIN_KEY" \
-H "Content-Type: application/json" \
"$APISIX_URL/apisix/admin/upstreams" \
-d '{
"id": "upstream-with-healthcheck",
"type": "roundrobin",
"nodes": {"127.0.0.1:8080": 1},
"checks": {
"active": {
"type": "http",
"http_path": "/health",
"healthy": {"interval": 2, "successes": 1},
"unhealthy": {"interval": 1, "http_failures": 2}
}
}
}'
# 列出服务
curl -H "X-API-KEY: $APISIX_ADMIN_KEY" \
"$APISIX_URL/apisix/admin/services"
# 创建服务
curl -X POST -H "X-API-KEY: $APISIX_ADMIN_KEY" \
-H "Content-Type: application/json" \
"$APISIX_URL/apisix/admin/services" \
-d '{
"id": "service-1",
"upstream_id": "upstream-1",
"plugins": {
"rate-limiting": {
"rate": 100,
"burst": 50,
"key": "remote_addr"
}
}
}'
# 常用插件
# 限流
curl -X POST -H "X-API-KEY: $APISIX_ADMIN_KEY" \
"$APISIX_URL/apisix/admin/routes" \
-d '{
"uri": "/limited",
"plugins": {
"limit-req": {
"rate": 100,
"burst": 50,
"key": "remote_addr"
}
},
"upstream": {"nodes": {"127.0.0.1:8080": 1}}
}'
# 认证 (JWT)
curl -X POST -H "X-API-KEY: $APISIX_ADMIN_KEY" \
"$APISIX_URL/apisix/admin/routes" \
-d '{
"uri": "/protected",
"plugins": {
"jwt-auth": {"key": "user-key", "secret": "my-secret"}
},
"upstream": {"nodes": {"127.0.0.1:8080": 1}}
}'
# 请求改写
curl -X POST -H "X-API-KEY: $APISIX_ADMIN_KEY" \
"$APISIX_URL/apisix/admin/routes" \
-d '{
"uri": "/api/*",
"plugins": {
"proxy-rewrite": {
"uri": "/$uri",
"headers": {
"X-Api-Version": "v2"
}
}
},
"upstream": {"nodes": {"127.0.0.1:8080": 1}}
}'
将外部请求路由到后端服务:
source ~/.openclaw/workspace/.env
curl -X POST -H "X-API-KEY: $APISIX_ADMIN_KEY" \
-H "Content-Type: application/json" \
"$APISIX_URL/apisix/admin/routes" \
-d '{
"id": "my-api-route",
"uri": "/my-api/*",
"name": "my-api",
"upstream": {
"type": "roundrobin",
"nodes": {
"backend-service:8080": 1
}
}
}'
防止 API 被恶意请求打挂:
source ~/.openclaw/workspace/.env
curl -X POST -H "X-API-KEY: $APISIX_ADMIN_KEY" \
-H "Content-Type: application/json" \
"$APISIX_URL/apisix/admin/routes" \
-d '{
"uri": "/limited-api/*",
"plugins": {
"limit-req": {
"rate": 100,
"burst": 50,
"key": "remote_addr"
},
"limit-count": {
"count": 100,
"time_window": 60,
"key": "remote_addr"
}
},
"upstream": {"nodes": {"backend:8080": 1}}
}'
部分流量切换到新版本:
source ~/.openclaw/workspace/.env
# 创建新版本路由(带权重)
curl -X POST -H "X-API-KEY: $APISIX_ADMIN_KEY" \
-H "Content-Type: application/json" \
"$APISIX_URL/apisix/admin/routes" \
-d '{
"id": "gray-release",
"uri": "/api/*",
"name": "api-gray",
"priority": 100,
"vars": [["http_x_canary_release", "v2"]],
"upstream": {
"type": "roundrobin",
"nodes": {"new-backend:8080": 1}
}
}'
| 端点 | 说明 |
|---|---|
/apisix/admin/routes | 路由管理 |
/apisix/admin/upstreams | 上游管理 |
/apisix/admin/services | 服务管理 |
/apisix/admin/consumer | 消费者管理 |
/apisix/admin/plugin | 插件配置 |