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:
parent
3ce1a9f991
commit
a17c679963
2 changed files with 4 additions and 1396 deletions
1259
cmd/picoclaw/main.go
1259
cmd/picoclaw/main.go
File diff suppressed because it is too large
Load diff
|
|
@ -86,7 +86,6 @@ func (c Config) MarshalJSON() ([]byte, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
return json.Marshal(aux)
|
return json.Marshal(aux)
|
||||||
>>>>>>> upstream/main
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type AgentsConfig struct {
|
type AgentsConfig struct {
|
||||||
|
|
@ -587,146 +586,6 @@ func (c *SwarmConfig) Validate() error {
|
||||||
return nil
|
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) {
|
func LoadConfig(path string) (*Config, error) {
|
||||||
cfg := DefaultConfig()
|
cfg := DefaultConfig()
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue