package collect import ( "context" "geo/internal/config" "log" ) // CollectorInterface AI平台收集器接口 type CollectorInterface interface { // WaitLogin 等待登录 WaitLogin() (bool, string) // AskQuestion 提问并获取答案 AskQuestion(question string) (string, error) } // NewCollector 创建收集器的工厂函数类型 type NewCollector func( ctx context.Context, param *CollectParams, cfg *config.Config, logger *log.Logger) CollectorInterface // CollectorValue 收集器配置信息 type CollectorValue struct { Name string // 平台名称 InitMethod NewCollector // 初始化方法 Platform string // 平台标识: wenxin, deepseek, doubao, qianwen } // CollectParams 收集任务参数 type CollectParams struct { Headless bool // 是否无头模式 UserIndex string // 用户索引 PlatIndex string // 平台索引 RequestID string // 请求ID Platform string // 平台类型 } // CollectorMap 收集器注册表 var CollectorMap = map[string]*CollectorValue{ "wenxin": { Name: "文心一言", InitMethod: NewWenxinCollector, Platform: "wenxin", }, "deepseek": { Name: "DeepSeek", InitMethod: NewDeepseekCollector, Platform: "deepseek", }, "doubao": { Name: "豆包", InitMethod: NewDoubaoCollector, Platform: "doubao", }, "qianwen": { Name: "通义千问", InitMethod: NewQianwenCollector, Platform: "qianwen", }, }