structs

package
v0.3.1 Latest Latest
Warning

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

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

Documentation

Overview

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

包含模型配置、代理配置、主题与 RPC 等配置结构体

Index

Constants

This section is empty.

Variables

View Source
var DefaultThemes = []Theme{
	{
		Name:           "Default Dark Theme",
		PrimaryColor:   Color{64, 158, 255},
		SecondaryColor: Color{96, 165, 250},
		UserTextColor:  Color{96, 98, 102},
		DefaultUIColor: Color{30, 64, 175},
		ReplyColor:     Color{48, 49, 51},
		CodeTheme: CodeTheme{
			Keyword:  Color{147, 51, 234},
			String:   Color{34, 197, 94},
			Comment:  Color{156, 163, 175},
			Number:   Color{251, 146, 60},
			Varible:  Color{59, 130, 246},
			Constant: Color{239, 68, 68},
			Operator: Color{168, 85, 247},
			Errors:   Color{239, 68, 68},
			Warnings: Color{245, 158, 11},
			Add:      Color{34, 197, 94},
			Remove:   Color{239, 68, 68},
		},
	},
	{
		Name:           "Claude Code Theme",
		PrimaryColor:   Color{255, 153, 0},
		SecondaryColor: Color{77, 144, 254},
		UserTextColor:  Color{255, 255, 255},
		DefaultUIColor: Color{30, 30, 30},
		ReplyColor:     Color{160, 160, 160},
		CodeTheme: CodeTheme{
			Keyword:  Color{255, 153, 0},
			String:   Color{77, 144, 254},
			Comment:  Color{120, 120, 120},
			Number:   Color{255, 200, 100},
			Varible:  Color{59, 130, 246},
			Constant: Color{239, 68, 68},
			Operator: Color{255, 153, 0},
			Errors:   Color{255, 60, 60},
			Warnings: Color{255, 165, 0},
			Add:      Color{34, 197, 94},
			Remove:   Color{239, 68, 68},
		},
	},
}

DefaultThemes 默认主题列表

Functions

func BuildDefault

func BuildDefault[T any](obj T) T

BuildDefault 构造默认值

Types

type AgentConfig

type AgentConfig struct {
	Color                 Color  // 展示颜色
	AgentName             string `default:"Agent"`                       // 代理名称
	AgentDescription      string `default:"Default Agent"`               // 代理描述(人类可读)
	AgentPrompt           string `default:"You are a helpful assistant"` // 代理提示(AI完整提示)
	AgentModel            int32  `default:"0"`                           // 代理使用的模型编号
	AgentShortDescription string `default:"A default subagent"`          // 代理简短描述(AI激活)
	AutoApprove           string `default:""`                            // 自动批准表达式
	AutoReject            string `default:""`                            // 自动拒绝表达式
	DisableSandbox        bool   `default:"false"`                       // 禁用沙盒
}

AgentConfig 单个代理配置结构

type AgentsConfig

type AgentsConfig struct {
	Agents                  map[string]AgentConfig
	IgnoreBuiltinAgents     bool   `default:"false"`
	GlobalPrompt            string `default:""`
	SummaryModel            int32
	MaxCallCount            int32  `default:"50"`
	DefaultAutoApprove      string `default:"" json:"AutoApprove"` // 全局默认自动批准表达式
	DefaultAutoReject       string `default:"" json:"AutoReject"`  // 全局默认自动拒绝表达式
	IgnoreDefaultRules      bool   `default:"false"`
	DisablePromptPreprocess bool   `default:"false"` // 禁用提示词预处理(prompt分类器)
	UseShell                string `default:""`
	DisableSandbox          bool   `default:"false"`
}

AgentsConfig 代理配置结构

type CodeTheme

type CodeTheme struct {
	Keyword  Color
	String   Color
	Comment  Color
	Number   Color
	Varible  Color
	Constant Color
	Operator Color
	Errors   Color
	Warnings Color
	Add      Color
	Remove   Color
}

CodeTheme 代码主题

type Color

type Color struct {
	Red   uint8 `default:"128"`
	Green uint8 `default:"128"`
	Blue  uint8 `default:"128"`
}

Color 颜色配置

type Config

type Config struct {
	JSONSchema string `json:"$schema" default:"https://raw.githubusercontent.com/cxykevin/alkaid0/refs/heads/main/docs/schemas/config.json"`
	Version    int32
	Model      ModelsConfig
	Agent      AgentsConfig
	ThemeID    int32
	Server     RPCConfig
	// IgnoreSignals 为 true 时忽略 SIGTERM/SIGINT/SIGQUIT 信号,进程不会因这些信号退出
	IgnoreSignals bool `json:"ignoreSignals" default:"false"`
}

Config 主配置结构

type ModelConfig

type ModelConfig struct {
	ModelName              string                 `default:"Kimi K2 Thinking"`              // 模型名称
	ModelID                string                 `default:"kimi-k2-thinking"`              // 模型ID
	ModelDescription       string                 `default:""`                              // 模型描述
	ModelAddPrompt         string                 `default:""`                              // 模型添加提示
	ModelTopP              float32                `default:"-1"`                            // 模型TopP,-1 代表默认
	ModelTopK              float32                `default:"-1"`                            // 模型TopK,-1 代表默认
	ModelTemperature       float32                `default:"-1"`                            // 模型温度,-1 代表默认
	TokenLimit             int32                  `default:"8192"`                          // 模型Token限制
	ProviderURL            string                 `default:"https://openrouter.com/api/v1"` // 覆写模型提供者URL
	ProviderKey            string                 `default:"sk-or-xxx"`                     // 复写模型提供者Key
	EnableThinking         bool                   `default:"false"`                         // 是否启用思考
	EnableToolCalling      bool                   `default:"false"`                         // 是否启用工具调用(只影响 delta 拼接)
	CompressSize           uint32                 `default:"128000"`                        // 压缩大小
	Hide                   bool                   `default:"false"`                         // 在列表中隐藏
	Type                   ModelType              `default:""`                              // 模型类型
	ProviderSpecificConfig ProviderSpecificConfig // 特定模型提供方配置
}

ModelConfig 单个模型配置结构

type ModelType added in v0.3.1

type ModelType string

ModelType 模型类型

const (
	ModelTypeLLM       ModelType = ""
	ModelTypeEmbedding ModelType = "embedding"
	ModelTypeRerank    ModelType = "rerank"
)

模型类型

type ModelsConfig

type ModelsConfig struct {
	ProviderURL      string                `default:"https://openrouter.com/api/v1"` // 模型提供者URL
	ProviderKey      string                `default:"sk-or-xxx"`                     // 模型提供者Key
	DefaultModelID   int32                 `default:"0"`
	EmbeddingModelID int32                 `default:"1"`
	Models           map[int32]ModelConfig // 模型列表, value为模型配置
}

ModelsConfig 模型配置结构

type ProviderSpecificConfig

type ProviderSpecificConfig struct {
	EnableDeepseekThinking bool `default:"false"`
	EnableReasoningEffort  bool `default:"true"`
	EnableTopP             bool `default:"false"`
	EnableTemperature      bool `default:"false"`
	EnableTopK             bool `default:"false"`
	EnableUsage            bool `default:"true"`
}

ProviderSpecificConfig 特定模型提供方配置结构

type RPCConfig

type RPCConfig struct {
	Host               string `json:"host" default:"127.0.0.1"`
	Port               uint16 `json:"port" default:"7433"`
	Key                string `json:"key" default:""`
	Path               string `json:"path" default:"/acp"`
	DisableStdioServer bool   `json:"disableStdioServer" default:"false"`
	// SessionTimeout 连接断开后等待客户端重连的超时时间(秒),默认 60
	// 超时后将释放会话及其所有资源(loop、DB 连接)
	SessionTimeout int `json:"sessionTimeout" default:"60"`
}

RPCConfig ACP 协议(websocket 扩展)的配置

type Theme

type Theme struct {
	Name           string
	PrimaryColor   Color
	SecondaryColor Color
	UserTextColor  Color
	DefaultUIColor Color
	ReplyColor     Color
	CodeTheme      CodeTheme
}

Theme 主题

Jump to

Keyboard shortcuts

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