Go CLI: fix mode switch (#16294)

### What problem does this PR solve?

```
RAGFlow(api/default)> add admin host '127.0.0.1:9383';
SUCCESS
RAGFlow(api/default)> use admin;
SUCCESS
RAGFlow(admin)> delete api 'default';
SUCCESS
RAGFlow(admin)> delete api 'default';
CLI error: api server: default not found
RAGFlow(admin)> add api 'default' host '127.0.0.1:9384';
SUCCESS
RAGFlow(admin)> use api 'default';
SUCCESS
RAGFlow(api/default)> delete admin
SUCCESS
RAGFlow(api/default)> delete admin;
CLI error: admin server not exists
RAGFlow(api/default)> list api server;
+------------+---------------+-----------------+---------+
| api_server | api_server_ip | api_server_port | auth    |
+------------+---------------+-----------------+---------+
| default    | 127.0.0.1     | 9384            | no auth |
+------------+---------------+-----------------+---------+
RAGFlow(api/default)> add admin host '127.0.0.1:9383';
SUCCESS
RAGFlow(api/default)> show admin server;
+-------------------+-----------+
| field             | value     |
+-------------------+-----------+
| admin_server_ip   | 127.0.0.1 |
| admin_server_port | 9383      |
| auth              | no auth   |
+-------------------+-----------+
```

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)

Signed-off-by: Jin Hai <haijin.chn@gmail.com>
This commit is contained in:
Jin Hai
2026-06-24 13:41:01 +08:00
committed by GitHub
parent e9cdd09b67
commit e615e4faab
3 changed files with 33 additions and 55 deletions

View File

@@ -1025,7 +1025,7 @@ func (p *Parser) parseAddAdminServer() (*Command, error) {
return cmd, nil
}
// syntax: add api 'abc' host '127.0.0.1:9333' token 'xxx' user 'ccc' password 'ppp'
// syntax: ADD API 'abc' HOST '127.0.0.1:9333';
func (p *Parser) parseAddAPIServer() (*Command, error) {
p.nextToken() // consume API
@@ -1036,7 +1036,7 @@ func (p *Parser) parseAddAPIServer() (*Command, error) {
p.nextToken() // consume model name
if p.curToken.Type != TokenHost {
return nil, fmt.Errorf("expected TO")
return nil, fmt.Errorf("expected HOST")
}
p.nextToken()
@@ -1051,33 +1051,10 @@ func (p *Parser) parseAddAPIServer() (*Command, error) {
return nil, err
}
var token string
optionsLoop:
for {
switch p.curToken.Type {
case TokenToken:
p.nextToken()
token, err = p.parseQuotedString()
if err != nil {
return nil, err
}
case TokenSemicolon:
p.nextToken()
break optionsLoop // done
default:
// No more options to process
break optionsLoop
}
}
cmd := NewCommand("add_api_server")
cmd.Params["server_name"] = serverName
cmd.Params["server_ip"] = ip
cmd.Params["server_port"] = port
if token != "" {
cmd.Params["server_token"] = token
}
return cmd, nil
}
@@ -1107,11 +1084,6 @@ func (p *Parser) parseDeleteAPIServer() (*Command, error) {
func (p *Parser) parseDeleteAdminServer() (*Command, error) {
p.nextToken() // consume ADMIN
if p.curToken.Type != TokenServer {
return nil, fmt.Errorf("expected server name")
}
p.nextToken() // consume SERVER
cmd := NewCommand("delete_admin_server")
// Semicolon is optional