config

package
v0.6.65 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	GroupSceneSessionPerChat   = "per_chat"
	GroupSceneSessionPerThread = "per_thread"
)
View Source
const (
	CodexSandboxReadOnly         = "read-only"
	CodexSandboxWorkspaceWrite   = "workspace-write"
	CodexSandboxDangerFullAccess = "danger-full-access"

	CodexApprovalUntrusted = "untrusted"
	CodexApprovalOnRequest = "on-request"
	CodexApprovalNever     = "never"
)
View Source
const (
	EnvAliceHome = "ALICE_HOME"
	EnvCodexHome = "CODEX_HOME"
)
View Source
const DefaultAuthStatusTimeoutSecs = 15
View Source
const DefaultCodexHighIdleTimeoutSecs = 1800
View Source
const DefaultCodexIdleTimeoutSecs = 900
View Source
const DefaultCodexXHighIdleTimeoutSecs = 3600
View Source
const DefaultImmediateFeedbackMode = ImmediateFeedbackModeReaction
View Source
const DefaultImmediateFeedbackReaction = "OK"
View Source
const DefaultLLMProvider = "codex"
View Source
const DefaultLLMTimeoutSecs = 172800
View Source
const DefaultLocalRuntimeStoreOpenTimeoutSecs = 10
View Source
const DefaultRuntimeAPIShutdownTimeoutSecs = 5
View Source
const DefaultRuntimeHTTPAddr = "127.0.0.1:7331"
View Source
const DefaultWorkerConcurrency = 3
View Source
const ImmediateFeedbackModeReaction = "reaction"
View Source
const ImmediateFeedbackModeReply = "reply"
View Source
const LLMProviderClaude = "claude"
View Source
const LLMProviderGemini = "gemini"
View Source
const LLMProviderKimi = "kimi"
View Source
const TriggerModeAt = "at"
View Source
const TriggerModePrefix = "prefix"

Variables

This section is empty.

Functions

func AliceHomeDir

func AliceHomeDir() string

func BundledSkillSourceDirForAliceHome added in v0.6.3

func BundledSkillSourceDirForAliceHome(aliceHome string) string

func CodexHomeForAliceHome added in v0.3.0

func CodexHomeForAliceHome(aliceHome string) string

func ConfigPathForAliceHome added in v0.3.0

func ConfigPathForAliceHome(aliceHome string) string

func DefaultAgentsSkillsDir added in v0.6.3

func DefaultAgentsSkillsDir() string

func DefaultAliceHomeName added in v0.3.1

func DefaultAliceHomeName() string

func DefaultBundledSkillSourceDir added in v0.6.3

func DefaultBundledSkillSourceDir() string

func DefaultClaudeSkillsDir added in v0.6.3

func DefaultClaudeSkillsDir() string

func DefaultCodexHome

func DefaultCodexHome() string

func DefaultConfigPath

func DefaultConfigPath() string

func DefaultLogDir added in v0.3.1

func DefaultLogDir() string

func DefaultLogFilePath added in v0.3.1

func DefaultLogFilePath() string

func DefaultPIDFilePath

func DefaultPIDFilePath() string

func DefaultPromptDir

func DefaultPromptDir() string

func DefaultRunDir

func DefaultRunDir() string

func DefaultRuntimeBinaryPath

func DefaultRuntimeBinaryPath() string

func DefaultWorkspaceDir

func DefaultWorkspaceDir() string

func LogDirForAliceHome added in v0.3.1

func LogDirForAliceHome(aliceHome string) string

func LogFilePathForAliceHome added in v0.3.1

func LogFilePathForAliceHome(aliceHome string) string

func LogFilePathForAliceHomeAt added in v0.3.1

func LogFilePathForAliceHomeAt(aliceHome string, at time.Time) string

func PIDFilePathForAliceHome added in v0.3.0

func PIDFilePathForAliceHome(aliceHome string) string

func PromptDirForAliceHome added in v0.3.0

func PromptDirForAliceHome(aliceHome string) string

func ResolveAliceHomeDir added in v0.3.0

func ResolveAliceHomeDir(override string) string

func ResolveCodexHomeDir added in v0.6.2

func ResolveCodexHomeDir(override string) string

func RunDirForAliceHome added in v0.3.0

func RunDirForAliceHome(aliceHome string) string

func RuntimeBinaryPathForAliceHome added in v0.3.0

func RuntimeBinaryPathForAliceHome(aliceHome string) string

func SoulPathForAliceHome added in v0.6.53

func SoulPathForAliceHome(aliceHome string) string

func WorkspaceDirForAliceHome added in v0.3.0

