906 lines
		
	
	
		
			44 KiB
		
	
	
	
		
			Thrift
		
	
	
	
			
		
		
	
	
			906 lines
		
	
	
		
			44 KiB
		
	
	
	
		
			Thrift
		
	
	
	
| namespace go ocean.cloud.bot_common
 | ||
| 
 | ||
| 
 | ||
| struct AuthToken {
 | ||
|     1: string service_id,
 | ||
|     2: string access_key_id,
 | ||
|     3: string secret_access_key,
 | ||
|     4: string session_token,
 | ||
|     5: string expired_time,
 | ||
|     6: string current_time,
 | ||
|     7: string upload_host,
 | ||
|     8: string host_scheme,
 | ||
| }
 | ||
| 
 | ||
| struct PromptInfo {
 | ||
|     1: optional string Prompt (api.body="prompt"), // 文本prompt
 | ||
| }
 | ||
| 
 | ||
| struct ModelInfo {
 | ||
|     1: optional i64                 ModelId           (agw.js_conv="str", api.js_conv="true", api.body="model_id"), // 模型id
 | ||
|     2: optional double              Temperature       (api.body="temperature")                                    , // 温度,模型输出随机性,值越大越随机,越小越保守(0-1]
 | ||
|     3: optional i32                 MaxTokens         (api.body="max_tokens")                                     , // 回复最大Token数
 | ||
|     4: optional double              TopP              (api.body="top_p")                                          , // 另一种模型的输出随机性,值越大越随机[0,1]
 | ||
|     5: optional double              FrequencyPenalty  (api.body="frequency_penalty")                              , // 频率惩罚,调整生成内容中的单词频率,正值单词越少见[-1.0,1.0]
 | ||
|     6: optional double              PresencePenalty   (api.body="presence_penalty")                               , // 存在惩罚,调整生成内容中新词语频率,正值避免重复单词,用新词[-1.0,1.0]
 | ||
|     7: optional ShortMemoryPolicy   ShortMemoryPolicy (api.body="short_memory_policy")                            , // 上下文策略
 | ||
|     8: optional i32                 TopK              (api.body="top_k")                                          , // 生成时,采样候选集的大小
 | ||
|     9: optional ModelResponseFormat ResponseFormat    (api.body="response_format")                                , // 模型回复内容格式
 | ||
|     10: optional ModelStyle         ModelStyle        (api.body="model_style")                                    , // 用户选择的模型风格
 | ||
| }
 | ||
| 
 | ||
| enum ModelStyle {
 | ||
|     Custom = 0
 | ||
|     Creative = 1
 | ||
|     Balance = 2
 | ||
|     Precise = 3
 | ||
| }
 | ||
| enum ModelResponseFormat {
 | ||
|     Text = 0,
 | ||
|     Markdown = 1,
 | ||
|     JSON = 2,
 | ||
| }
 | ||
| 
 | ||
| // 上下文允许传输的类型
 | ||
| enum ContextMode {
 | ||
|     Chat           = 0,
 | ||
|     FunctionCall_1 = 1,
 | ||
|     FunctionCall_2 = 2,
 | ||
|     FunctionCall_3 = 3,
 | ||
| }
 | ||
| 
 | ||
| enum ModelFuncConfigType {
 | ||
|     Plugin = 1
 | ||
|     Workflow = 2
 | ||
|     ImageFlow = 3
 | ||
|     Trigger = 4
 | ||
|     KnowledgeText = 5
 | ||
|     KnowledgeTable = 6
 | ||
|     KnowledgeAutoCall = 7
 | ||
|     KnowledgeOnDemandCall = 8
 | ||
|     Variable = 9
 | ||
|     Database = 10
 | ||
|     LongTermMemory = 11
 | ||
|     FileBox = 12
 | ||
|     Onboarding = 13
 | ||
|     Suggestion = 14
 | ||
|     ShortcutCommand = 15
 | ||
|     BackGroundImage = 16
 | ||
|     TTS = 17
 | ||
|     MultiAgentRecognize = 18
 | ||
|     KnowledgePhoto = 19
 | ||
|     HookInfo = 20
 | ||
| }
 | ||
| 
 | ||
| enum ModelFuncConfigStatus {
 | ||
|     FullSupport = 0
 | ||
|     PoorSupport = 1
 | ||
|     NotSupport = 2
 | ||
| }
 | ||
| 
 | ||
| struct ShortMemoryPolicy {
 | ||
|     1: optional ContextMode ContextMode  (api.body="context_mode") , // 上下文允许传输的类型
 | ||
|     2: optional i32         HistoryRound (api.body="history_round"), // 上下文带的轮数
 | ||
| }
 | ||
| 
 | ||
| struct PluginInfo {
 | ||
|     1: optional i64 PluginId (agw.js_conv="str", api.js_conv="true", api.body="plugin_id"), // 插件id
 | ||
|     2: optional i64 ApiId    (agw.js_conv="str", api.js_conv="true", api.body="api_id")   , // api Id
 | ||
|     3: optional string ApiName (api.body="api_name")   , // api name O项目用
 | ||
| 
 | ||
|     100: optional i64 ApiVersionMs (agw.js_conv="str", api.js_conv="true", api.body="api_version_ms"), // api version
 | ||
| }
 | ||
| 
 | ||
| struct WorkflowInfo {
 | ||
|     1: optional i64 WorkflowId (agw.js_conv="str", api.js_conv="true", api.body="workflow_id"), // WorkflowId
 | ||
|     2: optional i64 PluginId   (agw.js_conv="str", api.js_conv="true", api.body="plugin_id")  , // 插件id
 | ||
|     3: optional i64 ApiId      (agw.js_conv="str", api.js_conv="true", api.body="api_id")     , // api Id
 | ||
|     4: optional WorkflowMode FlowMode  (agw.js_conv="str", api.body="flow_mode") // workflow or imageflow, 默认为workflow
 | ||
|     5: optional string WorkflowName (api.body="workflow_name")   , // workflow name
 | ||
|     6: optional string Desc (api.body="desc", api.body="desc"),
 | ||
|     7: optional list<PluginParameter> Parameters (api.body="parameters", api.body="parameters"),
 | ||
|     8: optional string PluginIcon (api.body="plugin_icon", api.body="plugin_icon"),
 | ||
| }
 | ||
| struct PluginParameter {
 | ||
|     1: optional string                Name (api.body="name")
 | ||
|     2: optional string                Desc (api.body="desc")
 | ||
|     3: optional bool                  Required (api.body="required")
 | ||
|     4: optional string                Type     (api.body="type")
 | ||
|     5: optional list<PluginParameter> SubParameters (api.body="sub_parameters")
 | ||
|     6: optional string                SubType  (api.body="sub_type")     // 如果Type是数组,则有subtype
 | ||
| }
 | ||
| 
 | ||
| enum WorkflowMode {
 | ||
|     Workflow  = 0
 | ||
|     Imageflow = 1
 | ||
|     SceneFlow = 2
 | ||
|     ChatFlow = 3
 | ||
|     All       = 100
 | ||
| }
 | ||
| // onboarding内容生成模式
 | ||
| enum OnboardingMode {
 | ||
|     NO_NEED    = 1, // 不需要
 | ||
|     USE_MANUAL = 2, // 人工指定内容(多语言支持由LLM兜底)
 | ||
|     USE_LLM    = 3, // 由LLM生成
 | ||
| }
 | ||
| 
 | ||
| struct OnboardingInfo {                                 // 对应 Coze Opening Dialog
 | ||
|     1: optional string         Prologue                   (api.body="prologue")                    , // 开场白
 | ||
|     2: optional list<string>   SuggestedQuestions         (api.body="suggested_questions")         , // 建议问题
 | ||
|     3: optional OnboardingMode OnboardingMode             (api.body="onboarding_mode")             , // 开场白模型
 | ||
|     4: optional string         CustomizedOnboardingPrompt (api.body="customized_onboarding_prompt"), // LLM生成,用户自定义 Prompt
 | ||
|     5: optional SuggestedQuestionsShowMode SuggestedQuestionsShowMode (api.body="suggested_questions_show_mode")         , // 开场白预设问题展示方式 默认0 随机展示
 | ||
| }
 | ||
| 
 | ||
| enum SuggestedQuestionsShowMode{
 | ||
|     Random  = 0,
 | ||
|     All  = 1,
 | ||
| }
 | ||
| 
 | ||
| enum SuggestReplyMode{
 | ||
|     System  = 0,
 | ||
|     Custom  = 1,
 | ||
|     Disable = 2,
 | ||
|     OriBot  = 3, // agent专用,复用源Bot配置
 | ||
| }
 | ||
| 
 | ||
| // suggest
 | ||
| struct SuggestReplyInfo {                               // 对应 Coze Auto-Suggestion
 | ||
|     1: optional SuggestReplyMode SuggestReplyMode        (api.body="suggest_reply_mode")       , // 建议问题模型
 | ||
|     2: optional string           CustomizedSuggestPrompt (api.body="customized_suggest_prompt"), // 用户自定义建议问题
 | ||
|     3: optional string           ChainTaskName           (api.body="chain_task_name")          , // 运行Prompt的ChainTask名称
 | ||
| }
 | ||
| 
 | ||
| // tts Voices
 | ||
| struct VoicesInfo {                                 // 对应 Coze Voices
 | ||
|     1: optional bool            Muted         (api.body="muted")          , // 是否开启声音 true:禁用  false:开启
 | ||
|     2: optional map<string,i64> I18nLangVoice (api.body="i18n_lang_voice"), // 多语音音色配置
 | ||
|     7: optional map<string,string> I18nLangVoiceStr (api.body="i18n_lang_voice_str"), // 多语音音色配置, string类型
 | ||
|     3: optional bool            Autoplay      (api.body="autoplay")       , // 是否自动播放
 | ||
|     4: optional map<string,i64> AutoplayVoice (api.body="autoplay_voice") , // 自动播放的音色
 | ||
|     5: optional bool            CloseVoiceCall (api.body="voice_call")     , // 是否关闭语音通话,true:关闭 false:开启  默认为false
 | ||
|     6: optional DefaultUserInputType   DefaultUserInputType (api.body="default_user_input_type"), // 默认用户输入类型
 | ||
| }
 | ||
| 
 | ||
| enum DefaultUserInputType {
 | ||
|     NotSet = 0, // 没设置
 | ||
|     Text  = 1,  // 文字
 | ||
|     Voice = 2,  // 按住语音
 | ||
|     Call  = 3,  // 语音通话
 | ||
| }
 | ||
| 
 | ||
| // AnswerActions
 | ||
| enum  AnswerActionsMode {
 | ||
|     Default   = 1,
 | ||
|     Customize = 2,
 | ||
| }
 | ||
| 
 | ||
| enum AnswerActionTriggerType {
 | ||
|     Direct      = 1, // 平台预设Trigger action
 | ||
|     WebView     = 2, // 点击Action 显示自定义的H5页面
 | ||
|     SendMessage = 3, // 点击Action 发送自定义的用户消息
 | ||
| }
 | ||
| 
 | ||
| struct AnswerActionTriggerRule {
 | ||
|     1: AnswerActionTriggerType Type           (api.body="type")           ,
 | ||
|     2: bool                    NeedPreloading (api.body="need_preloading"),
 | ||
|     3: map<string,string>      TriggerData    (api.body="trigger_data")   , // 根据 AnswerActionTriggerType决定
 | ||
| }
 | ||
| 
 | ||
| struct ActionIcon {
 | ||
|     1: string Type       (api.body="type")       , // 自定义的按钮 type 不用传
 | ||
|     2: string DefaultUrl (api.body="default_url"), // 默认状态
 | ||
|     3: string ActiveUrl  (api.body="active_url") , // 按下按钮的状态
 | ||
|     4: string DefaultUri (api.body="default_uri"), // 默认状态
 | ||
|     5: string ActiveUri  (api.body="active_uri") , // 按下按钮的状态
 | ||
| }
 | ||
| 
 | ||
| struct AnswerActionConfig {
 | ||
|     1: string                  Key         (api.body="key")         , // 预制的只需要传key
 | ||
|     2: string                  Name        (api.body="name")        , // 默认
 | ||
|     3: ActionIcon              Icon        (api.body="icon")        , // 下发uri
 | ||
|     4: map<string,string>      NameI18n    (api.body="name_i18n")   , // 存储用户i18的name
 | ||
|     5: AnswerActionTriggerRule TriggerRule (api.body="trigger_rule"), // Direct 没有值; WebView 包含 webview_url和 webview_callback_psm两个key;SendMessage 包含send_message_prompt
 | ||
|     6: i32                     Position    (api.body="position")    , // 位置
 | ||
| }
 | ||
| 
 | ||
| struct AnswerActions {
 | ||
|     1: AnswerActionsMode        AnswerActionsMode   (api.body="answer_actions_mode")  ,
 | ||
|     2: list<AnswerActionConfig> AnswerActionConfigs (api.body="answer_action_configs"),
 | ||
| }
 | ||
| 
 | ||
| // bot ext
 | ||
| struct BotExtInfo {
 | ||
|     1: optional AnswerActions AnswerActions   (api.body="answer_actions")   ,
 | ||
|     2: optional list<i32>     CardIds         (api.body="card_ids")         ,
 | ||
|     3: optional i32           PromptId        (api.body="prompt_id")        ,
 | ||
|     4: optional string        BotTemplateName (api.body="bot_template_name"),
 | ||
|     5: optional bool          UseUGCVoice     (api.body="use_ugc_voice")    ,
 | ||
|     6: optional i32           AppId           (api.body="app_id")           ,
 | ||
|     7: optional bool          BindingMp       (api.body="binding_mp")       , // 是否绑定小程序标识
 | ||
| }
 | ||
| 
 | ||
| struct KnowledgeInfo {
 | ||
|     1: optional string Id   (api.body="id")  , // 知识库id
 | ||
|     2: optional string Name (api.body="name"), // 知识库名称
 | ||
| }
 | ||
| 
 | ||
