feat: manually mirror opencoze's code from bytedance

Change-Id: I09a73aadda978ad9511264a756b2ce51f5761adf
This commit is contained in:
fanlv
2025-07-20 17:36:12 +08:00
commit 890153324f
14811 changed files with 1923430 additions and 0 deletions

View File

@@ -0,0 +1,93 @@
namespace go intelligence.common
struct UserLabel {
1: string label_id ,
2: string label_name ,
3: string icon_uri ,
4: string icon_url ,
5: string jump_link ,
}
struct User {
1: i64 user_id (agw.js_conv="str", api.js_conv="true"),
2: string nickname, // 用户昵称
3: string avatar_url, // 用户头像
4: string user_unique_name, // 用户名
5: UserLabel user_label, // 用户标签
}
/****************************** audit **********************************/
enum AuditStatus {
Auditing = 0, // 审核中
Success = 1, // 审核通过
Failed = 2, // 审核失败
}
struct AuditInfo {
1: optional AuditStatus audit_status,
2: optional string publish_id,
3: optional string commit_version,
}
// 审核结果
struct AuditData {
1: bool check_not_pass // true机审校验不通过
2: optional string check_not_pass_msg // 机审校验不通过文案
}
/****************************** publish **********************************/
enum ConnectorDynamicStatus {
Normal = 0
Offline = 1
TokenDisconnect = 2
}
struct ConnectorInfo {
1: string id
2: string name
3: string icon
4: ConnectorDynamicStatus connector_status
5: optional string share_link
}
struct IntelligencePublishInfo {
1: string publish_time,
2: bool has_published,
3: list<ConnectorInfo> connectors,
}
enum ResourceType {
Plugin = 1
Workflow = 2
Imageflow = 3
Knowledge = 4
UI = 5
Prompt = 6
Database = 7
Variable = 8
}
enum OrderByType {
Asc = 1
Desc = 2
}
enum PermissionType {
NoDetail = 1 //不能查看详情
Detail = 2 //可以查看详情
Operate = 3 //可以查看和操作
}
enum SpaceStatus {
Valid = 1
Invalid = 2
}
struct Space {
1: i64 id,
2: i64 owner_id,
3: SpaceStatus status,
4: string name,
}

View File

@@ -0,0 +1,32 @@
namespace go intelligence.common
enum IntelligenceStatus {
Using = 1,
Deleted = 2,
Banned = 3,
MoveFailed = 4, // 迁移失败
Copying = 5, // 复制中
CopyFailed = 6, // 复制失败
}
enum IntelligenceType {
Bot = 1
Project = 2
}
struct IntelligenceBasicInfo {
1: i64 id (agw.js_conv="str", api.js_conv="true"),
2: string name,
3: string description,
4: string icon_uri,
5: string icon_url,
6: i64 space_id (agw.js_conv="str", api.js_conv="true"),
7: i64 owner_id (agw.js_conv="str", api.js_conv="true"),
8: i64 create_time (agw.js_conv="str", api.js_conv="true"),
9: i64 update_time (agw.js_conv="str", api.js_conv="true"),
10: IntelligenceStatus status,
11: i64 publish_time (agw.js_conv="str", api.js_conv="true"),
12: optional string enterprise_id,
13: optional i64 organization_id,
}

View File

@@ -0,0 +1,3 @@
struct ProjectInnerTaskInfo {
1: i64 task_id (agw.js_conv="str",api.js_conv="true") // 任务id
}

View File

