Go CLI: admin list providers (#16243)

### What problem does this PR solve?

```
RAGFlow(admin)> list providers;
+----------------------+-------------------------------------------------------------+
| command              | error                                                       |
+----------------------+-------------------------------------------------------------+
| list_model_providers | 'list model providers' is implemented in enterprise edition |
+----------------------+-------------------------------------------------------------+

RAGFlow(admin)> add provider 'zhipu-ai';
+-------------+-----------------------------------------------------------+
| field       | value                                                     |
+-------------+-----------------------------------------------------------+
| command     | add_model_provider                                        |
| error       | 'add model provider' is implemented in enterprise edition |
| provider_id | admin                                                     |
| user_id     | zhipu-ai                                                  |
+-------------+-----------------------------------------------------------+

RAGFlow(admin)> delete provider 'zhipu-ai';
+-------------+--------------------------------------------------------------+
| field       | value                                                        |
+-------------+--------------------------------------------------------------+
| command     | delete_model_provider                                        |
| error       | 'delete model provider' is implemented in enterprise edition |
| provider_id | admin                                                        |
| user_id     | zhipu-ai                                                     |
+-------------+--------------------------------------------------------------+

RAGFlow(admin)> add provider 'zhipu-ai' instance 'instance1';
+---------------+-----------------------------------------------------------+
| field         | value                                                     |
+---------------+-----------------------------------------------------------+
| command       | add_model_instance                                        |
| error         | 'add model instance' is implemented in enterprise edition |
| instance_name | instance1                                                 |
| provider_id   | zhipu-ai                                                  |
| user_id       | admin                                                     |
+---------------+-----------------------------------------------------------+

RAGFlow(admin)> delete provider 'zhipu-ai' instance 'test'
+-------------+--------------------------------------------------------------+
| field       | value                                                        |
+-------------+--------------------------------------------------------------+
| instances   | [test]                                                       |
| provider_id | zhipu-ai                                                     |
| user_id     | admin                                                        |
| command     | delete_model_provider                                        |
| error       | 'delete model instance' is implemented in enterprise edition |
+-------------+--------------------------------------------------------------+

RAGFlow(admin)> add provider 'zhipu-ai' instance 'instance1' model 'xxx';
+---------------+--------------------------------------------------+
| field         | value                                            |
+---------------+--------------------------------------------------+
| command       | add_model                                        |
| error         | 'add model' is implemented in enterprise edition |
| instance_name | instance1                                        |
| model_names   | [xxx]                                            |
| provider_id   | zhipu-ai                                         |
| user_id       | admin                                            |
+---------------+--------------------------------------------------+

RAGFlow(admin)> delete provider 'zhipu-ai' instance 'test' model 'xxx';
+---------------+------------------------------------------------------+
| field         | value                                                |
+---------------+------------------------------------------------------+
| command       | delete_model_provider                                |
| error         | 'delete models' is implemented in enterprise edition |
| instance_name | test                                                 |
| models        | [xxx]                                                |
| provider_id   | zhipu-ai                                             |
| user_id       | admin                                                |
+---------------+------------------------------------------------------+

```

### Type of change

- [x] New Feature (non-breaking change which adds functionality)

---------

Signed-off-by: Jin Hai <haijin.chn@gmail.com>
This commit is contained in:
Jin Hai
2026-06-23 10:26:31 +08:00
committed by GitHub
parent 06ededb26a
commit b661e9c19e
11 changed files with 790 additions and 65 deletions

View File

@@ -175,24 +175,24 @@ func (r *Router) Setup(engine *gin.Engine) {
// Providers and models
provider := protected.Group("/providers")
{
provider.GET("/", r.handler.ListProviders)
// provider.PUT("/", r.handler.AddProvider)
provider.GET("/", r.handler.ListModelProviders)
provider.POST("/", r.handler.AddModelProvider)
provider.GET("/:provider_name", r.handler.ShowProvider)
// provider.DELETE("/:provider_name", r.handler.DeleteProvider)
provider.DELETE("/", r.handler.DeleteModelProvider)
provider.GET("/:provider_name/models", r.handler.ListModels)
provider.GET("/:provider_name/models/:model_name", r.handler.ShowModel)
// provider.POST("/:provider_name/instances", r.handler.CreateProviderInstance)
provider.POST("/:provider_name/instances", r.handler.AddModelInstance)
// provider.GET("/:provider_name/instances", r.handler.ListProviderInstances)
// provider.GET("/:provider_name/instances/:instance_name", r.handler.ShowProviderInstance)
// provider.GET("/:provider_name/instances/:instance_name/balance", r.handler.ShowInstanceBalance)
// provider.GET("/:provider_name/instances/:instance_name/connection", r.handler.CheckInstanceConnection)
// provider.POST("/:provider_name/connection", r.handler.CheckProviderConnection)
// provider.PUT("/:provider_name/instances/:instance_name", r.handler.AlterProviderInstance)
// provider.DELETE("/:provider_name/instances", r.handler.DropProviderInstance)
provider.DELETE("/:provider_name/instances", r.handler.DeleteModelInstance)
// provider.GET("/:provider_name/instances/:instance_name/models", r.handler.ListInstanceModels)
// provider.PATCH("/:provider_name/instances/:instance_name/models/*model_name", r.handler.EnableOrDisableModel)
// provider.POST("/:provider_name/instances/:instance_name/models", r.handler.AddModel)
// provider.DELETE("/:provider_name/instances/:instance_name/models", r.handler.DropInstanceModels)
provider.POST("/:provider_name/instances/:instance_name/models", r.handler.AddModels)
provider.DELETE("/:provider_name/instances/:instance_name/models", r.handler.DeleteModels)
}
protected.GET("/all-models", r.handler.ListModelsOrShowModel)