// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.6 // protoc v7.34.1 // source: user/user_msg_v3.proto package pb import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" unsafe "unsafe" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type UserGetAppConfigV3Req struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *UserGetAppConfigV3Req) Reset() { *x = UserGetAppConfigV3Req{} mi := &file_user_user_msg_v3_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *UserGetAppConfigV3Req) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserGetAppConfigV3Req) ProtoMessage() {} func (x *UserGetAppConfigV3Req) ProtoReflect() protoreflect.Message { mi := &file_user_user_msg_v3_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UserGetAppConfigV3Req.ProtoReflect.Descriptor instead. func (*UserGetAppConfigV3Req) Descriptor() ([]byte, []int) { return file_user_user_msg_v3_proto_rawDescGZIP(), []int{0} } // 可选总结大模型项(与 echomeet_getsummaryservices 的同名字段口径一致) type MeetSummaryServiceItem struct { state protoimpl.MessageState `protogen:"open.v1"` SvcId string `protobuf:"bytes,1,opt,name=svc_id,json=svcId,proto3" json:"svc_id"` //@go_tags(`json:"svc_id"`) 服务id(starttask/summary 的 summary_svc_id 传它) Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //@go_tags(`json:"name"`) 服务显示名 IsDefault bool `protobuf:"varint,3,opt,name=is_default,json=isDefault,proto3" json:"is_default"` //@go_tags(`json:"is_default"`) 是否后台默认模型 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *MeetSummaryServiceItem) Reset() { *x = MeetSummaryServiceItem{} mi := &file_user_user_msg_v3_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *MeetSummaryServiceItem) String() string { return protoimpl.X.MessageStringOf(x) } func (*MeetSummaryServiceItem) ProtoMessage() {} func (x *MeetSummaryServiceItem) ProtoReflect() protoreflect.Message { mi := &file_user_user_msg_v3_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MeetSummaryServiceItem.ProtoReflect.Descriptor instead. func (*MeetSummaryServiceItem) Descriptor() ([]byte, []int) { return file_user_user_msg_v3_proto_rawDescGZIP(), []int{1} } func (x *MeetSummaryServiceItem) GetSvcId() string { if x != nil { return x.SvcId } return "" } func (x *MeetSummaryServiceItem) GetName() string { if x != nil { return x.Name } return "" } func (x *MeetSummaryServiceItem) GetIsDefault() bool { if x != nil { return x.IsDefault } return false } // 会议记录能力:支持的语言 + 可选总结大模型 type MeetCapabilitiesItem struct { state protoimpl.MessageState `protogen:"open.v1"` TranscribeLanguages []string `protobuf:"bytes,1,rep,name=transcribe_languages,json=transcribeLanguages,proto3" json:"transcribe_languages"` //@go_tags(`json:"transcribe_languages"`) 录音识别支持的语言(BCP-47) TranscribeAnyLanguage bool `protobuf:"varint,2,opt,name=transcribe_any_language,json=transcribeAnyLanguage,proto3" json:"transcribe_any_language"` //@go_tags(`json:"transcribe_any_language"`) true=存在未限定语言的识别服务,不受上面列表约束 TranslateLanguages []string `protobuf:"bytes,3,rep,name=translate_languages,json=translateLanguages,proto3" json:"translate_languages"` //@go_tags(`json:"translate_languages"`) 翻译支持的目标语言(BCP-47) TranslateAnyLanguage bool `protobuf:"varint,4,opt,name=translate_any_language,json=translateAnyLanguage,proto3" json:"translate_any_language"` //@go_tags(`json:"translate_any_language"`) true=存在未限定语言的翻译服务 SummaryClientChoice bool `protobuf:"varint,5,opt,name=summary_client_choice,json=summaryClientChoice,proto3" json:"summary_client_choice"` //@go_tags(`json:"summary_client_choice"`) 后台是否允许客户端指定总结模型;false 时 summary_services 仅含默认项 SummaryServices []*MeetSummaryServiceItem `protobuf:"bytes,6,rep,name=summary_services,json=summaryServices,proto3" json:"summary_services"` //@go_tags(`json:"summary_services"`) 可选总结大模型列表 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *MeetCapabilitiesItem) Reset() { *x = MeetCapabilitiesItem{} mi := &file_user_user_msg_v3_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *MeetCapabilitiesItem) String() string { return protoimpl.X.MessageStringOf(x) } func (*MeetCapabilitiesItem) ProtoMessage() {} func (x *MeetCapabilitiesItem) ProtoReflect() protoreflect.Message { mi := &file_user_user_msg_v3_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MeetCapabilitiesItem.ProtoReflect.Descriptor instead. func (*MeetCapabilitiesItem) Descriptor() ([]byte, []int) { return file_user_user_msg_v3_proto_rawDescGZIP(), []int{2} } func (x *MeetCapabilitiesItem) GetTranscribeLanguages() []string { if x != nil { return x.TranscribeLanguages } return nil } func (x *MeetCapabilitiesItem) GetTranscribeAnyLanguage() bool { if x != nil { return x.TranscribeAnyLanguage } return false } func (x *MeetCapabilitiesItem) GetTranslateLanguages() []string { if x != nil { return x.TranslateLanguages } return nil } func (x *MeetCapabilitiesItem) GetTranslateAnyLanguage() bool { if x != nil { return x.TranslateAnyLanguage } return false } func (x *MeetCapabilitiesItem) GetSummaryClientChoice() bool { if x != nil { return x.SummaryClientChoice } return false } func (x *MeetCapabilitiesItem) GetSummaryServices() []*MeetSummaryServiceItem { if x != nil { return x.SummaryServices } return nil } type UserGetAppConfigV3Resp struct { state protoimpl.MessageState `protogen:"open.v1"` Env map[string]string `protobuf:"bytes,1,rep,name=env,proto3" json:"env" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` //@go_tags(`json:"env"`) 应用环境变量(app_config + 本区域 global_config) Agents []*AgentItemV3 `protobuf:"bytes,2,rep,name=agents,proto3" json:"agents"` //@go_tags(`json:"agents"`) 智能体列表(结构同 user_getagents_v3,含 type 与服务编排) Products []*DBProduct `protobuf:"bytes,3,rep,name=products,proto3" json:"products"` //@go_tags(`json:"products"`) 产品列表 Thirdsvcs []*ThirdSvcItem `protobuf:"bytes,4,rep,name=thirdsvcs,proto3" json:"thirdsvcs"` //@go_tags(`json:"thirdsvcs"`) 第三方服务(含 MCP 类,按用户区域合并、凭据已解密为明文) Meet *MeetCapabilitiesItem `protobuf:"bytes,5,opt,name=meet,proto3" json:"meet"` //@go_tags(`json:"meet"`) 会议记录能力(语言 + 总结大模型) CallTranslate *CallTranslateItem `protobuf:"bytes,6,opt,name=call_translate,json=callTranslate,proto3" json:"call_translate"` //@go_tags(`json:"call_translate"`) 通话翻译配置(本区域生效的选路规则 + 规则引用的翻译 agent) unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *UserGetAppConfigV3Resp) Reset() { *x = UserGetAppConfigV3Resp{} mi := &file_user_user_msg_v3_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *UserGetAppConfigV3Resp) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserGetAppConfigV3Resp) ProtoMessage() {} func (x *UserGetAppConfigV3Resp) ProtoReflect() protoreflect.Message { mi := &file_user_user_msg_v3_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UserGetAppConfigV3Resp.ProtoReflect.Descriptor instead. func (*UserGetAppConfigV3Resp) Descriptor() ([]byte, []int) { return file_user_user_msg_v3_proto_rawDescGZIP(), []int{3} } func (x *UserGetAppConfigV3Resp) GetEnv() map[string]string { if x != nil { return x.Env } return nil } func (x *UserGetAppConfigV3Resp) GetAgents() []*AgentItemV3 { if x != nil { return x.Agents } return nil } func (x *UserGetAppConfigV3Resp) GetProducts() []*DBProduct { if x != nil { return x.Products } return nil } func (x *UserGetAppConfigV3Resp) GetThirdsvcs() []*ThirdSvcItem { if x != nil { return x.Thirdsvcs } return nil } func (x *UserGetAppConfigV3Resp) GetMeet() *MeetCapabilitiesItem { if x != nil { return x.Meet } return nil } func (x *UserGetAppConfigV3Resp) GetCallTranslate() *CallTranslateItem { if x != nil { return x.CallTranslate } return nil } // 通话翻译选路规则:一条规则覆盖「多源语言 × 多目标语言」,命中后走 agent_id 指定的翻译 agent。 type CallTranslateRuleItem struct { state protoimpl.MessageState `protogen:"open.v1"` Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` //@go_tags(`json:"id"`) 规则 id(仅用于日志/排障) Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //@go_tags(`json:"name"`) 规则名(仅便于识别) SrcLangs string `protobuf:"bytes,3,opt,name=src_langs,json=srcLangs,proto3" json:"src_langs"` //@go_tags(`json:"src_langs"`) 源语言集合,逗号分隔 BCP-47;单个 "*" = 任意语言 DstLangs string `protobuf:"bytes,4,opt,name=dst_langs,json=dstLangs,proto3" json:"dst_langs"` //@go_tags(`json:"dst_langs"`) 目标语言集合,同上 Bidir bool `protobuf:"varint,5,opt,name=bidir,proto3" json:"bidir"` //@go_tags(`json:"bidir"`) true=反向(dst→src)也命中这条规则 AgentId string `protobuf:"bytes,6,opt,name=agent_id,json=agentId,proto3" json:"agent_id"` //@go_tags(`json:"agent_id"`) 命中后使用的翻译 agent(在同响应的 call_translate.agents 里) Priority int32 `protobuf:"varint,7,opt,name=priority,proto3" json:"priority"` //@go_tags(`json:"priority"`) 优先级,越大越先匹配 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *CallTranslateRuleItem) Reset() { *x = CallTranslateRuleItem{} mi := &file_user_user_msg_v3_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *CallTranslateRuleItem) String() string { return protoimpl.X.MessageStringOf(x) } func (*CallTranslateRuleItem) ProtoMessage() {} func (x *CallTranslateRuleItem) ProtoReflect() protoreflect.Message { mi := &file_user_user_msg_v3_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CallTranslateRuleItem.ProtoReflect.Descriptor instead. func (*CallTranslateRuleItem) Descriptor() ([]byte, []int) { return file_user_user_msg_v3_proto_rawDescGZIP(), []int{4} } func (x *CallTranslateRuleItem) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *CallTranslateRuleItem) GetName() string { if x != nil { return x.Name } return "" } func (x *CallTranslateRuleItem) GetSrcLangs() string { if x != nil { return x.SrcLangs } return "" } func (x *CallTranslateRuleItem) GetDstLangs() string { if x != nil { return x.DstLangs } return "" } func (x *CallTranslateRuleItem) GetBidir() bool { if x != nil { return x.Bidir } return false } func (x *CallTranslateRuleItem) GetAgentId() string { if x != nil { return x.AgentId } return "" } func (x *CallTranslateRuleItem) GetPriority() int32 { if x != nil { return x.Priority } return 0 } // 通话翻译配置:规则集 + 规则引用到的翻译 agent。 // // 匹配口径(与服务端 comm.MatchCallTranslateRule 完全一致,客户端照此实现即可): // 1. 两侧都命中才算候选。单侧命中分三档:全等=2、主语言子标签相同(zh-CN 规则接住 zh/zh-TW)=1、被 "*" 接住=0; // 规则的语言集合里取最好的一档。bidir 规则同时试反向,取更好的一次。 // 2. 候选间取最优:优先级大 > 两侧得分之和高 > 精确度高(src/dst 每一侧非 "*" 各记 1 分) > id 小。 // 3. rules 已按「优先级降序 → id 升序」排好,但**不能只取第一条命中的**——得分与精确度会改变名次。 // 4. 一条都不命中 = 该方向没配通话翻译。 type CallTranslateItem struct { state protoimpl.MessageState `protogen:"open.v1"` Rules []*CallTranslateRuleItem `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules"` //@go_tags(`json:"rules"`) 本区域生效的规则(已按优先级降序 → id 升序排好) Agents []*AgentItemV3 `protobuf:"bytes,2,rep,name=agents,proto3" json:"agents"` //@go_tags(`json:"agents"`) 上面规则引用到的翻译 agent(type=translate|ast-translate),结构同 agents unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *CallTranslateItem) Reset() { *x = CallTranslateItem{} mi := &file_user_user_msg_v3_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *CallTranslateItem) String() string { return protoimpl.X.MessageStringOf(x) } func (*CallTranslateItem) ProtoMessage() {} func (x *CallTranslateItem) ProtoReflect() protoreflect.Message { mi := &file_user_user_msg_v3_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CallTranslateItem.ProtoReflect.Descriptor instead. func (*CallTranslateItem) Descriptor() ([]byte, []int) { return file_user_user_msg_v3_proto_rawDescGZIP(), []int{5} } func (x *CallTranslateItem) GetRules() []*CallTranslateRuleItem { if x != nil { return x.Rules } return nil } func (x *CallTranslateItem) GetAgents() []*AgentItemV3 { if x != nil { return x.Agents } return nil } // v3 agent 列表:相比 v2 多了「绑定的 MCP 服务 + 变量」,并且 voice_map 是**已补全**的—— // 服务端按内置音色表(comm/ttsvoice.go)把 agent 支持的每种语言都解析出最终音色, // 客户端不必自带音色表,切语言时按 language 直接取即可。 // 顶层 agents 只下发对话类(chat / sts-chat);翻译类 agent(translate / ast-translate) 复用同一结构, // 但走另一条链路——它是通话翻译规则的服务编排载体,在 call_translate.agents 里下发。 // 故四类的服务槽位都在这个结构里,按 type 取用其中若干,用不到的为空串。 type UserGetAgentsV3Req struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *UserGetAgentsV3Req) Reset() { *x = UserGetAgentsV3Req{} mi := &file_user_user_msg_v3_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *UserGetAgentsV3Req) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserGetAgentsV3Req) ProtoMessage() {} func (x *UserGetAgentsV3Req) ProtoReflect() protoreflect.Message { mi := &file_user_user_msg_v3_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UserGetAgentsV3Req.ProtoReflect.Descriptor instead. func (*UserGetAgentsV3Req) Descriptor() ([]byte, []int) { return file_user_user_msg_v3_proto_rawDescGZIP(), []int{6} } // agent 变量项:提示词/开场白里的占位符,客户端替换后再用 type AgentVariableItem struct { state protoimpl.MessageState `protogen:"open.v1"` Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key"` //@go_tags(`json:"key"`) 变量名;在提示词/开场白里用双大括号包住它作占位符 Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label"` //@go_tags(`json:"label"`) 展示名 DefValue string `protobuf:"bytes,3,opt,name=def_value,json=defValue,proto3" json:"def_value"` //@go_tags(`json:"def_value"`) 默认值(客户端没有对应上下文时用它) Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description"` //@go_tags(`json:"description"`) 备注 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *AgentVariableItem) Reset() { *x = AgentVariableItem{} mi := &file_user_user_msg_v3_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *AgentVariableItem) String() string { return protoimpl.X.MessageStringOf(x) } func (*AgentVariableItem) ProtoMessage() {} func (x *AgentVariableItem) ProtoReflect() protoreflect.Message { mi := &file_user_user_msg_v3_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AgentVariableItem.ProtoReflect.Descriptor instead. func (*AgentVariableItem) Descriptor() ([]byte, []int) { return file_user_user_msg_v3_proto_rawDescGZIP(), []int{7} } func (x *AgentVariableItem) GetKey() string { if x != nil { return x.Key } return "" } func (x *AgentVariableItem) GetLabel() string { if x != nil { return x.Label } return "" } func (x *AgentVariableItem) GetDefValue() string { if x != nil { return x.DefValue } return "" } func (x *AgentVariableItem) GetDescription() string { if x != nil { return x.Description } return "" } // agent 的 MCP 绑定项:绑了哪个 MCP 服务 + 这个 agent 允许它调用的工具。 // 同一个 agent 挂多个 MCP 时工具会互相干扰(同名工具、用不上的工具挤占模型注意力), // 故除服务自身的 tools 白名单外,再按 agent 收一次口。 type AgentMcpBindingItem struct { state protoimpl.MessageState `protogen:"open.v1"` SvcId string `protobuf:"bytes,1,opt,name=svc_id,json=svcId,proto3" json:"svc_id"` //@go_tags(`json:"svc_id"`) MCP 服务 id(详情在 getappconfig_v3 的 thirdsvcs 里) Tools []string `protobuf:"bytes,2,rep,name=tools,proto3" json:"tools"` //@go_tags(`json:"tools"`) 允许调用的工具名;空=该服务的工具全放开(仍受服务自身 tools 白名单约束) unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *AgentMcpBindingItem) Reset() { *x = AgentMcpBindingItem{} mi := &file_user_user_msg_v3_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *AgentMcpBindingItem) String() string { return protoimpl.X.MessageStringOf(x) } func (*AgentMcpBindingItem) ProtoMessage() {} func (x *AgentMcpBindingItem) ProtoReflect() protoreflect.Message { mi := &file_user_user_msg_v3_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AgentMcpBindingItem.ProtoReflect.Descriptor instead. func (*AgentMcpBindingItem) Descriptor() ([]byte, []int) { return file_user_user_msg_v3_proto_rawDescGZIP(), []int{8} } func (x *AgentMcpBindingItem) GetSvcId() string { if x != nil { return x.SvcId } return "" } func (x *AgentMcpBindingItem) GetTools() []string { if x != nil { return x.Tools } return nil } type AgentItemV3 struct { state protoimpl.MessageState `protogen:"open.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` //@go_tags(`json:"id"`) agent id Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //@go_tags(`json:"name"`) 名称 Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type"` //@go_tags(`json:"type"`) chat|sts-chat(call_translate.agents 里则为 translate|ast-translate) Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description"` //@go_tags(`json:"description"`) 描述 AvatarUrl string `protobuf:"bytes,5,opt,name=avatar_url,json=avatarUrl,proto3" json:"avatar_url"` //@go_tags(`json:"avatar_url"`) 头像 SttSvcId string `protobuf:"bytes,6,opt,name=stt_svc_id,json=sttSvcId,proto3" json:"stt_svc_id"` //@go_tags(`json:"stt_svc_id"`) 识别服务(chat) LlmSvcId string `protobuf:"bytes,7,opt,name=llm_svc_id,json=llmSvcId,proto3" json:"llm_svc_id"` //@go_tags(`json:"llm_svc_id"`) 大模型服务(chat) TtsSvcId string `protobuf:"bytes,8,opt,name=tts_svc_id,json=ttsSvcId,proto3" json:"tts_svc_id"` //@go_tags(`json:"tts_svc_id"`) 合成服务(chat) StsSvcId string `protobuf:"bytes,9,opt,name=sts_svc_id,json=stsSvcId,proto3" json:"sts_svc_id"` //@go_tags(`json:"sts_svc_id"`) 端到端对话服务(sts-chat) SystemPrompt string `protobuf:"bytes,10,opt,name=system_prompt,json=systemPrompt,proto3" json:"system_prompt"` //@go_tags(`json:"system_prompt"`) 系统提示词 Gender int32 `protobuf:"varint,11,opt,name=gender,proto3" json:"gender"` //@go_tags(`json:"gender"`) 0未定 1男 2女 GreetingEnabled bool `protobuf:"varint,12,opt,name=greeting_enabled,json=greetingEnabled,proto3" json:"greeting_enabled"` //@go_tags(`json:"greeting_enabled"`) 开场白开关 GreetingText string `protobuf:"bytes,13,opt,name=greeting_text,json=greetingText,proto3" json:"greeting_text"` //@go_tags(`json:"greeting_text"`) 开场白 SupportLangs string `protobuf:"bytes,14,opt,name=support_langs,json=supportLangs,proto3" json:"support_langs"` //@go_tags(`json:"support_langs"`) 支持语言(逗号分隔 BCP-47) DefaultLang string `protobuf:"bytes,15,opt,name=default_lang,json=defaultLang,proto3" json:"default_lang"` //@go_tags(`json:"default_lang"`) 默认语言 VoiceMap []*AgentVoiceItem `protobuf:"bytes,16,rep,name=voice_map,json=voiceMap,proto3" json:"voice_map"` //@go_tags(`json:"voice_map"`) 各语言最终音色(已按音色表补全) McpSvcIds []string `protobuf:"bytes,17,rep,name=mcp_svc_ids,json=mcpSvcIds,proto3" json:"mcp_svc_ids"` //@go_tags(`json:"mcp_svc_ids"`) 绑定的 MCP 服务 id(详情在 getappconfig_v3 的 thirdsvcs 里) Variables []*AgentVariableItem `protobuf:"bytes,18,rep,name=variables,proto3" json:"variables"` //@go_tags(`json:"variables"`) 变量定义 Sort int32 `protobuf:"varint,19,opt,name=sort,proto3" json:"sort"` //@go_tags(`json:"sort"`) 排序 Mcps []*AgentMcpBindingItem `protobuf:"bytes,20,rep,name=mcps,proto3" json:"mcps"` //@go_tags(`json:"mcps"`) MCP 绑定(含每个服务允许的工具);mcp_svc_ids 是它的 id 平铺,保留给老客户端 MtSvcId string `protobuf:"bytes,21,opt,name=mt_svc_id,json=mtSvcId,proto3" json:"mt_svc_id"` //@go_tags(`json:"mt_svc_id"`) 机器翻译服务(translate 三段式翻译;对话类为空) AstSvcId string `protobuf:"bytes,22,opt,name=ast_svc_id,json=astSvcId,proto3" json:"ast_svc_id"` //@go_tags(`json:"ast_svc_id"`) 端到端语音翻译服务(ast-translate;对话类为空) unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *AgentItemV3) Reset() { *x = AgentItemV3{} mi := &file_user_user_msg_v3_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *AgentItemV3) String() string { return protoimpl.X.MessageStringOf(x) } func (*AgentItemV3) ProtoMessage() {} func (x *AgentItemV3) ProtoReflect() protoreflect.Message { mi := &file_user_user_msg_v3_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AgentItemV3.ProtoReflect.Descriptor instead. func (*AgentItemV3) Descriptor() ([]byte, []int) { return file_user_user_msg_v3_proto_rawDescGZIP(), []int{9} } func (x *AgentItemV3) GetId() string { if x != nil { return x.Id } return "" } func (x *AgentItemV3) GetName() string { if x != nil { return x.Name } return "" } func (x *AgentItemV3) GetType() string { if x != nil { return x.Type } return "" } func (x *AgentItemV3) GetDescription() string { if x != nil { return x.Description } return "" } func (x *AgentItemV3) GetAvatarUrl() string { if x != nil { return x.AvatarUrl } return "" } func (x *AgentItemV3) GetSttSvcId() string { if x != nil { return x.SttSvcId } return "" } func (x *AgentItemV3) GetLlmSvcId() string { if x != nil { return x.LlmSvcId } return "" } func (x *AgentItemV3) GetTtsSvcId() string { if x != nil { return x.TtsSvcId } return "" } func (x *AgentItemV3) GetStsSvcId() string { if x != nil { return x.StsSvcId } return "" } func (x *AgentItemV3) GetSystemPrompt() string { if x != nil { return x.SystemPrompt } return "" } func (x *AgentItemV3) GetGender() int32 { if x != nil { return x.Gender } return 0 } func (x *AgentItemV3) GetGreetingEnabled() bool { if x != nil { return x.GreetingEnabled } return false } func (x *AgentItemV3) GetGreetingText() string { if x != nil { return x.GreetingText } return "" } func (x *AgentItemV3) GetSupportLangs() string { if x != nil { return x.SupportLangs } return "" } func (x *AgentItemV3) GetDefaultLang() string { if x != nil { return x.DefaultLang } return "" } func (x *AgentItemV3) GetVoiceMap() []*AgentVoiceItem { if x != nil { return x.VoiceMap } return nil } func (x *AgentItemV3) GetMcpSvcIds() []string { if x != nil { return x.McpSvcIds } return nil } func (x *AgentItemV3) GetVariables() []*AgentVariableItem { if x != nil { return x.Variables } return nil } func (x *AgentItemV3) GetSort() int32 { if x != nil { return x.Sort } return 0 } func (x *AgentItemV3) GetMcps() []*AgentMcpBindingItem { if x != nil { return x.Mcps } return nil } func (x *AgentItemV3) GetMtSvcId() string { if x != nil { return x.MtSvcId } return "" } func (x *AgentItemV3) GetAstSvcId() string { if x != nil { return x.AstSvcId } return "" } type UserGetAgentsV3Resp struct { state protoimpl.MessageState `protogen:"open.v1"` Agents []*AgentItemV3 `protobuf:"bytes,1,rep,name=agents,proto3" json:"agents"` //@go_tags(`json:"agents"`) agent 列表 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *UserGetAgentsV3Resp) Reset() { *x = UserGetAgentsV3Resp{} mi := &file_user_user_msg_v3_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *UserGetAgentsV3Resp) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserGetAgentsV3Resp) ProtoMessage() {} func (x *UserGetAgentsV3Resp) ProtoReflect() protoreflect.Message { mi := &file_user_user_msg_v3_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UserGetAgentsV3Resp.ProtoReflect.Descriptor instead. func (*UserGetAgentsV3Resp) Descriptor() ([]byte, []int) { return file_user_user_msg_v3_proto_rawDescGZIP(), []int{10} } func (x *UserGetAgentsV3Resp) GetAgents() []*AgentItemV3 { if x != nil { return x.Agents } return nil } var File_user_user_msg_v3_proto protoreflect.FileDescriptor const file_user_user_msg_v3_proto_rawDesc = "" + "\n" + "\x16user/user_msg_v3.proto\x1a\x16user/user_msg_v2.proto\x1a\bdb.proto\"\x17\n" + "\x15UserGetAppConfigV3Req\"b\n" + "\x16MeetSummaryServiceItem\x12\x15\n" + "\x06svc_id\x18\x01 \x01(\tR\x05svcId\x12\x12\n" + "\x04name\x18\x02 \x01(\tR\x04name\x12\x1d\n" + "\n" + "is_default\x18\x03 \x01(\bR\tisDefault\"\xe0\x02\n" + "\x14MeetCapabilitiesItem\x121\n" + "\x14transcribe_languages\x18\x01 \x03(\tR\x13transcribeLanguages\x126\n" + "\x17transcribe_any_language\x18\x02 \x01(\bR\x15transcribeAnyLanguage\x12/\n" + "\x13translate_languages\x18\x03 \x03(\tR\x12translateLanguages\x124\n" + "\x16translate_any_language\x18\x04 \x01(\bR\x14translateAnyLanguage\x122\n" + "\x15summary_client_choice\x18\x05 \x01(\bR\x13summaryClientChoice\x12B\n" + "\x10summary_services\x18\x06 \x03(\v2\x17.MeetSummaryServiceItemR\x0fsummaryServices\"\xe5\x02\n" + "\x16UserGetAppConfigV3Resp\x122\n" + "\x03env\x18\x01 \x03(\v2 .UserGetAppConfigV3Resp.EnvEntryR\x03env\x12$\n" + "\x06agents\x18\x02 \x03(\v2\f.AgentItemV3R\x06agents\x12&\n" + "\bproducts\x18\x03 \x03(\v2\n" + ".DBProductR\bproducts\x12+\n" + "\tthirdsvcs\x18\x04 \x03(\v2\r.ThirdSvcItemR\tthirdsvcs\x12)\n" + "\x04meet\x18\x05 \x01(\v2\x15.MeetCapabilitiesItemR\x04meet\x129\n" + "\x0ecall_translate\x18\x06 \x01(\v2\x12.CallTranslateItemR\rcallTranslate\x1a6\n" + "\bEnvEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xc2\x01\n" + "\x15CallTranslateRuleItem\x12\x0e\n" + "\x02id\x18\x01 \x01(\x04R\x02id\x12\x12\n" + "\x04name\x18\x02 \x01(\tR\x04name\x12\x1b\n" + "\tsrc_langs\x18\x03 \x01(\tR\bsrcLangs\x12\x1b\n" + "\tdst_langs\x18\x04 \x01(\tR\bdstLangs\x12\x14\n" + "\x05bidir\x18\x05 \x01(\bR\x05bidir\x12\x19\n" + "\bagent_id\x18\x06 \x01(\tR\aagentId\x12\x1a\n" + "\bpriority\x18\a \x01(\x05R\bpriority\"g\n" + "\x11CallTranslateItem\x12,\n" + "\x05rules\x18\x01 \x03(\v2\x16.CallTranslateRuleItemR\x05rules\x12$\n" + "\x06agents\x18\x02 \x03(\v2\f.AgentItemV3R\x06agents\"\x14\n" + "\x12UserGetAgentsV3Req\"z\n" + "\x11AgentVariableItem\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + "\x05label\x18\x02 \x01(\tR\x05label\x12\x1b\n" + "\tdef_value\x18\x03 \x01(\tR\bdefValue\x12 \n" + "\vdescription\x18\x04 \x01(\tR\vdescription\"B\n" + "\x13AgentMcpBindingItem\x12\x15\n" + "\x06svc_id\x18\x01 \x01(\tR\x05svcId\x12\x14\n" + "\x05tools\x18\x02 \x03(\tR\x05tools\"\xcb\x05\n" + "\vAgentItemV3\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + "\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" + "\x04type\x18\x03 \x01(\tR\x04type\x12 \n" + "\vdescription\x18\x04 \x01(\tR\vdescription\x12\x1d\n" + "\n" + "avatar_url\x18\x05 \x01(\tR\tavatarUrl\x12\x1c\n" + "\n" + "stt_svc_id\x18\x06 \x01(\tR\bsttSvcId\x12\x1c\n" + "\n" + "llm_svc_id\x18\a \x01(\tR\bllmSvcId\x12\x1c\n" + "\n" + "tts_svc_id\x18\b \x01(\tR\bttsSvcId\x12\x1c\n" + "\n" + "sts_svc_id\x18\t \x01(\tR\bstsSvcId\x12#\n" + "\rsystem_prompt\x18\n" + " \x01(\tR\fsystemPrompt\x12\x16\n" + "\x06gender\x18\v \x01(\x05R\x06gender\x12)\n" + "\x10greeting_enabled\x18\f \x01(\bR\x0fgreetingEnabled\x12#\n" + "\rgreeting_text\x18\r \x01(\tR\fgreetingText\x12#\n" + "\rsupport_langs\x18\x0e \x01(\tR\fsupportLangs\x12!\n" + "\fdefault_lang\x18\x0f \x01(\tR\vdefaultLang\x12,\n" + "\tvoice_map\x18\x10 \x03(\v2\x0f.AgentVoiceItemR\bvoiceMap\x12\x1e\n" + "\vmcp_svc_ids\x18\x11 \x03(\tR\tmcpSvcIds\x120\n" + "\tvariables\x18\x12 \x03(\v2\x12.AgentVariableItemR\tvariables\x12\x12\n" + "\x04sort\x18\x13 \x01(\x05R\x04sort\x12(\n" + "\x04mcps\x18\x14 \x03(\v2\x14.AgentMcpBindingItemR\x04mcps\x12\x1a\n" + "\tmt_svc_id\x18\x15 \x01(\tR\amtSvcId\x12\x1c\n" + "\n" + "ast_svc_id\x18\x16 \x01(\tR\bastSvcId\";\n" + "\x13UserGetAgentsV3Resp\x12$\n" + "\x06agents\x18\x01 \x03(\v2\f.AgentItemV3R\x06agentsB\x06Z\x04.;pbb\x06proto3" var ( file_user_user_msg_v3_proto_rawDescOnce sync.Once file_user_user_msg_v3_proto_rawDescData []byte ) func file_user_user_msg_v3_proto_rawDescGZIP() []byte { file_user_user_msg_v3_proto_rawDescOnce.Do(func() { file_user_user_msg_v3_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_user_user_msg_v3_proto_rawDesc), len(file_user_user_msg_v3_proto_rawDesc))) }) return file_user_user_msg_v3_proto_rawDescData } var file_user_user_msg_v3_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_user_user_msg_v3_proto_goTypes = []any{ (*UserGetAppConfigV3Req)(nil), // 0: UserGetAppConfigV3Req (*MeetSummaryServiceItem)(nil), // 1: MeetSummaryServiceItem (*MeetCapabilitiesItem)(nil), // 2: MeetCapabilitiesItem (*UserGetAppConfigV3Resp)(nil), // 3: UserGetAppConfigV3Resp (*CallTranslateRuleItem)(nil), // 4: CallTranslateRuleItem (*CallTranslateItem)(nil), // 5: CallTranslateItem (*UserGetAgentsV3Req)(nil), // 6: UserGetAgentsV3Req (*AgentVariableItem)(nil), // 7: AgentVariableItem (*AgentMcpBindingItem)(nil), // 8: AgentMcpBindingItem (*AgentItemV3)(nil), // 9: AgentItemV3 (*UserGetAgentsV3Resp)(nil), // 10: UserGetAgentsV3Resp nil, // 11: UserGetAppConfigV3Resp.EnvEntry (*DBProduct)(nil), // 12: DBProduct (*ThirdSvcItem)(nil), // 13: ThirdSvcItem (*AgentVoiceItem)(nil), // 14: AgentVoiceItem } var file_user_user_msg_v3_proto_depIdxs = []int32{ 1, // 0: MeetCapabilitiesItem.summary_services:type_name -> MeetSummaryServiceItem 11, // 1: UserGetAppConfigV3Resp.env:type_name -> UserGetAppConfigV3Resp.EnvEntry 9, // 2: UserGetAppConfigV3Resp.agents:type_name -> AgentItemV3 12, // 3: UserGetAppConfigV3Resp.products:type_name -> DBProduct 13, // 4: UserGetAppConfigV3Resp.thirdsvcs:type_name -> ThirdSvcItem 2, // 5: UserGetAppConfigV3Resp.meet:type_name -> MeetCapabilitiesItem 5, // 6: UserGetAppConfigV3Resp.call_translate:type_name -> CallTranslateItem 4, // 7: CallTranslateItem.rules:type_name -> CallTranslateRuleItem 9, // 8: CallTranslateItem.agents:type_name -> AgentItemV3 14, // 9: AgentItemV3.voice_map:type_name -> AgentVoiceItem 7, // 10: AgentItemV3.variables:type_name -> AgentVariableItem 8, // 11: AgentItemV3.mcps:type_name -> AgentMcpBindingItem 9, // 12: UserGetAgentsV3Resp.agents:type_name -> AgentItemV3 13, // [13:13] is the sub-list for method output_type 13, // [13:13] is the sub-list for method input_type 13, // [13:13] is the sub-list for extension type_name 13, // [13:13] is the sub-list for extension extendee 0, // [0:13] is the sub-list for field type_name } func init() { file_user_user_msg_v3_proto_init() } func file_user_user_msg_v3_proto_init() { if File_user_user_msg_v3_proto != nil { return } file_user_user_msg_v2_proto_init() file_db_proto_init() type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_user_user_msg_v3_proto_rawDesc), len(file_user_user_msg_v3_proto_rawDesc)), NumEnums: 0, NumMessages: 12, NumExtensions: 0, NumServices: 0, }, GoTypes: file_user_user_msg_v3_proto_goTypes, DependencyIndexes: file_user_user_msg_v3_proto_depIdxs, MessageInfos: file_user_user_msg_v3_proto_msgTypes, }.Build() File_user_user_msg_v3_proto = out.File file_user_user_msg_v3_proto_goTypes = nil file_user_user_msg_v3_proto_depIdxs = nil }