config

package
v0.6.30 Latest Latest
Warning

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

Go to latest
Published: Apr 1, 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 DefaultALLProxy = "http://127.0.0.1:8080"
View Source
const DefaultHTTPSProxy = "http://127.0.0.1:8080"
View Source
const DefaultImmediateFeedbackMode = ImmediateFeedbackModeReaction
View Source
const DefaultImmediateFeedbackReaction = "OK"
View Source
const DefaultLLMProvider = "codex"
View Source
const DefaultLLMTimeoutSecs = 172800
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 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"`
	FeishuBotOpenID           string                      `mapstructure:"feishu_bot_open_id"`
	FeishuBotUserID           string                      `mapstructure:"feishu_bot_user_id"`
	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"`
	ImageGeneration           ImageGenerationConfig       `mapstructure:"image_generation"`
	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"`
	Permissions               *BotPermissionsConfig       `mapstructure:"permissions"`
	CampaignRoleDefaults      CampaignRoleDefaultsConfig  `mapstructure:"campaign_role_defaults"`
}

type BotPermissionsConfig added in v0.4.0

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

type CampaignRoleDefaultConfig added in v0.6.2

type CampaignRoleDefaultConfig struct {
	Role       string `mapstructure:"role"`
	LLMProfile string `mapstructure:"llm_profile"`
	Workflow   string `mapstructure:"workflow"`
}

CampaignRoleDefaultConfig references an llm_profile by name.

type CampaignRoleDefaultsConfig added in v0.6.2

type CampaignRoleDefaultsConfig struct {
	Executor        CampaignRoleDefaultConfig `mapstructure:"executor"`
	Reviewer        CampaignRoleDefaultConfig `mapstructure:"reviewer"`
	Planner         CampaignRoleDefaultConfig `mapstructure:"planner"`
	PlannerReviewer CampaignRoleDefaultConfig `mapstructure:"planner_reviewer"`
}

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"`
	FeishuBotOpenID           string `mapstructure:"feishu_bot_open_id"`
	FeishuBotUserID           string `mapstructure:"feishu_bot_user_id"`
	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"`

	ImageGeneration      ImageGenerationConfig      `mapstructure:"image_generation"`
	AliceHome            string                     `mapstructure:"alice_home"`
	WorkspaceDir         string                     `mapstructure:"workspace_dir"`
	PromptDir            string                     `mapstructure:"prompt_dir"`
	SoulPath             string                     `mapstructure:"soul_path"`
	Permissions          BotPermissionsConfig       `mapstructure:"permissions"`
	CampaignRoleDefaults CampaignRoleDefaultsConfig `mapstructure:"campaign_role_defaults"`
	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:"-"`

	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 ImageGenerationConfig added in v0.5.11

type ImageGenerationConfig struct {
	Enabled               bool   `mapstructure:"enabled"`
	Provider              string `mapstructure:"provider"`
	Model                 string `mapstructure:"model"`
	BaseURL               string `mapstructure:"base_url"`
	TimeoutSecs           int    `mapstructure:"timeout_secs"`
	Moderation            string `mapstructure:"moderation"`
	N                     int    `mapstructure:"n"`
	OutputCompression     int    `mapstructure:"output_compression"`
	ResponseFormat        string `mapstructure:"response_format"`
	Size                  string `mapstructure:"size"`
	Quality               string `mapstructure:"quality"`
	Background            string `mapstructure:"background"`
	OutputFormat          string `mapstructure:"output_format"`
	PartialImages         int    `mapstructure:"partial_images"`
	Stream                bool   `mapstructure:"stream"`
	Style                 string `mapstructure:"style"`
	InputFidelity         string `mapstructure:"input_fidelity"`
	MaskPath              string `mapstructure:"mask_path"`
	UseCurrentAttachments bool   `mapstructure:"use_current_attachments"`
}

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