fix: resolve merge conflicts with upstream/main

- Fix imports in main.go (add runtime, filepath, encoding/json, etc.)
- Fix CreateProvider calls to handle 3 return values
- Add missing packages: tools, channels
- Ensure swarm mode commands compile correctly

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Zhaoyikaiii 2026-02-22 14:06:33 +08:00
parent 3ce1a9f991
commit a17c679963
2 changed files with 4 additions and 1396 deletions

File diff suppressed because it is too large Load diff

View file

@ -86,7 +86,6 @@ func (c Config) MarshalJSON() ([]byte, error) {
}
return json.Marshal(aux)
>>>>>>> upstream/main
}
type AgentsConfig struct {
@ -587,146 +586,6 @@ func (c *SwarmConfig) Validate() error {
return nil
}
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{},
},
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,
},
},
},
Heartbeat: HeartbeatConfig{
Enabled: true,
Interval: 30, // default 30 minutes
},
Devices: DevicesConfig{
Enabled: false,
MonitorUSB: true,
},
Swarm: SwarmConfig{
Enabled: false, // Disabled by default for backward compatibility
NodeID: "", // Auto-generate if empty
Role: "worker",
Capabilities: []string{},
MaxConcurrent: 5,
NATS: NATSConfig{
URLs: []string{"nats://localhost:4222"},
Credentials: "",
HeartbeatInterval: "10s",
NodeTimeout: "30s",
Embedded: false,
EmbeddedPort: 4222,
},
Temporal: TemporalConfig{
Host: "localhost:7233",
Namespace: "picoclaw-swarm",
TaskQueue: "picoclaw-tasks",
WorkflowTimeout: "30m",
ActivityTimeout: "10m",
},
},
}
}
func LoadConfig(path string) (*Config, error) {
cfg := DefaultConfig()