@@ -0,0 +1,31 @@
include "../base.thrift"
include "search.thrift"
include "common_struct/intelligence_common_struct.thrift"
include "common_struct/common_struct.thrift"
include "./project.thrift"
include "publish.thrift"
include "task.thrift"
namespace go intelligence
service IntelligenceService {
project.DraftProjectCreateResponse DraftProjectCreate(1: project.DraftProjectCreateRequest request)(api.post='/api/intelligence_api/draft_project/create', api.category="draft_project",agw.preserve_base="true")
project.DraftProjectUpdateResponse DraftProjectUpdate(1: project.DraftProjectUpdateRequest request)(api.post='/api/intelligence_api/draft_project/update', api.category="draft_project",agw.preserve_base="true")
project.DraftProjectDeleteResponse DraftProjectDelete(1: project.DraftProjectDeleteRequest request)(api.post='/api/intelligence_api/draft_project/delete', api.category="draft_project",agw.preserve_base="true")
project.DraftProjectCopyResponse DraftProjectCopy(1: project.DraftProjectCopyRequest request)(api.post='/api/intelligence_api/draft_project/copy', api.category="draft_project",agw.preserve_base="true")
task.DraftProjectInnerTaskListResponse DraftProjectInnerTaskList(1: task.DraftProjectInnerTaskListRequest request)(api.post='/api/intelligence_api/draft_project/inner_task_list', api.category="draft_project",agw.preserve_base="true")
search.GetDraftIntelligenceListResponse GetDraftIntelligenceList(1: search.GetDraftIntelligenceListRequest req) (api.post='/api/intelligence_api/search/get_draft_intelligence_list', api.category="search",agw.preserve_base="true")
search.GetDraftIntelligenceInfoResponse GetDraftIntelligenceInfo(1: search.GetDraftIntelligenceInfoRequest req) (api.post='/api/intelligence_api/search/get_draft_intelligence_info', api.category="search",agw.preserve_base="true")
search.GetUserRecentlyEditIntelligenceResponse GetUserRecentlyEditIntelligence(1: search.GetUserRecentlyEditIntelligenceRequest req) (api.post='/api/intelligence_api/search/get_recently_edit_intelligence', api.category="search",agw.preserve_base="true")
publish.PublishConnectorListResponse ProjectPublishConnectorList(1: publish.PublishConnectorListRequest request)(api.post='/api/intelligence_api/publish/connector_list', api.category="publish",agw.preserve_base="true")
publish.GetProjectPublishedConnectorResponse GetProjectPublishedConnector(1: publish.GetProjectPublishedConnectorRequest request) (api.post='/api/intelligence_api/publish/get_published_connector', api.category="publish",agw.preserve_base="true")
publish.CheckProjectVersionNumberResponse CheckProjectVersionNumber(1: publish.CheckProjectVersionNumberRequest request)(api.post='/api/intelligence_api/publish/check_version_number', api.category="publish",agw.preserve_base="true")
publish.PublishProjectResponse PublishProject(1: publish.PublishProjectRequest request)(api.post='/api/intelligence_api/publish/publish_project', api.category="publish",agw.preserve_base="true")
publish.GetPublishRecordListResponse GetPublishRecordList(1: publish.GetPublishRecordListRequest request)(api.post='/api/intelligence_api/publish/publish_record_list', api.category="publish",agw.preserve_base="true")
publish.GetPublishRecordDetailResponse GetPublishRecordDetail(1: publish.GetPublishRecordDetailRequest request)(api.post='/api/intelligence_api/publish/publish_record_detail', api.category="publish",agw.preserve_base="true")
}

View File