func WorkspaceDirForAliceHome(aliceHome string) string

Types

type BotConfig added in v0.4.0

type BotConfig struct {
	Name                             string                      `mapstructure:"name"`
	FeishuAppID                      string                      `mapstructure:"feishu_app_id"`
	FeishuAppSecret                  string                      `mapstructure:"feishu_app_secret"`
	FeishuBaseURL                    string                      `mapstructure:"feishu_base_url"`
	TriggerMode                      string                      `mapstructure:"trigger_mode"`
	TriggerPrefix                    string                      `mapstructure:"trigger_prefix"`
	ImmediateFeedbackMode            string                      `mapstructure:"immediate_feedback_mode"`
	ImmediateFeedbackReaction        string                      `mapstructure:"immediate_feedback_reaction"`
	LLMProfiles                      map[string]LLMProfileConfig `mapstructure:"llm_profiles"`
	GroupScenes                      *GroupScenesConfig          `mapstructure:"group_scenes"`
	RuntimeHTTPAddr                  string                      `mapstructure:"runtime_http_addr"`
	RuntimeHTTPToken                 string                      `mapstructure:"runtime_http_token"`
	FailureMessage                   string                      `mapstructure:"failure_message"`
	ThinkingMessage                  string                      `mapstructure:"thinking_message"`
	AliceHome                        string                      `mapstructure:"alice_home"`
	WorkspaceDir                     string                      `mapstructure:"workspace_dir"`
	PromptDir                        string                      `mapstructure:"prompt_dir"`
	CodexHome                        string                      `mapstructure:"codex_home"`
	SoulPath                         string                      `mapstructure:"soul_path"`
	Env                              map[string]string           `mapstructure:"env"`
	QueueCapacity                    int                         `mapstructure:"queue_capacity"`
	WorkerConcurrency                int                         `mapstructure:"worker_concurrency"`
	AutomationTaskTimeoutSecs        int                         `mapstructure:"automation_task_timeout_secs"`
	AuthStatusTimeoutSecs            int                         `mapstructure:"auth_status_timeout_secs"`
	RuntimeAPIShutdownTimeoutSecs    int                         `mapstructure:"runtime_api_shutdown_timeout_secs"`
	LocalRuntimeStoreOpenTimeoutSecs int                         `mapstructure:"local_runtime_store_open_timeout_secs"`
	CodexIdleTimeoutSecs             int                         `mapstructure:"codex_idle_timeout_secs"`
	CodexHighIdleTimeoutSecs         int                         `mapstructure:"codex_high_idle_timeout_secs"`
	CodexXHighIdleTimeoutSecs        int                         `mapstructure:"codex_xhigh_idle_timeout_secs"`
	Permissions                      *BotPermissionsConfig       `mapstructure:"permissions"`
}

type BotPermissionsConfig added in v0.4.0

type BotPermissionsConfig struct {
	RuntimeMessage    *bool    `mapstructure:"runtime_message"`
	RuntimeAutomation *bool    `mapstructure:"runtime_automation"`
	AllowedSkills     []string `mapstructure:"allowed_skills"`
}

type CodexExecPolicyConfig added in v0.4.0

type CodexExecPolicyConfig struct {
	Sandbox        string   `mapstructure:"sandbox"`
	AskForApproval string   `mapstructure:"ask_for_approval"`
	AddDirs        []string `mapstructure:"add_dirs"`
}

type Config