| enum SearchStrategy {
 | ||
|     SemanticSearch = 0, // 语义搜索
 | ||
|     HybirdSearch   = 1, // 混合搜索
 | ||
|     FullTextSearch = 20, // 全文搜索
 | ||
| }
 | ||
| 
 | ||
| struct Knowledge {
 | ||
|     1: optional list<KnowledgeInfo> KnowledgeInfo  (api.body="knowledge_info") , // 知识库信息
 | ||
|     2: optional i64                 TopK           (api.body="top_k")          , // 召回最大数据量
 | ||
|     3: optional double              MinScore       (api.body="min_score")      , // 最小匹配度
 | ||
|     4: optional bool                Auto           (api.body="auto")           , // 自动召回
 | ||
|     5: optional SearchStrategy      SearchStrategy (api.body="search_strategy"), // 搜索策略
 | ||
|     6: optional bool                ShowSource     (api.body="show_source"),     // 是否展示来源
 | ||
|     7: optional KnowledgeNoRecallReplyMode NoRecallReplyMode (api.body="no_recall_reply_mode"),     // 无召回回复mode,默认0
 | ||
|     8: optional string NoRecallReplyCustomizePrompt (api.body="no_recall_reply_customize_prompt"),     // 无召回回复时自定义prompt,当NoRecallReplyMode=1时生效
 | ||
|     9: optional KnowledgeShowSourceMode ShowSourceMode (api.body="show_source_mode"),     // 来源展示方式 默认值0 卡片列表方式
 | ||
|     10: optional RecallStrategy     RecallStrategy (api.body="recall_strategy"), // 召回策略, 默认值为true
 | ||
| }
 | ||
| 
 | ||
| struct RecallStrategy {
 | ||
|     1: optional bool                UseRerank  (api.body="use_rerank"),
 | ||
|     2: optional bool                UseRewrite (api.body="use_rewrite"),
 | ||
|     3: optional bool                UseNl2sql  (api.body="use_nl2sql")
 | ||
| }
 | ||
| 
 | ||
| enum KnowledgeShowSourceMode{
 | ||
|     ReplyBottom = 0,
 | ||
|     CardList = 1,
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| enum KnowledgeNoRecallReplyMode{
 | ||
|     Default  = 0,
 | ||
|     CustomizePrompt  = 1,
 | ||
| }
 | ||
| 
 | ||
| enum SocietyVisibility {
 | ||
|     Public = 1, // 对所有人可见
 | ||
|     Anonymous = 2, // 仅对host可见
 | ||
|     Custom = 3, // 自定义
 | ||
| }
 | ||
| struct SocietyVisibiltyConfig {
 | ||
|     1: SocietyVisibility VisibilityType (api.body="visibility_type", go.tag="json:\"visibility_type,omitempty\"") , // 社会场景中可见性: Public = 1,Anonymous = 2
 | ||
|     2: list<string> VisibilityRoles     (api.body="visibility_roles", go.tag="json:\"visibility_roles,omitempty\""), // 可见角色列表
 | ||
| }
 | ||
| 
 | ||
| struct Variable {
 | ||
|     1: optional string Key          (api.body="key")          , // key, Field
 | ||
|     2: optional string Description  (api.body="description")  , // 描述
 | ||
|     3: optional string DefaultValue (api.body="default_value"), // 默认值
 | ||
|     4: optional bool   IsSystem     (api.body="is_system"),     // 是否系统值系统值
 | ||
|     5: optional bool   PromptDisabled (api.body="prompt_disabled"), // 是否支持在Prompt中调用 默认支持
 | ||
|     6: optional SocietyVisibiltyConfig SocietyVisibilityConfig (api.body="society_visibility_config", go.tag="json:\"society_visibility_config,omitempty\""), // 社会场景中可见性: Public = 1,Anonymous = 2
 | ||
|     7: optional bool   IsDisabled (api.body="is_disabled"),  // 是否禁用,默认为false代表启用
 | ||
| }
 | ||
| 
 | ||
| struct TaskInfo {                                // coze 上的 Scheduled Tasks
 | ||
|     1: optional bool UserTaskAllowed  (api.body="user_task_allowed") , // 用户开启task任务
 | ||
|     2: optional i64  EnablePresetTask (api.body="enable_preset_task"), // 允许预设任务
 | ||
| }
 | ||
| 
 | ||
| enum FieldItemType {
 | ||
|     Text    = 1, // 文本 String
 | ||
|     Number  = 2, // 数字 Integer
 | ||
|     Date    = 3, // 时间 Time
 | ||
|     Float   = 4, // float Number
 | ||
|     Boolean = 5, // bool Boolean
 | ||
| }
 | ||
| 
 | ||
| struct FieldItem {
 | ||
|     1: optional string        Name         (api.body="name")                                     , // 字段名称
 | ||
|     2: optional string        Desc         (api.body="desc")                                     , // 字段描述
 | ||
|     3: optional FieldItemType Type         (api.body="type")                                     , // 字段类型
 | ||
|     4: optional bool          MustRequired (api.body="must_required")                            , // 是否必填
 | ||
|     5: optional i64           Id           (agw.js_conv="str", api.js_conv="true", api.body="id"), // 字段Id 新增为0
 | ||
|     6: optional string        TypeStr      (api.body="type_str")                                 , // 字段类型 str
 | ||
|     7: optional i64           AlterId      (api.body="alterId")                                 , // 字段类型 str
 | ||
| }
 | ||
| 
 | ||
| struct Database {
 | ||
|     1: optional string          TableId   (api.body="table_id")  , // table id
 | ||
|     2: optional string          TableName (api.body="table_name"), // table名称
 | ||
|     3: optional string          TableDesc (api.body="table_desc"), // table简介
 | ||
|     4: optional list<FieldItem> FieldList (api.body="field_list"), // table字段信息
 | ||
|     5: optional bool            PromptDisabled (api.body="prompt_disabled"), // 是否支持在Prompt中调用 默认支持
 | ||
|     6: optional BotTableRWMode  RWMode    (api.body="rw_mode"),
 | ||
| }
 | ||
| 
 | ||
| enum BotTableRWMode {
 | ||
|     LimitedReadWrite = 1,
 | ||
|     ReadOnly = 2,
 | ||
|     UnlimitedReadWrite = 3,
 | ||
|     RWModeMax = 4,
 | ||
| }
 | ||
| 
 | ||
| enum AgentType {
 | ||
|     Start_Agent  = 0,
 | ||
|     LLM_Agent    = 1,
 | ||
|     Task_Agent   = 2,
 | ||
|     Global_Agent = 3,
 | ||
|     Bot_Agent    = 4,
 | ||
| }
 | ||
| 
 | ||
| //版本兼容:0-旧版本 1-可回退的新版本 2-不可回退的新版本 3-可回退的新版本(不再提示)
 | ||
| enum AgentVersionCompat{
 | ||
|     OldVersion              = 0
 | ||
|     MiddleVersion           = 1
 | ||
|     NewVersion              = 2
 | ||
|     MiddleVersionNotPrompt  = 3
 | ||
| }
 | ||
| 
 | ||
| struct Agent {
 | ||
|     1 : i64                AgentId          (agw.js_conv="str", api.js_conv="true", api.body="agent_id")    ,
 | ||
|     2 : string             AgentName        (api.body="agent_name")                                         ,
 | ||
|     3 : PromptInfo         PromptInfo       (api.body="prompt_info")                                        , // prompt 信息
 | ||
|     4 : list<PluginInfo>   PluginInfoList   (api.body="plugin_info_list")                                   , // plugin列表
 | ||
|     5 : Knowledge          Knowledge        (api.body="knowledge")                                          , // 数据集
 | ||
|     6 : list<WorkflowInfo> WorkflowInfoList (api.body="workflow_info_list")                                 , // Workflow 列表
 | ||
|     7 : ModelInfo          ModelInfo        (api.body="model_info")                                         , // 模型配置
 | ||
|     8 : list<Intent>       Intents          (api.body="intents")                                            , // 意图信息
 | ||
|     9 : AgentType          AgentType        (api.body="agent_type")                                         ,
 | ||
|     10: bool               RootAgent        (api.body="root_agent")                                         , // 是否是rootagent
 | ||
|     11: i64                ReferenceId      (agw.js_conv="str", api.js_conv="true", api.body="reference_id"),
 | ||
|     12: string             FirstVersion     (api.body="first_version")                                      ,
 | ||
|     13: string             LastVersion      (api.body="last_version")                                       ,
 | ||
|     14: AgentPosition      AgentPosition    (api.body="agent_position")                                     ,
 | ||
|     15: string             IconUri          (api.body="icon_uri")                                           ,
 | ||
|     16: JumpConfig         JumpConfig       (api.body="jump_config")                                        ,
 | ||
|     17: SuggestReplyInfo   SuggestReplyInfo (api.body="suggest_reply_info")                                 ,
 | ||
|     18: string             Description      (api.body="description")                                        ,
 | ||
|     19: AgentVersionCompat VersionCompat    (api.body="version_compat")                                     , // multi_agent版本兼容字段
 | ||
|     20: optional HookInfo  HookInfo         (api.body="hook_info")                                          ,
 | ||
|     21: optional string                 CurrentVersion                  (api.body="current_version")        ,   //子bot当前版本
 | ||
|     22: optional ReferenceInfoStatus    ReferenceInfoStatus             (api.body="reference_info_status")  ,   // 1:有可用更新 2:被删除
 | ||
|     23: optional ReferenceUpdateType    UpdateType                      (api.body="update_type")            ,   //子bot更新类型
 | ||
| }
 | ||
| 
 | ||
| struct AgentPosition{
 | ||
|     1: double x,
 | ||
|     2: double y,
 | ||
| }
 | ||
| 
 | ||
| enum MultiAgentSessionType{
 | ||
|     Flow = 1
 | ||
|     Host = 2
 | ||
| }
 | ||
| 
 | ||
| enum MultiAgentConnectorType {
 | ||
|     Curve = 0
 | ||
|     Straight   = 1
 | ||
| }
 | ||
| 
 | ||
| struct Intent{
 | ||
|     1: string IntentId    (api.body="intent_id")                                           ,
 | ||
|     2: string Prompt      (api.body="prompt")                                              ,
 | ||
|     3: i64    NextAgentId (agw.js_conv="str", api.js_conv="true", api.body="next_agent_id"),
 | ||
|     4: MultiAgentSessionType SessionType (api.body="session_type")
 | ||
| }
 | ||
| 
 | ||
| enum BotMode{
 | ||
|     SingleMode = 0,
 | ||
|     MultiMode  = 1,
 | ||
|     WorkflowMode = 2,
 | ||
| }
 | ||
| 
 | ||
| enum BotSpecies { // bot种类
 | ||
|     Default  = 0, // 从flow创建
 | ||
|     Function = 1, // 从coze创建
 | ||
| }
 | ||
| 
 | ||
| enum TimeCapsuleMode {
 | ||
|     Off = 0, // 关
 | ||
|     On  = 1, // 开
 | ||
| }
 | ||
| enum DisablePromptCalling {
 | ||
|     Off = 0,
 | ||
|     On  = 1,
 | ||
| }
 | ||
| 
 | ||
| // 时间胶囊信息
 | ||
| struct TimeCapsuleInfo {
 | ||
|     1: optional TimeCapsuleMode TimeCapsuleMode (api.body="time_capsule_mode"),
 | ||
|     2: optional DisablePromptCalling DisablePromptCalling (api.body="disable_prompt_calling"),
 | ||
| }
 | ||
| 
 | ||
| struct BotTagInfo {
 | ||
|     1: optional TimeCapsuleInfo TimeCapsuleInfo (api.body="time_capsule_info"), // 时间胶囊信息 tag key : time_capsule
 | ||
| }
 | ||
| 
 | ||
| struct FileboxInfo{
 | ||
|     1: optional FileboxInfoMode Mode,
 | ||
| }
 | ||
| enum FileboxInfoMode {
 | ||
|     Off = 0,
 | ||
|     On  = 1,
 | ||
| }
 | ||
| 
 | ||
| enum BotStatus {
 | ||
|     Deleted = 0
 | ||
|     Using   = 1
 | ||
|     Banned  = 2
 | ||
| }
 | ||
| 
 | ||
| enum BusinessType {
 | ||
|     Default = 0
 | ||
|     DouyinAvatar = 1
 | ||
| }
 | ||
| 
 | ||
| // bot信息
 | ||
| struct BotInfo {
 | ||
|     1 : i64                BotId            (agw.js_conv="str", api.js_conv="true", api.body="bot_id")      , // bot id
 | ||
|     2 : string             Name             (api.body="name")                                               , // bot名称
 | ||
|     3 : string             Description      (api.body="description")                                        , // bot描述
 | ||
|     4 : string             IconUri          (api.body="icon_uri")                                           , // bot 图标uri
 | ||
|     5 : string             IconUrl          (api.body="icon_url")                                           , // bot 图标url
 | ||
|     6 : i64                CreatorId        (agw.js_conv="str", api.js_conv="true", api.body="creator_id")  , // 创建人id
 | ||
|     7 : i64                CreateTime       (agw.js_conv="str", api.js_conv="true", api.body="create_time") , // 创建时间
 | ||
|     8 : i64                UpdateTime       (agw.js_conv="str", api.js_conv="true", api.body="update_time") , // 更新时间
 | ||
|     9 : i64                ConnectorId      (agw.js_conv="str", api.js_conv="true", api.body="connector_id"), // 业务线
 | ||
|     10: string             Version          (api.body="version")                                            , // 版本,毫秒
 | ||
|     11: ModelInfo          ModelInfo        (api.body="model_info")                                         , // 模型配置
 | ||
|     12: PromptInfo         PromptInfo       (api.body="prompt_info")                                        , // prompt 信息
 | ||
|     13: list<PluginInfo>   PluginInfoList   (api.body="plugin_info_list")                                   , // plugin列表
 | ||
|     14: list<WorkflowInfo> WorkflowInfoList (api.body="workflow_info_list")                                 , // Workflow 列表
 | ||
|     15: OnboardingInfo     OnboardingInfo   (api.body="onboarding_info")                                    , // 开场白
 | ||
|     16: Knowledge          Knowledge        (api.body="knowledge")                                          , // 数据集
 | ||
|     17: list<Variable>     VariableList     (api.body="variable_list")                                      , // kv存储
 | ||
|     18: TaskInfo           TaskInfo         (api.body="task_info")                                          , // 任务管理/预设任务
 | ||
|     19: list<Database>     DatabaseList     (api.body="database_list")                                      , // 数据表
 | ||
|     20: SuggestReplyInfo   SuggestReplyInfo (api.body="suggest_reply_info")                                 , // 推荐问题
 | ||
|     21: VoicesInfo         VoicesInfo       (api.body="voices_info")                                        , // 音色配置
 | ||
|     22: BotExtInfo         BotExtInfo       (api.body="bot_ext_info")                                       , // 额外信息,扩展字段
 | ||
|     23: BotMode            BotMode          (api.body="bot_mode")                                           , // bot 类型,single agent or multi agent
 | ||
|     24: list<Agent>        Agents           (api.body="agents")                                             , // multi agent mode agent信息
 | ||
|     25: BotSpecies         BotSpecies       (api.body="bot_species")                                        , // Bot种类
 | ||
|     26: BotTagInfo         BotTagInfo       (api.body="bot_tag_info")                                       , // bot tag 信息,用户新增字段
 | ||
|     27: FileboxInfo        FileboxInfo      (api.body="filebox_info")                                       , // filebox 信息
 | ||
|     28: MultiAgentInfo     MultiAgentInfo   (api.body="multi_agent_info")                                   , // multi_agent结构体
 | ||
|     29: list<BackgroundImageInfo> BackgroundImageInfoList   (api.body="background_image_info_list")         , // 背景图列表结构体
 | ||
|     30: list<string>       ShortcutSort     (api.body="shortcut_sort")                                      ,
 | ||
|     31: BotStatus          Status           (api.body="status")                                             , // bot状态
 | ||
|     32: optional HookInfo  HookInfo         (api.body="hook_info")                                          , // hook信息
 | ||
|     33: UserQueryCollectConf UserQueryCollectConf (api.body="user_query_collect_conf") , // 用户query收集配置
 | ||
|     34: LayoutInfo         LayoutInfo       (api.body="layout_info")                                        , // workflow模式的编排信息
 | ||
|     35: BusinessType       BusinessType     (api.body="business_type")
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| struct CommonKnowledge {
 | ||
|     1:  list<KnowledgeInfo> knowledge_infos   , // 知识库信息
 | ||
| }
 | ||
| 
 | ||
| struct ShortcutCommandComponent { // panel参数
 | ||
|     1 : string name  //参数名字
 | ||
|     2 : string description //参数描述
 | ||
|     3 : string type // 输入类型 text、select、file
 | ||
|     4 : optional string tool_parameter  // 请求工具时,参数的key 对应tool的参数名称,没有则为不返回
 | ||
|     5 : optional list<string> options // type为select时的可选项列表 or type为file时,支持哪些类型 image、doc、table、audio、video、zip、code、txt、ppt
 | ||
|     6 : optional string default_value // 默认值 没配置时不返回
 | ||
|     7 : bool is_hide // 是否隐藏不展示 线上bot tool类型的快捷指令不返回hide=true的component
 | ||
| }
 | ||
| 
 | ||
| struct ShortcutCommandToolInfo {
 | ||
|     1: string name //
 | ||
|     2: string type // tool类型 workflow plugin
 | ||
| }
 | ||
| 
 | ||
| struct ShortcutCommandInfo {
 | ||
|     1: i64 id (api.js_conv="true") // 快捷指令id
 | ||
|     2: string name // 快捷指令按钮名称
 | ||
|     3: string command // 快捷指令
 | ||
|     4: string description // 快捷指令描述
 | ||
|     5: string query_template // 指令query模版
 | ||
|     6: string icon_url // 快捷指令icon
 | ||
|     7: optional list<ShortcutCommandComponent> components // 组件列表(参数列表)
 | ||
|     8: optional ShortcutCommandToolInfo tool // tool信息
 | ||
|     9: optional i64 agent_id (api.js_conv="true") //multi的指令时,该指令由哪个节点执行 没配置不返回
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| struct OpenAPIBotInfo {
 | ||
|     1 : i64 bot_id  (api.js_conv="true")  ,                                // bot id
 | ||
|     2 : string name,                                  // bot名称
 | ||
|     3 : string description,                           // bot描述
 | ||
|     4 : string icon_url,                              // bot图像url
 | ||
|     5 : i64 create_time,                              // 创建时间
 | ||
|     6 : i64 update_time,                              // 更新时间
 | ||
|     7 : string version,                               // 版本
 | ||
|     8 : PromptInfo prompt_info,                       // prompt 信息
 | ||
|     9 : OnboardingInfo onboarding_info,             // 开场白
 | ||
|     10: BotMode bot_mode,                  // bot 类型,single agent or multi agent
 | ||
| //    11: optional list<VoiceData> voice_data_list,     // 选择的语音信息
 | ||
|     12: optional ModelInfo model_info,                // 模型信息
 | ||
|     13: list<PluginInfo> plugin_info_list,            // 插件信息列表
 | ||
|     14: optional CommonKnowledge knowledge            // 知识库信息
 | ||
|     15: list<WorkflowInfo> workflow_info_list,        // workflow信息列表
 | ||
|     16: list<ShortcutCommandInfo> shortcut_commands,  // 快捷指令信息列表
 | ||
| //    17: list<Voice> voice_info_list,                  // 音色配置
 | ||
|     18: string default_user_input_type,               // 默认用户输入类型
 | ||
|     19: SuggestReplyInfo suggest_reply_info,          // 用户问题建议
 | ||
|     20: BackgroundImageInfo background_image_info,    // 背景图片
 | ||
|     21: list<Variable> variables,                // 变量列表
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| struct LayoutInfo {
 | ||
|     1: string       WorkflowId               (api.body="workflow_id")                                        , // workflowId
 | ||
|     2: string       PluginId                 (api.body="plugin_id")                                          , // PluginId
 | ||
| }
 | ||
| 
 | ||
| struct UserQueryCollectConf {
 | ||
|     1: bool      IsCollected       (api.body="is_collected")   , // 是否开启收集开关
 | ||
|     2: string    PrivatePolicy     (api.body="private_policy") , // 隐私协议链接
 | ||
| }
 | ||
| 
 | ||
| struct MultiAgentInfo {
 | ||
|     1: MultiAgentSessionType SessionType   (api.body="session_type")                                       , // multi_agent会话接管方式
 | ||
|     2: AgentVersionCompatInfo VersionCompatInfo    (api.body="version_compat_info")                        , // multi_agent版本兼容字段 前端用
 | ||
|     3: MultiAgentConnectorType ConnectorType    (api.body="connector_type")                                  , // multi_agent连线类型 前端用
 | ||
| }
 | ||
| 
 | ||
| struct AgentVersionCompatInfo {
 | ||
|     1: AgentVersionCompat  VersionCompat      (api.body="version_compat")                              ,
 | ||
|     2: string version
 | ||
| }
 | ||
| 
 | ||
| struct BackgroundImageInfo {
 | ||
|     1: optional BackgroundImageDetail WebBackgroundImage   (api.body="web_background_image")                             , // web端背景图
 | ||
|     2: optional BackgroundImageDetail MobileBackgroundImage    (api.body="mobile_background_image")                             , // 移动端背景图
 | ||
| }
 | ||
| 
 | ||
| struct BackgroundImageDetail {
 | ||
|     1: optional string OriginImageUri    (api.body="origin_image_uri")            // 原始图片
 | ||
|     2: optional string OriginImageUrl    (api.body="origin_image_url")
 | ||
|     3: optional string ImageUri  (api.body="image_uri")               // 实际使用图片
 | ||
|     4: optional string ImageUrl  (api.body="image_url")
 | ||
|     5: optional string ThemeColor    (api.body="theme_color")
 | ||
|     6: optional GradientPosition GradientPosition  (api.body="gradient_position") // 渐变位置
 | ||
|     7: optional CanvasPosition CanvasPosition    (api.body="canvas_position") // 裁剪画布位置
 | ||
| }
 | ||
| 
 | ||
| struct GradientPosition {
 | ||
|     1: optional double Left     (api.body="left")
 | ||
|     2: optional double Right    (api.body="right")
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| struct CanvasPosition {
 | ||
|     1: optional double Width    (api.body="width")
 | ||
|     2: optional double Height   (api.body="height")
 | ||
|     3: optional double Left     (api.body="left")
 | ||
|     4: optional double Top      (api.body="top")
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| // bot信息 for 更新
 | ||
| struct BotInfoForUpdate {
 | ||
|     1:  optional i64 BotId  (agw.js_conv="str", api.js_conv="true",api.body="bot_id") // bot id
 | ||
|     2:  optional string Name  (api.body="name")                                      // bot名称
 | ||
|     3:  optional string Description (api.body="description")                         // bot描述
 | ||
|     4:  optional string IconUri (api.body="icon_uri")                             // bot 图标uri
 | ||
|     5:  optional string IconUrl (api.body="icon_url")                             // bot 图标url
 | ||
|     6:  optional i64 CreatorId  (agw.js_conv="str", api.js_conv="true", api.body="creator_id")                             // 创建人id
 | ||
|     7:  optional i64 CreateTime (agw.js_conv="str", api.js_conv="true", api.body="create_time")                             // 创建时间
 | ||
|     8:  optional i64 UpdateTime (agw.js_conv="str", api.js_conv="true", api.body="update_time")                             // 更新时间
 | ||
|     9:  optional i64 ConnectorId (agw.js_conv="str", api.js_conv="true", api.body="connector_id")                         // 业务线
 | ||
|     10: optional string Version (api.body="version")                                                  // 版本,毫秒
 | ||
|     11: optional ModelInfo ModelInfo    (api.body="model_info")                                             // 模型配置
 | ||
|     12: optional PromptInfo PromptInfo  (api.body="prompt_info")                                           // prompt 信息
 | ||
|     13: optional list<PluginInfo> PluginInfoList (api.body="plugin_info_list")                                 // plugin列表
 | ||
|     14: optional list<WorkflowInfo> WorkflowInfoList  (api.body="workflow_info_list")                             // Workflow 列表
 | ||
|     15: optional OnboardingInfo OnboardingInfo  (api.body="onboarding_info")                                   // 开场白
 | ||
|     16: optional Knowledge Knowledge    (api.body="knowledge")                                             // 数据集
 | ||
|     17: optional list<Variable> VariableList    (api.body="variable_list")                                     // kv存储
 | ||
|     18: optional TaskInfo TaskInfo  (api.body="task_info")                                               // 任务管理/预设任务
 | ||
|     19: optional list<Database> DatabaseList    (api.body="database_list")                                     // 数据表
 | ||
|     20: optional SuggestReplyInfo SuggestReplyInfo  (api.body="suggest_reply_info")                               // 推荐问题
 | ||
|     21: optional VoicesInfo VoicesInfo  (api.body="voices_info")                                           // 音色配置
 | ||
|     22: optional BotExtInfo BotExtInfo  (api.body="bot_ext_info")                                          // 额外信息,扩展字段
 | ||
|     23: optional BotMode BotMode    (api.body="bot_mode")                                                 // bot 类型,single agent or multi agent
 | ||
|     24: optional list<AgentForUpdate> Agents    (api.body="agents")                                       // multi agent mode agent信息
 | ||
|     25: BotSpecies BotSpecies   (api.body="bot_species")                                                   // Bot种类
 | ||
|     26: optional BotTagInfo BotTagInfo  (api.body="bot_tag_info")                                           // bot tag 信息,用户新增字段
 | ||
|     27: optional FileboxInfo        FileboxInfo (api.body="filebox_info")                                           // filebox 信息
 | ||
|     28: optional MultiAgentInfo     MultiAgentInfo  (api.body="multi_agent_info")                               // multi_agent结构体
 | ||
|     29: optional list<BackgroundImageInfo> BackgroundImageInfoList  (api.body="background_image_info_list")               // 背景图列表结构体
 | ||
|     30: optional list<string>             ShortcutSort  (api.body="shortcut_sort")
 | ||
|     31: optional HookInfo             HookInfo (api.body="hook_info")
 | ||
|     32: optional UserQueryCollectConf     UserQueryCollectConf (api.body="user_query_collect_conf")// 用户query收集配置
 | ||
|     33: optional LayoutInfo               LayoutInfo(api.body="layout_info")                           // workflow模式的编排信息
 | ||
| }
 | ||
| 
 | ||
| struct AgentForUpdate {
 | ||
|    1: optional i64 AgentId (agw.js_conv="str", api.js_conv="true", api.body="id") // agw字段名做了特殊映射 注意
 | ||
|    2: optional string AgentName (api.body="name") // agw字段名做了特殊映射 注意
 | ||
|    3: optional PromptInfo PromptInfo (api.body="prompt_info")                      // prompt 信息
 | ||
|    4: optional list<PluginInfo> PluginInfoList (api.body="plugin_info_list")             // plugin列表
 | ||
|    5: optional Knowledge Knowledge (api.body="knowledge")                         // 数据集
 | ||
|    6: optional list<WorkflowInfo> WorkflowInfoList (api.body="workflow_info_list")         // Workflow 列表
 | ||
|    7: optional ModelInfo ModelInfo (api.body="model_info")                         // 模型配置
 | ||
|    8: optional list<Intent> Intents (api.body="intents")                        // 意图信息
 | ||
|    9: optional AgentType AgentType (api.body="agent_type")
 | ||
|    10: optional bool RootAgent (api.body="root_agent")                             // 是否是rootagent
 | ||
|    11: optional i64 ReferenceId (agw.js_conv="str", api.js_conv="true", api.body="reference_id")
 | ||
|    12: optional string FirstVersion (api.body="first_version")
 | ||
|    13: optional string LastVersion (api.body="last_version")
 | ||
|    14: optional AgentPosition  Position (api.body="agent_position")
 | ||
|    15: optional string  IconUri (api.body="icon_uri")
 | ||
|    16: optional JumpConfig JumpConfig (api.body="jump_config")
 | ||
|    17: optional SuggestReplyInfo SuggestReplyInfo (api.body="suggest_reply_info")
 | ||
|    18: optional string  Description (api.body="description")
 | ||
|    19: optional AgentVersionCompat VersionCompat (api.body="version_compat")           // multi_agent版本兼容字段
 | ||
|    20: optional HookInfo HookInfo (api.body="hook_info")
 | ||
| }
 | ||
| 
 | ||
| struct TableDetail {
 | ||
|     1: optional string TableId                   // table id
 | ||
|     2: optional string TableName                 // table名称
 | ||
|     3: optional string TableDesc                 // table简介
 | ||
|     4: optional list<FieldItem> FieldList        // table字段信息
 | ||
|     5: optional bool            PromptDisabled (api.body="prompt_disabled"), // 是否支持在Prompt中调用 默认支持
 | ||
| }
 | ||
| 
 | ||
| struct TaskPluginInputField {
 | ||
|     1: optional string Name
 | ||
|     2: optional string Type // "Input", "Reference"
 | ||
|     3: optional string Value
 | ||
| }
 | ||
| 
 | ||
| struct TaskPluginInput {
 | ||
|     1: optional list<TaskPluginInputField> Params
 | ||
| }
 | ||
| 
 | ||
| struct TaskWebhookField {
 | ||
|     1: optional string Name,
 | ||
|     2: optional string Type,
 | ||
|     3: optional string Description,
 | ||
|     4: optional list<TaskWebhookField> Children,
 | ||
| }
 | ||
| 
 | ||
| struct TaskWebhookOutput {
 | ||
|     1: optional list<TaskWebhookField> Params
 | ||
| }
 | ||
| 
 | ||
| struct TaskInfoDetail {                          // Tasks Detail
 | ||
|     1: optional string TaskId                    // 任务唯一标识
 | ||
|     2: optional string UserQuestion              // 定时器触发时执行的 query,例如:提醒我喝水. 二期:TriggerType == "Time"
 | ||
|     3: optional string CreateTime                // 定时任务创建时间
 | ||
|     4: optional string NextTime                  // 定时任务下次执行的时间点
 | ||
|     5: optional i64 Status                       // 任务状态:有效/无效
 | ||
|     6: optional i32 PresetType                   // 1-草稿,2-线上
 | ||
|     7: optional string CronExpr                  // 定时任务的 crontab 表达式
 | ||
|     8: optional string TaskContent               // 处理过后的 UserQuestion,例如:喝水
 | ||
|     9: optional string TimeZone                  // 时区
 | ||
|     10: optional string TaskName                 // 任务名称
 | ||
|     11: optional string TriggerType              // "Time", "Event"
 | ||
|     12: optional string Action                   // "Bot query", "Plugin", "Workflow"
 | ||
|     13: optional string BotQuery                 // Action == "Bot query" 时的输入
 | ||
|     14: optional string PluginName               // plugin 和 workflow 都用这个字段
 | ||
|     15: optional TaskPluginInput PluginInput     // plugin 和 workflow 都用这个字段
 | ||
|     16: optional string WebhookUrl               // TriggerType == "Event"
 | ||
|     17: optional string WebhookBearerToken       // TriggerType == "Event"
 | ||
|     18: optional TaskWebhookOutput WebhookOutput // TriggerType == "Event"
 | ||
|     19: optional string OriginId                    // 溯源 ID。创建时生成,更新/发布不变
 | ||
| }
 | ||
| 
 | ||
| struct DraftBotInfoV2 {
 | ||
|      1: BotInfo BotInfo
 | ||
|      2: optional string CanvasData
 | ||
|      3: optional i64 BaseCommitVersion
 | ||
|      4: optional i64 CommitVersion
 | ||
|      5: optional map<string,TableDetail> TableInfo // TableInfo
 | ||
|      6: optional map<string, TaskInfoDetail> TaskInfo    // taskInfo
 | ||
| }
 | ||
| 
 | ||
| enum BacktrackMode {
 | ||
|     Current      = 1
 | ||
|     Previous     = 2
 | ||
|     Start        = 3
 | ||
|     MostSuitable = 4
 | ||
| }
 | ||
| 
 | ||
| enum RecognitionMode {
 | ||
|     FunctionCall = 1
 | ||
|     Independent  = 2
 | ||
| }
 | ||
| 
 | ||
| struct JumpConfig {
 | ||
|     1: BacktrackMode   backtrack
 | ||
|     2: RecognitionMode recognition
 | ||
|     3: optional IndependentModeConfig independent_conf
 | ||
| }
 | ||
| 
 | ||
| enum IndependentTiming {
 | ||
|     Pre        = 1 // 判断用户输入(前置)
 | ||
|     Post       = 2 // 判断节点输出(后置)
 | ||
|     PreAndPost = 3 // 前置模式和后置模式支持同时选择
 | ||
| }
 | ||
| enum IndependentRecognitionModelType {
 | ||
|     SLM = 0 // 小模型
 | ||
|     LLM = 1 // 大模型
 | ||
| }
 | ||
| struct IndependentModeConfig {
 | ||
|     1: IndependentTiming judge_timing // 判断时机
 | ||
|     2: i32 history_round
 | ||
|     3: IndependentRecognitionModelType model_type
 | ||
|     4: optional string model_id
 | ||
|     5: optional string prompt
 | ||
| }
 | ||
| 
 | ||
| struct MessageFeedback {
 | ||
|     1: MessageFeedbackType feedback_type    // 反馈类型
 | ||
|     2: list<MessageFeedbackDetailType> detail_types   // 细分类型
 | ||
|     3: string detail_content            // 负反馈自定义内容,对应用户选择Others
 | ||
| }
 | ||
| 
 | ||
| enum MessageFeedbackType {
 | ||
|     Default = 0
 | ||
|     Like = 1
 | ||
|     Unlike = 2
 | ||
| }
 | ||
| 
 | ||
| enum MessageFeedbackDetailType {
 | ||
|     UnlikeDefault = 0
 | ||
|     UnlikeHarmful = 1 // 有害信息
 | ||
|     UnlikeIncorrect = 2 // 信息有误
 | ||
|     UnlikeNotFollowInstructions = 3 // 未遵循指令
 | ||
|     UnlikeOthers = 4 // 其他
 | ||
| }
 | ||
| 
 | ||
| enum Scene{
 | ||
|     Default  = 0,
 | ||
|     Explore  = 1,
 | ||
|     BotStore = 2,
 | ||
|     CozeHome = 3,
 | ||
|     Playground = 4,
 | ||
|     Evaluation = 5, // 评测平台
 | ||
|     AgentAPP = 6,
 | ||
|     PromptOptimize = 7, //prompt优化
 | ||
|     GenerateAgentInfo = 8 // createbot的nl2bot功能
 | ||
| }
 | ||
| 
 | ||
| struct UserLabel {
 | ||
|     1: string             label_id
 | ||
|     2: string             label_name
 | ||
|     3: string             icon_uri
 | ||
|     4: string             icon_url
 | ||
|     5: string             jump_link
 | ||
| }
 | ||
| 
 | ||
| struct ChatV3ChatDetail {
 | ||
|     1: required string ID (api.body = "id"),
 | ||
|     2: required string ConversationID (api.body = "conversation_id"),
 | ||
|     3: required string BotID (api.body = "bot_id"),
 | ||
|     4: optional i32 CreatedAt (api.body = "created_at"),
 | ||
|     5: optional i32 CompletedAt (api.body = "completed_at"),
 | ||
|     6: optional i32 FailedAt (api.body = "failed_at"),
 | ||
|     7: optional map<string, string> MetaData (api.body = "meta_data"),
 | ||
|     8: optional LastError LastError (api.body = "last_error"),
 | ||
|     9: required string Status (api.body = "status"),
 | ||
|     10: optional Usage Usage (api.body = "usage"),
 | ||
|     11: optional RequiredAction RequiredAction (api.body = "required_action")
 | ||
|     12: optional string SectionID (api.body="section_id")
 | ||
| }
 | ||
| 
 | ||
| struct LastError {
 | ||
|     1: required i32 Code (api.body = "code"),
 | ||
|     2: required string Msg (api.body = "msg"),
 | ||
| }
 | ||
| 
 | ||
| struct Usage {
 | ||
|     1: optional i32 TokenCount (api.body = "token_count"),
 | ||
|     2: optional i32 OutputTokens (api.body = "output_count"),
 | ||
|     3: optional i32 InputTokens (api.body = "input_count"),
 | ||
| }
 | ||
| 
 | ||
| struct RequiredAction {
 | ||
|     1: string Type (api.body = "type"),
 | ||
|     2: SubmitToolOutputs SubmitToolOutputs (api.body = "submit_tool_outputs")
 | ||
| }
 | ||
| 
 | ||
| struct SubmitToolOutputs {
 | ||
|     1: list<InterruptPlugin> ToolCalls (api.body = "tool_calls")
 | ||
| }
 | ||
| 
 | ||
| struct InterruptPlugin {
 | ||
|     1: string id
 | ||
|     2: string type
 | ||
|     3: InterruptFunction function
 | ||
|     4: InterruptRequireInfo require_info
 | ||
| }
 | ||
| 
 | ||
| struct InterruptFunction {
 | ||
|     1: string name
 | ||
|     2: string arguments
 | ||
| }
 | ||
| 
 | ||
| struct InterruptRequireInfo {
 | ||
|     1: list<string> infos
 | ||
| }
 | ||
| 
 | ||
| struct ChatV3MessageDetail {
 | ||
|     1: required string ID (api.body = "id"),
 | ||
|     2: required string ConversationID (api.body = "conversation_id"),
 | ||
|     3: required string BotID (api.body = "bot_id"),
 | ||
|     4: required string Role (api.body = "role"),
 | ||
|     5: required string Type (api.body = "type"),
 | ||
|     6: required string Content (api.body = "content"),
 | ||
|     7: required string ContentType (api.body = "content_type"),
 | ||
|     8: optional map<string, string> MetaData (api.body = "meta_data"),
 | ||
|     9: required string ChatID (api.body = "chat_id")
 | ||
|     10: optional string SectionID (api.body="section_id")
 | ||
|     11: optional i64 CreatedAt (api.body = "created_at")
 | ||
|     12: optional i64 UpdatedAt (api.body = "updated_at")
 | ||
|     13: optional string ReasoningContent (api.body = "reasoning_content")
 | ||
| }
 | ||
| 
 | ||
| struct HookInfo {
 | ||
|     1: optional list<HookItem> pre_agent_jump_hook // pre agent跳转hook
 | ||
|     2: optional list<HookItem> post_agent_jump_hook // post agent跳转hook
 | ||
|     3: optional list<HookItem> flow_hook // 流程hook
 | ||
|     4: optional list<HookItem> atomic_hook // 原子能力hook
 | ||
|     5: optional list<HookItem> llm_call_hook // 模型调用hook
 | ||
|     6: optional list<HookItem> res_parsing_hook // 对话结果hook
 | ||
|     7: optional list<HookItem> suggestion_hook // suggesion hook
 | ||
| }
 | ||
| struct HookItem {
 | ||
|     1: optional string uri
 | ||
|     2: optional list<string> filter_rules
 | ||
|     3: optional bool strong_dep
 | ||
|     4: optional i64 timeout_ms
 | ||
| }
 | ||
| 
 | ||
| //struct ContentAttachment {
 | ||
| //    1: required string FileID (api.body = "file_id")
 | ||
| //}
 | ||
| 
 | ||
| // struct MetaContent{
 | ||
| //     1: required string Type (api.body="type"),
 | ||
| //     2: optional string Text ( api.body="text"),
 | ||
| //     3: optional string FileID (api.body="file_id"),
 | ||
| //     4: optional string FileURL (api.body="file_url"),
 | ||
| //     5: optional string Card (api.body="card"),
 | ||
| // }
 | ||
| 
 | ||
| 
 | ||
| // struct EnterMessage  {
 | ||
| //     1: required string Role (api.body = "role")
 | ||
| //     2: string Content(api.body = "content")     // 内容
 | ||
| //     3: map<string,string> MetaData(api.body = "meta_data")
 | ||
| //     4: string ContentType(api.body = "content_type")//text/card/object_string
 | ||
| //     5: string Type(api.body = "type")
 | ||
| // }
 | ||
| 
 | ||
| // struct OpenMessageApi {
 | ||
| //     1: string Id(api.body = "id")             // 主键ID
 | ||
| //     2: string BotId(api.body = "bot_id")        // bot id //已TODO 所有的i64加注解str,入参和出参都要
 | ||
| //     3: string Role(api.body = "role")
 | ||
| //     4: string Content(api.body = "content")          // 内容
 | ||
| //     5: string ConversationId(api.body = "conversation_id")   // conversation id
 | ||
| //     6: map<string,string> MetaData(api.body = "meta_data")
 | ||
| //     7: string CreatedAt(api.body = "created_at")      // 创建时间
 | ||
| //     8: string UpdatedAt(api.body = "updated_at")      // 更新时间 //已TODO 时间改成int
 | ||
| //     9: string ChatId(api.body = "chat_id")
 | ||
| //     10: string ContentType(api.body = "content_type")
 | ||
| //     11: string Type(api.body = "type")
 | ||
| // }
 | ||
| 
 | ||
| enum ReferenceUpdateType {
 | ||
|     ManualUpdate = 1
 | ||
|     AutoUpdate = 2
 | ||
| }
 | ||
| 
 | ||
| enum ReferenceInfoStatus {
 | ||
|     HasUpdates = 1 // 1:有可用更新
 | ||
|     IsDelete   = 2 // 2:被删除
 | ||
| }
 |