// PicoClaw - Ultra-lightweight personal AI agent // License: MIT // // Copyright (c) 2026 PicoClaw contributors package config // DefaultConfig returns the default configuration for PicoClaw. func DefaultConfig() *Config { return &Config{ Agents: AgentsConfig{ Defaults: AgentDefaults{ Workspace: "~/.picoclaw/workspace", RestrictToWorkspace: true, Provider: "", Model: "glm-4.7", MaxTokens: 8192, Temperature: 0.7, MaxToolIterations: 20, }, }, Channels: ChannelsConfig{ WhatsApp: WhatsAppConfig{ Enabled: false, BridgeURL: "ws://localhost:3001", AllowFrom: FlexibleStringSlice{}, }, Telegram: TelegramConfig{ Enabled: false, Token: "", AllowFrom: FlexibleStringSlice{}, }, Feishu: FeishuConfig{ Enabled: false, AppID: "", AppSecret: "", EncryptKey: "", VerificationToken: "", AllowFrom: FlexibleStringSlice{}, }, Discord: DiscordConfig{ Enabled: false, Token: "", AllowFrom: FlexibleStringSlice{}, }, MaixCam: MaixCamConfig{ Enabled: false, Host: "0.0.0.0", Port: 18790, AllowFrom: FlexibleStringSlice{}, }, QQ: QQConfig{ Enabled: false, AppID: "", AppSecret: "", AllowFrom: FlexibleStringSlice{}, }, DingTalk: DingTalkConfig{ Enabled: false, ClientID: "", ClientSecret: "", AllowFrom: FlexibleStringSlice{}, }, Slack: SlackConfig{ Enabled: false, BotToken: "", AppToken: "", AllowFrom: FlexibleStringSlice{}, }, LINE: LINEConfig{ Enabled: false, ChannelSecret: "", ChannelAccessToken: "", WebhookHost: "0.0.0.0", WebhookPort: 18791, WebhookPath: "/webhook/line", AllowFrom: FlexibleStringSlice{}, }, OneBot: OneBotConfig{ Enabled: false, WSUrl: "ws://127.0.0.1:3001", AccessToken: "", ReconnectInterval: 5, GroupTriggerPrefix: []string{}, AllowFrom: FlexibleStringSlice{}, }, }, Providers: ProvidersConfig{ Anthropic: ProviderConfig{}, OpenAI: ProviderConfig{}, OpenRouter: ProviderConfig{}, Groq: ProviderConfig{}, Zhipu: ProviderConfig{}, VLLM: ProviderConfig{}, Gemini: ProviderConfig{}, Nvidia: ProviderConfig{}, Moonshot: ProviderConfig{}, ShengSuanYun: ProviderConfig{}, Cerebras: ProviderConfig{}, VolcEngine: ProviderConfig{}, }, Gateway: GatewayConfig{ Host: "0.0.0.0", Port: 18790, }, Tools: ToolsConfig{ Web: WebToolsConfig{ Brave: BraveConfig{ Enabled: false, APIKey: "", MaxResults: 5, }, DuckDuckGo: DuckDuckGoConfig{ Enabled: true, MaxResults: 5, }, Perplexity: PerplexityConfig{ Enabled: false, APIKey: "", MaxResults: 5, }, }, Cron: CronToolsConfig{ ExecTimeoutMinutes: 5, // default 5 minutes for LLM operations }, }, Heartbeat: HeartbeatConfig{ Enabled: true, Interval: 30, // default 30 minutes }, Devices: DevicesConfig{ Enabled: false, MonitorUSB: true, }, } }