type Config struct {
	BotID                     string `mapstructure:"-"`
	BotName                   string `mapstructure:"bot_name"`
	FeishuAppID               string `mapstructure:"feishu_app_id"`
	FeishuAppSecret           string `mapstructure:"feishu_app_secret"`
	FeishuBaseURL             string `mapstructure:"feishu_base_url"`
	TriggerMode               string `mapstructure:"trigger_mode"`
	TriggerPrefix             string `mapstructure:"trigger_prefix"`
	ImmediateFeedbackMode     string `mapstructure:"immediate_feedback_mode"`
	ImmediateFeedbackReaction string `mapstructure:"immediate_feedback_reaction"`

	LLMProvider string                      `mapstructure:"llm_provider"`
	LLMProfiles map[string]LLMProfileConfig `mapstructure:"llm_profiles"`
	GroupScenes GroupScenesConfig           `mapstructure:"group_scenes"`

	// Shared env for all LLM subprocesses (HTTPS_PROXY, API keys, etc.)
	CodexEnv  map[string]string `mapstructure:"env"`
	CodexHome string            `mapstructure:"codex_home"`

	RuntimeHTTPAddr  string `mapstructure:"runtime_http_addr"`
	RuntimeHTTPToken string `mapstructure:"runtime_http_token"`
	FailureMessage   string `mapstructure:"failure_message"`
	ThinkingMessage  string `mapstructure:"thinking_message"`

	AliceHome    string               `mapstructure:"alice_home"`
	WorkspaceDir string               `mapstructure:"workspace_dir"`
	PromptDir    string               `mapstructure:"prompt_dir"`
	SoulPath     string               `mapstructure:"soul_path"`
	Permissions  BotPermissionsConfig `mapstructure:"permissions"`
	Bots         map[string]BotConfig `mapstructure:"bots"`

	QueueCapacity                    int           `mapstructure:"queue_capacity"`
	WorkerConcurrency                int           `mapstructure:"worker_concurrency"`
	AutomationTaskTimeoutSecs        int           `mapstructure:"automation_task_timeout_secs"`
	AutomationTaskTimeout            time.Duration `mapstructure:"-"`
	AuthStatusTimeoutSecs            int           `mapstructure:"auth_status_timeout_secs"`
	AuthStatusTimeout                time.Duration `mapstructure:"-"`
	RuntimeAPIShutdownTimeoutSecs    int           `mapstructure:"runtime_api_shutdown_timeout_secs"`
	RuntimeAPIShutdownTimeout        time.Duration `mapstructure:"-"`
	LocalRuntimeStoreOpenTimeoutSecs int           `mapstructure:"local_runtime_store_open_timeout_secs"`
	LocalRuntimeStoreOpenTimeout     time.Duration `mapstructure:"-"`
	CodexIdleTimeoutSecs             int           `mapstructure:"codex_idle_timeout_secs"`
	CodexIdleTimeout                 time.Duration `mapstructure:"-"`
	CodexHighIdleTimeoutSecs         int           `mapstructure:"codex_high_idle_timeout_secs"`
	CodexHighIdleTimeout             time.Duration `mapstructure:"-"`
	CodexXHighIdleTimeoutSecs        int           `mapstructure:"codex_xhigh_idle_timeout_secs"`
	CodexXHighIdleTimeout            time.Duration `mapstructure:"-"`

	LogLevel      string `mapstructure:"log_level"`
	LogFile       string `mapstructure:"log_file"`
	LogMaxSizeMB  int    `mapstructure:"log_max_size_mb"`
	LogMaxBackups int    `mapstructure:"log_max_backups"`
	LogMaxAgeDays int    `mapstructure:"log_max_age_days"`
	LogCompress   bool   `mapstructure:"log_compress"`
}

func LoadFromFile

func LoadFromFile(path string) (Config, error)

func (Config) AllowedBundledSkills added in v0.4.0

func (cfg Config) AllowedBundledSkills() []string

func (Config) ResolvedLLMProviders added in v0.5.18

func (cfg Config) ResolvedLLMProviders() []string

func (Config) RuntimeConfigForBot added in v0.5.0

func (cfg Config) RuntimeConfigForBot(botID string) (Config, error)

func (Config) RuntimeConfigs added in v0.4.0

func (cfg Config) RuntimeConfigs() ([]Config, error)

type GroupSceneConfig added in v0.3.11

type GroupSceneConfig struct {
	Enabled            bool   `mapstructure:"enabled"`
	TriggerTag         string `mapstructure:"trigger_tag"`
	SessionScope       string `mapstructure:"session_scope"`
	LLMProfile         string `mapstructure:"llm_profile"`
	NoReplyToken       string `mapstructure:"no_reply_token"`
	CreateFeishuThread bool   `mapstructure:"create_feishu_thread"`
}

type GroupScenesConfig added in v0.3.11

type GroupScenesConfig struct {
	Chat GroupSceneConfig `mapstructure:"chat"`
	Work GroupSceneConfig `mapstructure:"work"`
}

type LLMProfileConfig added in v0.3.11

type LLMProfileConfig struct {
	Provider        string                 `mapstructure:"provider"`
	Command         string                 `mapstructure:"command"`
	TimeoutSecs     int                    `mapstructure:"timeout_secs"`
	Model           string                 `mapstructure:"model"`
	Profile         string                 `mapstructure:"profile"`
	ReasoningEffort string                 `mapstructure:"reasoning_effort"`
	Personality     string                 `mapstructure:"personality"`
	PromptPrefix    string                 `mapstructure:"prompt_prefix"`
	Permissions     *CodexExecPolicyConfig `mapstructure:"permissions"`

	// Computed at finalization, not from YAML.
	Timeout time.Duration `mapstructure:"-"`
}

Jump to

Keyboard shortcuts

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