mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-07-02 00:35:46 +08:00
### What problem does this PR solve? 1. list configs 2. set log level debug/info/warn/error/fatal/panic ``` RAGFlow(user)> list configs; +--------------------+-----------------------+ | key | value | +--------------------+-----------------------+ | redis_host | localhost:6379 | | doc_engine | elasticsearch | | elasticsearch_host | http://localhost:1200 | | log_level | info | | database | mysql | | database_host | localhost:3306 | | admin | 0.0.0.0:9383 | | storage_engine | minio | | minio_host | localhost:9000 | +--------------------+-----------------------+ ``` ### Type of change - [x] New Feature (non-breaking change which adds functionality) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Release Notes * **New Features** * Added `LIST CONFIGS` command to view system configuration details (Redis, database, log level, storage engine, and host settings). * Added `SET LOG LEVEL` command to adjust logging verbosity at runtime. * **Improvements** * Enhanced log level configuration defaults and runtime state management. * Reorganized token management and system endpoints under `/system/` routes for better API organization. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Signed-off-by: Jin Hai <haijin.chn@gmail.com>
161 lines
2.6 KiB
Go
161 lines
2.6 KiB
Go
//
|
|
// Copyright 2026 The InfiniFlow Authors. All Rights Reserved.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
//
|
|
|
|
package cli
|
|
|
|
// Command represents a parsed command from the CLI
|
|
type Command struct {
|
|
Type string
|
|
Params map[string]interface{}
|
|
}
|
|
|
|
// Token types for the lexer
|
|
const (
|
|
// Keywords
|
|
TokenLogin = iota
|
|
TokenLogout
|
|
TokenRegister
|
|
TokenList
|
|
TokenServices
|
|
TokenShow
|
|
TokenCreate
|
|
TokenService
|
|
TokenShutdown
|
|
TokenStartup
|
|
TokenRestart
|
|
TokenUsers
|
|
TokenDrop
|
|
TokenUser
|
|
TokenAlter
|
|
TokenActive
|
|
TokenAdmin
|
|
TokenAdd
|
|
TokenDelete
|
|
TokenPassword
|
|
TokenDataset
|
|
TokenDatasets
|
|
TokenOf
|
|
TokenAgents
|
|
TokenRole
|
|
TokenRoles
|
|
TokenDescription
|
|
TokenGrant
|
|
TokenRevoke
|
|
TokenAll
|
|
TokenPermission
|
|
TokenTo
|
|
TokenFrom
|
|
TokenFor
|
|
TokenResources
|
|
TokenOn
|
|
TokenSet
|
|
TokenReset
|
|
TokenVersion
|
|
TokenVar
|
|
TokenVars
|
|
TokenConfigs
|
|
TokenEnvs
|
|
TokenKey
|
|
TokenKeys
|
|
TokenGenerate
|
|
TokenAvailable
|
|
TokenModel
|
|
TokenModels
|
|
TokenProvider
|
|
TokenProviders
|
|
TokenDefault
|
|
TokenChats
|
|
TokenChat
|
|
TokenFiles
|
|
TokenAs
|
|
TokenParse
|
|
TokenImport
|
|
TokenInto
|
|
TokenWith
|
|
TokenParser
|
|
TokenPipeline
|
|
TokenSearch
|
|
TokenCurrent
|
|
TokenLLM
|
|
TokenVLM
|
|
TokenEmbedding
|
|
TokenReranker
|
|
TokenASR
|
|
TokenTTS
|
|
TokenAsync
|
|
TokenSync
|
|
TokenBenchmark
|
|
TokenPing
|
|
TokenToken
|
|
TokenTokens
|
|
TokenUnset
|
|
TokenIndex
|
|
TokenVectorSize
|
|
TokenDocMeta
|
|
TokenName // For ALTER PROVIDER <name> NAME <new_name>
|
|
TokenInstance
|
|
TokenInstances
|
|
TokenDisable
|
|
TokenEnable
|
|
TokenUse
|
|
TokenThink
|
|
TokenLS
|
|
TokenCat
|
|
TokenInsert
|
|
TokenFile
|
|
TokenMetadata
|
|
TokenUpdate
|
|
TokenRemove
|
|
TokenChunk
|
|
TokenDocument
|
|
TokenTag
|
|
TokenLog
|
|
TokenLevel
|
|
TokenDebug
|
|
TokenInfo
|
|
TokenWarn
|
|
TokenError
|
|
TokenFatal
|
|
TokenPanic
|
|
// Literals
|
|
TokenIdentifier
|
|
TokenQuotedString
|
|
TokenInteger
|
|
TokenFloat
|
|
|
|
// Special
|
|
TokenSemicolon
|
|
TokenComma
|
|
TokenSlash
|
|
TokenEOF
|
|
TokenDash
|
|
TokenIllegal
|
|
)
|
|
|
|
// Token represents a lexical token
|
|
type Token struct {
|
|
Type int
|
|
Value string
|
|
}
|
|
|
|
// NewCommand creates a new command with the given type
|
|
func NewCommand(cmdType string) *Command {
|
|
return &Command{
|
|
Type: cmdType,
|
|
Params: make(map[string]interface{}),
|
|
}
|
|
}
|