Feat: add skills space to context engine (#13908)

### What problem does this PR solve?

issue #13714

### Type of change

- [x] New Feature (non-breaking change which adds functionality)
This commit is contained in:
Yingfeng
2026-04-30 12:36:03 +08:00
committed by GitHub
parent bb3b99f0a5
commit 4ee0702aed
101 changed files with 19161 additions and 633 deletions

View File

@@ -7,6 +7,7 @@ import (
"syscall"
"ragflow/internal/cli"
"ragflow/internal/logger"
)
func main() {
@@ -17,6 +18,15 @@ func main() {
os.Exit(1)
}
// Initialize logger with appropriate level
logLevel := "warn" // Default to warn (quiet mode)
if args.Verbose {
logLevel = "info"
}
if err := logger.Init(logLevel); err != nil {
fmt.Printf("Warning: Failed to initialize logger: %v\n", err)
}
// Show help and exit
if args.ShowHelp {
cli.PrintUsage()

View File

@@ -181,6 +181,9 @@ func startServer(config *server.Config) {
memoryService := service.NewMemoryService()
modelProviderService := service.NewModelProviderService()
// Initialize doc engine for skill search
docEngine := engine.Get()
// Initialize handler layer
authHandler := handler.NewAuthHandler()
userHandler := handler.NewUserHandler(userService)
@@ -197,10 +200,11 @@ func startServer(config *server.Config) {
searchHandler := handler.NewSearchHandler(searchService, userService)
fileHandler := handler.NewFileHandler(fileService, userService)
memoryHandler := handler.NewMemoryHandler(memoryService)
skillSearchHandler := handler.NewSkillSearchHandler(docEngine)
providerHandler := handler.NewProviderHandler(userService, modelProviderService)
// Initialize router
r := router.NewRouter(authHandler, userHandler, tenantHandler, documentHandler, datasetsHandler, systemHandler, kbHandler, chunkHandler, llmHandler, chatHandler, chatSessionHandler, connectorHandler, searchHandler, fileHandler, memoryHandler, providerHandler)
r := router.NewRouter(authHandler, userHandler, tenantHandler, documentHandler, datasetsHandler, systemHandler, kbHandler, chunkHandler, llmHandler, chatHandler, chatSessionHandler, connectorHandler, searchHandler, fileHandler, memoryHandler, skillSearchHandler, providerHandler)
// Create Gin engine
ginEngine := gin.New()
@@ -214,11 +218,15 @@ func startServer(config *server.Config) {
// Setup routes
r.Setup(ginEngine)
// Create HTTP server
// Create HTTP server with timeouts to prevent slow clients from blocking shutdown
addr := fmt.Sprintf(":%d", config.Server.Port)
srv := &http.Server{
Addr: addr,
Handler: ginEngine,
Addr: addr,
Handler: ginEngine,
ReadHeaderTimeout: 10 * time.Second,
ReadTimeout: 60 * time.Second,
WriteTimeout: 120 * time.Second,
IdleTimeout: 120 * time.Second,
}
// Start server in a goroutine