config

package
v0.3.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 28, 2026 License: GPL-3.0 Imports: 9 Imported by: 0

Documentation

Overview

Package config 管理应用的配置加载、保存与热重载钩子

该包提供对配置文件的读取、解析与持久化功能,并维护全局配置对象

Index

Constants

This section is empty.

Variables

View Source
var GlobalConfig = &structs.Config{}

GlobalConfig 配置文件对象。注意:Load/Save/Reload 会写锁保护,直接读字段是线程安全的 (写操作发生在启动时和管理 RPC 中),但严格并发安全应使用 GlobalConfig() 函数。

Functions

func AddReloadHook

func AddReloadHook(hook func())

AddReloadHook 注册配置重载后的回调钩子

func GlobalConfigForWrite added in v0.2.8

func GlobalConfigForWrite() (*structs.Config, func())

GlobalConfigForWrite 返回写锁下的配置指针,调用者必须调用解锁函数

func GlobalConfigSafe added in v0.2.8

func GlobalConfigSafe() *structs.Config

GlobalConfig 返回当前配置的读安全快照 多次调用可能返回不同版本,但保证指针有效且无数据竞争

func GlobalConfigSwap added in v0.2.8

func GlobalConfigSwap(cfg structs.Config) func()

GlobalConfigSwap 原子替换配置并返回恢复函数。适合测试使用

func Load

func Load()

Load 加载配置文件。 先初始化默认配置(含产品版本号和默认模型),然后尝试从文件系统读取 JSON 配置。 文件不存在或解析失败时会备份原文件(加上 .bak 后缀)并用默认配置兜底。 加载完成后若 Server.Key 为空则自动生成随机密钥并保存。

func Path

func Path() string

Path 返回当前配置文件路径。 优先级:ALKAID0_CONFIG_PATH 环境变量 > 默认路径 (~/.config/alkaid0/config.json)

func Reload

func Reload()

Reload 重新加载配置文件并触发所有注册的重载回调。 用于运行时配置热更新,如修改模型参数后无需重启进程。

func Save

func Save()

Save 将当前配置序列化为 JSON 并写入配置文件。 写入完成后触发所有注册的重载钩子(reloadHooks),用于通知其他模块配置已变更。

Types

This section is empty.

Directories

Path Synopsis
Package structs 定义配置相关的数据结构与类型
Package structs 定义配置相关的数据结构与类型

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL