Add command line parameter and fix error message (#13526)

### What problem does this PR solve?

`./server_main -p 9380`

`./server_main -h`

### 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-03-12 09:50:57 +08:00
committed by GitHub
parent e1b632a7bb
commit 2fb1360d9d
2 changed files with 36 additions and 4 deletions

View File

@ -2,6 +2,7 @@ package main
import (
"context"
"flag"
"fmt"
"net/http"
"os"
@ -27,7 +28,29 @@ import (
"ragflow/internal/tokenizer"
)
func printHelp() {
fmt.Fprintf(os.Stderr, "Usage: %s [OPTIONS]\n\n", os.Args[0])
fmt.Fprintf(os.Stderr, "RAGFlow Server - Open-source RAG engine based on deep document understanding\n\n")
fmt.Fprintf(os.Stderr, "Options:\n")
fmt.Fprintf(os.Stderr, " -p, --port int\tServer port (overrides config file)\n")
fmt.Fprintf(os.Stderr, " -h, --help \tShow this help message and exit\n")
fmt.Fprintf(os.Stderr, "\nExamples:\n")
fmt.Fprintf(os.Stderr, " %s # Start server with config file port\n", os.Args[0])
fmt.Fprintf(os.Stderr, " %s -p 8080 # Start server on port 8080\n", os.Args[0])
fmt.Fprintf(os.Stderr, " %s --port 8080 # Start server on port 8080\n", os.Args[0])
}
func main() {
// Parse command line flags
var portFlag int
flag.IntVar(&portFlag, "port", 0, "Server port (overrides config file)")
flag.IntVar(&portFlag, "p", 0, "Server port (shorthand, overrides config file)")
// Custom help message
flag.Usage = printHelp
flag.Parse()
// Initialize logger with default level
// logger.Init("info"); // set debug log level
if err := logger.Init("info"); err != nil {
@ -39,6 +62,13 @@ func main() {
logger.Fatal("Failed to initialize config", zap.Error(err))
}
// Override port with command line argument if provided
if portFlag > 0 {
config := server.GetConfig()
config.Server.Port = portFlag
logger.Info("Port overridden by command line argument", zap.Int("port", portFlag))
}
// Load model providers configuration
if err := server.LoadModelProviders(""); err != nil {
logger.Fatal("Failed to load model providers", zap.Error(err))
@ -46,6 +76,9 @@ func main() {
logger.Info("Model providers loaded", zap.Int("count", len(server.GetModelProviders())))
config := server.GetConfig()
if config.Server.Port == 0 {
logger.Fatal("Server port is not configured. Please specify via --port flag or config file.")
}
// Reinitialize logger with configured level if different
if config.Log.Level != "" && config.Log.Level != "info" {