@@ -0,0 +1,89 @@
include "../base.thrift"
include "common_struct/intelligence_common_struct.thrift"
include "common_struct/common_struct.thrift"
struct DraftProjectCreateRequest {
1 : i64 space_id (agw.js_conv="str", api.js_conv="true"),
2 : string name ,
3 : string description,
4 : string icon_uri ,
5 : optional MonetizationConf monetization_conf,
6 : optional string create_from, // 创建来源 navi:导航栏 space:空间
255: optional base.Base Base (api.none="true") ,
}
struct MonetizationConf {
1: optional bool is_enable
}
struct DraftProjectCreateResponse {
1 : DraftProjectCreateData data
253: required i64 code,
254: required string msg,
255: optional base.BaseResp BaseResp (api.none="true")
}
struct DraftProjectCreateData {
1: i64 project_id (agw.js_conv="str", api.js_conv="true")
2: common_struct.AuditData audit_data
}
struct DraftProjectUpdateRequest {
1 : required i64 project_id (agw.js_conv="str", api.js_conv="true")
2 : optional string name
3 : optional string description
4 : optional string icon_uri
255: optional base.Base Base (api.none="true")
}
struct DraftProjectUpdateResponse {
1 : DraftProjectUpdateData data
253: required i64 code,
254: required string msg,
255: optional base.BaseResp BaseResp (api.none="true")
}
struct DraftProjectUpdateData {
1 : common_struct.AuditData audit_data
}
struct DraftProjectDeleteRequest {
1 : required i64 project_id (agw.js_conv="str", api.js_conv="true")
255: optional base.Base Base (api.none="true")
}
struct DraftProjectDeleteResponse {
253: required i64 code,
254: required string msg,
255: optional base.BaseResp BaseResp (api.none="true")
}
struct DraftProjectCopyRequest {
1 : i64 project_id (agw.js_conv="str", api.js_conv="true")
3 : i64 to_space_id (agw.js_conv="str", api.js_conv="true")
4 : string name ,
5 : string description,
6 : string icon_uri ,
255: optional base.Base Base (api.none="true")
}
struct DraftProjectCopyResponse {
1 : DraftProjectCopyResponseData data
253: required i64 code,
254: required string msg,
255: optional base.BaseResp BaseResp (api.none="true")
}
struct DraftProjectCopyResponseData {
1 : intelligence_common_struct.IntelligenceBasicInfo basic_info
2 : common_struct.AuditData audit_data
3 : common_struct.User user_info
}

View File

@@ -0,0 +1,268 @@
include "../base.thrift"
include "common_struct/common_struct.thrift"
include "common_struct/intelligence_common_struct.thrift"
struct GetProjectPublishedConnectorRequest {
1: required i64 project_id (agw.js_conv="str", api.js_conv="true")
255: optional base.Base Base (api.none="true")
}
struct GetProjectPublishedConnectorResponse {
1: list<common_struct.ConnectorInfo> data
253: i64 code
254: string msg
255: optional base.BaseResp BaseResp (api.none="true")
}
struct PublishConnectorListRequest {
1: required i64 project_id (agw.js_conv="str", api.js_conv="true")
255: optional base.Base Base (api.none="true")
}
struct PublishConnectorListResponse {
1: PublishConnectorListData data
253: i64 code
254: string msg
255: optional base.BaseResp BaseResp (api.none="true")
}
struct PublishConnectorListData {
1: list<PublishConnectorInfo> connector_list
2: LastPublishInfo last_publish_info
3: map<i64, ConnectorUnionInfo> connector_union_info_map // 渠道集合信息key是connector_union_id
}
struct PublishConnectorInfo {
1: required i64 id (agw.js_conv="str", api.js_conv="true")
2: required string name
3: required string icon_url
4: required string description // 描述
5: string description_extra // 描述扩展
6: required ConnectorClassification connector_classification // 渠道类型
7: required ConnectorConfigStatus config_status // 配置状态
8: ConnectorStatus connector_status // 渠道状态
9: required ConnectorBindType bind_type // 绑定类型
10: required map<string,string> bind_info // 绑定信息 key字段名 value是值
11: optional string bind_id // 绑定id信息用于解绑使用
12: optional AuthLoginInfo auth_login_info // 用户授权登陆信息
13: string privacy_policy // 隐私政策
14: string user_agreement // 用户协议
15: bool allow_publish // 是否允许发布
16: optional string not_allow_publish_reason // 不允许发布的原因
17: optional i64 connector_union_id (agw.js_conv="str", api.js_conv="true") // 渠道集合id表示需要聚合展示的渠道
18: optional list<UIOption> UIOptions // UI选项
19: optional bool support_monetization // 支持商业化
20: optional string installation_guide // 安装指引
21: optional UserAuthStatus auth_status // 目前仅 bind_type == 8 时这个字段才有
22: optional string config_status_toast // 配置状态toast
23: optional string to_complete_info_url // connector_status为审核中时补全信息按钮的url
24: optional string connector_tips // 渠道发布提示
}
struct LastPublishInfo {
1: string version_number
2: list<i64> connector_ids (agw.js_conv="str", api.js_conv="true")
3: map<i64,ConnectorPublishConfig> connector_publish_config // 渠道发布配置
}
enum ConnectorClassification {
APIOrSDK = 1 // api或sdk
SocialPlatform = 2 // 社交平台
Coze = 3 // Coze商店/模板
MiniProgram = 4 // 小程序
CozeSpaceExtensionLibrary = 5 // MCP扩展库
}
enum ConnectorConfigStatus {
Configured = 1 // 已配置
NotConfigured = 2 // 未配置
Disconnected = 3 // Token发生变化
Configuring = 4 // 配置中,授权中
NeedReconfiguring = 5 // 需要重新配置
}
enum ConnectorStatus {
Normal = 0 // 正常
InReview = 1 // 审核中
Offline = 2 // 已下线
}
struct ConnectorUnionInfo {
1: required i64 id (agw.js_conv="str", api.js_conv="true")
2: required string name
3: required string description
4: required string icon_url
5: required list<ConnectorUnionInfoOption> connector_options
}
enum ConnectorBindType {
NoBindRequired = 1 // 无需绑定
AuthBind = 2 // Auth绑定
KvBind = 3 // Kv绑定
KvAuthBind = 4 // Kv并Auth授权
ApiBind = 5 // api渠道绑定
WebSDKBind = 6
StoreBind = 7
AuthAndConfig = 8 // 授权和配置各一个按钮
TemplateBind = 9 // 模板渠道绑定
}
struct AuthLoginInfo {
1: string app_id
2: string response_type
3: string authorize_url
4: string scope
5: string client_id
6: string duration
7: string aid
8: string client_key
}
struct UIOption {
1: i64 ui_channel (agw.js_conv="str", api.js_conv="true") // UIChannel选项
2: bool available // 是否可选
3: string unavailable_reason // 不可选原因
}
enum UserAuthStatus {
Authorized = 1 // 已授权
UnAuthorized = 2 // 未授权
Authorizing = 3 // 授权中
}
struct ConnectorPublishConfig {
1: list<SelectedWorkflow> selected_workflows // 发布渠道选择的Workflow/ChatFlow
}
struct ConnectorUnionInfoOption {
1: required i64 connector_id (agw.js_conv="str", api.js_conv="true") // 渠道 ID
2: required string show_name // 展示名,如:托管发布、下载代码
}
struct SelectedWorkflow {
1: i64 workflow_id (agw.js_conv="str", api.js_conv="true")
2: string workflow_name
}
struct CheckProjectVersionNumberRequest {
1: required i64 project_id (agw.js_conv="str", api.js_conv="true")
2: required string version_number
255: optional base.Base Base (api.none="true")
}
struct CheckProjectVersionNumberResponse {
1: CheckProjectVersionNumberData data
253: i64 code
254: string msg
255: optional base.BaseResp BaseResp (api.none="true")
}
struct CheckProjectVersionNumberData {
1: bool is_duplicate
}
struct PublishProjectRequest {
1: required i64 project_id (agw.js_conv="str", api.js_conv="true")
2: required string version_number // 版本号
3: optional string description // 描述
4: optional map<i64,map<string,string>> connectors // key代表connector_idvalue是渠道发布的参数
5: optional map<i64,ConnectorPublishConfig> connector_publish_config // 渠道发布配置key代表connector_id
255: optional base.Base Base (api.none="true")
}
struct PublishProjectResponse {
1: PublishProjectData data
253: i64 code
254: string msg
255: optional base.BaseResp BaseResp (api.none="true")
}
struct PublishProjectData {
1: i64 publish_record_id (agw.js_conv="str", api.js_conv="true") // 发布记录ID用于前端轮询
2: optional bool publish_monetization_result // 收费配置发布结果,海外环境才有
}
struct GetPublishRecordListRequest {
1: required i64 project_id (agw.js_conv="str", api.js_conv="true")
255: optional base.Base Base (api.none="true")
}
struct GetPublishRecordListResponse {
1: list<PublishRecordDetail> data
253: i64 code
254: string msg
255: optional base.BaseResp BaseResp (api.none="true")
}
struct PublishRecordDetail {
1: i64 publish_record_id (agw.js_conv="str", api.js_conv="true")
2: string version_number
3: PublishRecordStatus publish_status // 发布状态
4: string publish_status_msg // 该字段废弃请使用publish_status_detail
5: optional list<ConnectorPublishResult> connector_publish_result // 渠道发布结果
6: optional PublishRecordStatusDetail publish_status_detail // 发布状态补充信息
}
enum PublishRecordStatus {
Packing = 0 // 打包中
PackFailed = 1 // 打包失败
Auditing = 2 // 审核中
AuditNotPass = 3 // 审核未通过
ConnectorPublishing = 4 // 渠道发布中
PublishDone = 5 // 发布完成
}
struct ConnectorPublishResult {
1: i64 connector_id (agw.js_conv="str", api.js_conv="true")
2: string connector_name
3: string connector_icon_url
4: ConnectorPublishStatus connector_publish_status // 渠道发布状态
5: string connector_publish_status_msg // 渠道发布状态补充信息
6: optional string share_link // OpenIn链接
7: optional string download_link // 小程序渠道下载链接
8: optional ConnectorPublishConfig connector_publish_config // 渠道发布配置
9: optional map<string,string> connector_bind_info // 渠道绑定信息 key字段名 value是值
}
struct PublishRecordStatusDetail {
1: optional list<PackFailedDetail> pack_failed_detail // 打包失败详情
}
//project
enum ConnectorPublishStatus {
Default = 0 // 发布中
Auditing = 1 // 审核中
Success = 2 // 成功
Failed = 3 // 失败
Disable = 4 //禁用
}
struct PackFailedDetail {
1: i64 entity_id (agw.js_conv="str", api.js_conv="true")
2: common_struct.ResourceType entity_type
3: string entity_name
}
struct GetPublishRecordDetailRequest {
1: required i64 project_id (agw.js_conv="str", api.js_conv="true")
2: optional i64 publish_record_id (agw.js_conv="str", api.js_conv="true") // 不传则获取最近一次发布记录
255: optional base.Base Base (api.none="true")
}
struct GetPublishRecordDetailResponse {
1: PublishRecordDetail data
253: i64 code
254: string msg
255: optional base.BaseResp BaseResp (api.none="true")
}

View File

@@ -0,0 +1,152 @@
include "../base.thrift"
include "common_struct/intelligence_common_struct.thrift"
include "common_struct/common_struct.thrift"
namespace go intelligence
enum OrderBy {
UpdateTime = 0
CreateTime = 1
PublishTime = 2
}
enum OceanProjectOrderBy {
UpdateTime = 0
CreateTime = 1
}
enum SearchScope {
All = 0,
CreateByMe = 1,
}
struct GetDraftIntelligenceListOption {
1: bool need_replica, // 是否需要个人版本Bot数据
}
struct GetDraftIntelligenceListRequest {
1: required i64 space_id (agw.js_conv="str", api.js_conv="true"),
2: optional string name,
3: optional bool has_published,
4: optional list<intelligence_common_struct.IntelligenceStatus> status,
5: optional list<intelligence_common_struct.IntelligenceType> types,
6: optional SearchScope search_scope,
51: optional bool is_fav,
52: optional bool recently_open,
99: optional GetDraftIntelligenceListOption option,
100: optional OrderBy order_by,
101: optional string cursor_id,
102: optional i32 size,
255: optional base.Base Base
}
struct IntelligencePublishInfo {
1: string publish_time,
2: bool has_published,
3: list<common_struct.ConnectorInfo> connectors,
}
struct IntelligencePermissionInfo {
1: bool in_collaboration,
2: bool can_delete, // 当前用户是否可删除
3: bool can_view, // 当前用户是否可查看当前判断逻辑为用户是否在bot所在空间
}
struct FavoriteInfo {
1: bool is_fav, // 是否收藏;收藏列表使用
2: string fav_time, // 收藏时间;收藏列表使用
}
enum BotMode {
SingleMode = 0
MultiMode = 1
WorkflowMode = 2
}
struct OtherInfo {
1: string recently_open_time, // 最近打开时间;最近打开筛选时使用
2: BotMode bot_mode, // 仅bot类型返回
}
struct Intelligence {
1: intelligence_common_struct.IntelligenceBasicInfo basic_info, // 基本信息
2: intelligence_common_struct.IntelligenceType type, // 智能体类型
3: IntelligencePublishInfo publish_info, // 智能体发布信息,可选
4: common_struct.User owner_info, // 智能体所有者信息,可选
5: IntelligencePermissionInfo permission_info, // 当前用户对智能体的权限信息,可选
}
// For前端
struct IntelligenceData {
1: intelligence_common_struct.IntelligenceBasicInfo basic_info,
2: intelligence_common_struct.IntelligenceType type,
3: IntelligencePublishInfo publish_info,
4: IntelligencePermissionInfo permission_info,
5: common_struct.User owner_info,
6: common_struct.AuditInfo latest_audit_info,
7: FavoriteInfo favorite_info,
50: OtherInfo other_info,
}
struct DraftIntelligenceListData {
1: list<IntelligenceData> intelligences,
2: i32 total,
3: bool has_more,
4: string next_cursor_id,
}
struct GetDraftIntelligenceListResponse {
1: DraftIntelligenceListData data,
253: i32 code,
254: string msg,
255: optional base.BaseResp BaseResp (api.none="true"),
}
struct GetDraftIntelligenceInfoRequest {
1: i64 intelligence_id (agw.js_conv="str", api.js_conv="true"),
2: intelligence_common_struct.IntelligenceType intelligence_type,
3: optional i64 version (agw.js_conv="str", api.js_conv="true"), // 预览版本时传入
255: optional base.Base Base
}
struct GetDraftIntelligenceInfoData {
1: intelligence_common_struct.IntelligenceType intelligence_type,
2: intelligence_common_struct.IntelligenceBasicInfo basic_info,
3: optional IntelligencePublishInfo publish_info,
4: optional common_struct.User owner_info,
}
struct GetDraftIntelligenceInfoResponse {
1: GetDraftIntelligenceInfoData data,
253: i32 code,
254: string msg,
255: optional base.BaseResp BaseResp,
}
struct GetUserRecentlyEditIntelligenceRequest {
1: i32 size,
2: optional list<intelligence_common_struct.IntelligenceType> types,
3: optional string enterprise_id, // 企业id
4: optional string organization_id, // 组织id
255: optional base.Base Base
}
struct GetUserRecentlyEditIntelligenceData {
1: list<IntelligenceData> intelligence_info_list,
}
struct GetUserRecentlyEditIntelligenceResponse {
1: GetUserRecentlyEditIntelligenceData data,
253: i32 code,
254: string msg,
255: optional base.BaseResp BaseResp,
}

View File

@@ -0,0 +1,20 @@
include "../base.thrift"
include "common_struct/task_struct.thrift"
struct DraftProjectInnerTaskListRequest {
1 : required i64 project_id (agw.js_conv="str", api.js_conv="true")
255: optional base.Base Base (api.none="true")
}
struct DraftProjectInnerTaskListResponse {
1: DraftProjectInnerTaskListData data
253: required i64 code,
254: required string msg,
255: optional base.BaseResp BaseResp (api.none="true")
}
struct DraftProjectInnerTaskListData {
1: list<task_struct.ProjectInnerTaskInfo> task_list
}