实现 Debug EML 上传到 SuperAgent 链路
This commit is contained in:
@@ -31,6 +31,30 @@ superagent:
|
||||
task-result:
|
||||
# dev SuperAgent HMAC 密钥;优先使用 dev 专属变量,兼容旧通用变量。
|
||||
hmac-secret: ${SUPERAGENT_DEV_TASK_RESULT_HMAC_SECRET:${SUPERAGENT_TASK_RESULT_HMAC_SECRET:}}
|
||||
open-api:
|
||||
# dev Debug EML 调用 SuperAgent Open API;默认关闭,配置完整后再显式开启。
|
||||
enabled: ${SUPERAGENT_DEV_OPEN_API_ENABLED:${SUPERAGENT_OPEN_API_ENABLED:false}}
|
||||
base-url: ${DEERFLOW_DEV_BASE_URL:${DEERFLOW_BASE_URL:}}
|
||||
api-key: ${DEERFLOW_DEV_OPEN_API_KEY:${DEERFLOW_OPEN_API_KEY:}}
|
||||
external-subject-id: ${SUPERAGENT_DEV_DEBUG_EML_EXTERNAL_SUBJECT_ID:${SUPERAGENT_DEBUG_EML_EXTERNAL_SUBJECT_ID:th-hotel-debug-eml-upload}}
|
||||
connect-timeout: ${SUPERAGENT_DEV_DEBUG_EML_CONNECT_TIMEOUT:${SUPERAGENT_DEBUG_EML_CONNECT_TIMEOUT:15s}}
|
||||
read-timeout: ${SUPERAGENT_DEV_DEBUG_EML_READ_TIMEOUT:${SUPERAGENT_DEBUG_EML_READ_TIMEOUT:180s}}
|
||||
|
||||
aliyun:
|
||||
oss:
|
||||
endpoint: ${ALIYUN_OSS_DEV_ENDPOINT:${ALIYUN_OSS_ENDPOINT:}}
|
||||
bucket: ${ALIYUN_OSS_DEV_BUCKET:${ALIYUN_OSS_BUCKET:}}
|
||||
access-key-id: ${ALIYUN_OSS_DEV_ACCESS_KEY_ID:${ALIYUN_OSS_ACCESS_KEY_ID:}}
|
||||
access-key-secret: ${ALIYUN_OSS_DEV_ACCESS_KEY_SECRET:${ALIYUN_OSS_ACCESS_KEY_SECRET:}}
|
||||
public-base-url: ${ALIYUN_OSS_DEV_PUBLIC_BASE_URL:${ALIYUN_OSS_PUBLIC_BASE_URL:}}
|
||||
debug-eml-prefix: ${ALIYUN_OSS_DEV_DEBUG_EML_PREFIX:${ALIYUN_OSS_DEBUG_EML_PREFIX:debug/eml/}}
|
||||
|
||||
debug:
|
||||
eml-upload:
|
||||
# dev 默认关闭,需要本地或联调环境显式开启并配置访问口令。
|
||||
enabled: ${DEBUG_EML_UPLOAD_DEV_ENABLED:${DEBUG_EML_UPLOAD_ENABLED:false}}
|
||||
access-key: ${DEBUG_EML_UPLOAD_DEV_ACCESS_KEY:${DEBUG_EML_UPLOAD_ACCESS_KEY:}}
|
||||
max-file-bytes: ${DEBUG_EML_UPLOAD_DEV_MAX_FILE_BYTES:${DEBUG_EML_UPLOAD_MAX_FILE_BYTES:10485760}}
|
||||
|
||||
reservation:
|
||||
demo-data:
|
||||
|
||||
@@ -29,6 +29,30 @@ superagent:
|
||||
task-result:
|
||||
# prod SuperAgent HMAC 密钥不能为空;生产优先使用 prod 专属变量,兼容旧通用变量。
|
||||
hmac-secret: ${SUPERAGENT_PROD_TASK_RESULT_HMAC_SECRET:${SUPERAGENT_TASK_RESULT_HMAC_SECRET}}
|
||||
open-api:
|
||||
# prod 默认不开放 Debug EML 真实调用;如需启用,必须先接入正式权限和审计策略。
|
||||
enabled: ${SUPERAGENT_PROD_OPEN_API_ENABLED:false}
|
||||
base-url: ${DEERFLOW_PROD_BASE_URL:${DEERFLOW_BASE_URL}}
|
||||
api-key: ${DEERFLOW_PROD_OPEN_API_KEY:${DEERFLOW_OPEN_API_KEY}}
|
||||
external-subject-id: ${SUPERAGENT_PROD_DEBUG_EML_EXTERNAL_SUBJECT_ID:${SUPERAGENT_DEBUG_EML_EXTERNAL_SUBJECT_ID:th-hotel-debug-eml-upload}}
|
||||
connect-timeout: ${SUPERAGENT_PROD_DEBUG_EML_CONNECT_TIMEOUT:${SUPERAGENT_DEBUG_EML_CONNECT_TIMEOUT:15s}}
|
||||
read-timeout: ${SUPERAGENT_PROD_DEBUG_EML_READ_TIMEOUT:${SUPERAGENT_DEBUG_EML_READ_TIMEOUT:180s}}
|
||||
|
||||
aliyun:
|
||||
oss:
|
||||
endpoint: ${ALIYUN_OSS_PROD_ENDPOINT:${ALIYUN_OSS_ENDPOINT}}
|
||||
bucket: ${ALIYUN_OSS_PROD_BUCKET:${ALIYUN_OSS_BUCKET}}
|
||||
access-key-id: ${ALIYUN_OSS_PROD_ACCESS_KEY_ID:${ALIYUN_OSS_ACCESS_KEY_ID}}
|
||||
access-key-secret: ${ALIYUN_OSS_PROD_ACCESS_KEY_SECRET:${ALIYUN_OSS_ACCESS_KEY_SECRET}}
|
||||
public-base-url: ${ALIYUN_OSS_PROD_PUBLIC_BASE_URL:${ALIYUN_OSS_PUBLIC_BASE_URL}}
|
||||
debug-eml-prefix: ${ALIYUN_OSS_PROD_DEBUG_EML_PREFIX:${ALIYUN_OSS_DEBUG_EML_PREFIX:debug/eml/}}
|
||||
|
||||
debug:
|
||||
eml-upload:
|
||||
# prod 默认关闭;不要在未接入正式用户权限前开放。
|
||||
enabled: ${DEBUG_EML_UPLOAD_PROD_ENABLED:false}
|
||||
access-key: ${DEBUG_EML_UPLOAD_PROD_ACCESS_KEY:${DEBUG_EML_UPLOAD_ACCESS_KEY}}
|
||||
max-file-bytes: ${DEBUG_EML_UPLOAD_PROD_MAX_FILE_BYTES:${DEBUG_EML_UPLOAD_MAX_FILE_BYTES:10485760}}
|
||||
|
||||
reservation:
|
||||
demo-data:
|
||||
|
||||
@@ -31,6 +31,30 @@ superagent:
|
||||
task-result:
|
||||
# test SuperAgent HMAC 密钥;优先使用 test 专属变量,兼容旧通用变量。
|
||||
hmac-secret: ${SUPERAGENT_TEST_TASK_RESULT_HMAC_SECRET:${SUPERAGENT_TASK_RESULT_HMAC_SECRET:}}
|
||||
open-api:
|
||||
# test Debug EML 调用 SuperAgent Open API;默认关闭,联调时显式开启。
|
||||
enabled: ${SUPERAGENT_TEST_OPEN_API_ENABLED:${SUPERAGENT_OPEN_API_ENABLED:false}}
|
||||
base-url: ${DEERFLOW_TEST_BASE_URL:${DEERFLOW_BASE_URL:}}
|
||||
api-key: ${DEERFLOW_TEST_OPEN_API_KEY:${DEERFLOW_OPEN_API_KEY:}}
|
||||
external-subject-id: ${SUPERAGENT_TEST_DEBUG_EML_EXTERNAL_SUBJECT_ID:${SUPERAGENT_DEBUG_EML_EXTERNAL_SUBJECT_ID:th-hotel-debug-eml-upload}}
|
||||
connect-timeout: ${SUPERAGENT_TEST_DEBUG_EML_CONNECT_TIMEOUT:${SUPERAGENT_DEBUG_EML_CONNECT_TIMEOUT:15s}}
|
||||
read-timeout: ${SUPERAGENT_TEST_DEBUG_EML_READ_TIMEOUT:${SUPERAGENT_DEBUG_EML_READ_TIMEOUT:180s}}
|
||||
|
||||
aliyun:
|
||||
oss:
|
||||
endpoint: ${ALIYUN_OSS_TEST_ENDPOINT:${ALIYUN_OSS_ENDPOINT:}}
|
||||
bucket: ${ALIYUN_OSS_TEST_BUCKET:${ALIYUN_OSS_BUCKET:}}
|
||||
access-key-id: ${ALIYUN_OSS_TEST_ACCESS_KEY_ID:${ALIYUN_OSS_ACCESS_KEY_ID:}}
|
||||
access-key-secret: ${ALIYUN_OSS_TEST_ACCESS_KEY_SECRET:${ALIYUN_OSS_ACCESS_KEY_SECRET:}}
|
||||
public-base-url: ${ALIYUN_OSS_TEST_PUBLIC_BASE_URL:${ALIYUN_OSS_PUBLIC_BASE_URL:}}
|
||||
debug-eml-prefix: ${ALIYUN_OSS_TEST_DEBUG_EML_PREFIX:${ALIYUN_OSS_DEBUG_EML_PREFIX:debug/eml/}}
|
||||
|
||||
debug:
|
||||
eml-upload:
|
||||
# test 默认关闭,测试机联调时显式开启并配置访问口令。
|
||||
enabled: ${DEBUG_EML_UPLOAD_TEST_ENABLED:${DEBUG_EML_UPLOAD_ENABLED:false}}
|
||||
access-key: ${DEBUG_EML_UPLOAD_TEST_ACCESS_KEY:${DEBUG_EML_UPLOAD_ACCESS_KEY:}}
|
||||
max-file-bytes: ${DEBUG_EML_UPLOAD_TEST_MAX_FILE_BYTES:${DEBUG_EML_UPLOAD_MAX_FILE_BYTES:10485760}}
|
||||
|
||||
reservation:
|
||||
demo-data:
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
-- M004 Debug EML 上传链路:记录单次上传、SourceMessage 捕获和 SuperAgent Open API 调用结果。
|
||||
CREATE TABLE platform_debug_eml_superagent_run (
|
||||
id BIGINT NOT NULL COMMENT 'Debug EML 运行 ID',
|
||||
hotel_id VARCHAR(64) NOT NULL COMMENT '酒店或业务上下文 ID',
|
||||
run_label VARCHAR(128) NULL COMMENT '前端传入的调试标签,仅用于联调筛选和排查',
|
||||
source_message_id BIGINT NULL COMMENT '关联的内部 SourceMessage Inbox ID,写入成功后回填',
|
||||
external_message_id VARCHAR(256) NULL COMMENT 'Debug 链路生成或解析出的外部邮件 ID',
|
||||
external_conversation_id VARCHAR(256) NULL COMMENT 'Debug 链路生成或解析出的外部邮件会话 ID',
|
||||
original_file_name VARCHAR(512) NULL COMMENT '原始上传 .eml 文件名的安全清洗结果',
|
||||
original_eml_oss_url VARCHAR(2048) NULL COMMENT '原始 .eml 文件在阿里云 OSS 上的访问 URL',
|
||||
original_eml_sha256 CHAR(64) NULL COMMENT '原始 .eml 文件 SHA-256,用于排查重复和内容追溯',
|
||||
payload_json LONGTEXT NULL COMMENT '发送给 SuperAgent 的 AgentBus-like 邮件 payload JSON,不包含 Secret',
|
||||
superagent_session_id VARCHAR(128) NULL COMMENT 'SuperAgent Open API session ID',
|
||||
superagent_run_id VARCHAR(128) NULL COMMENT 'SuperAgent 返回的 run ID',
|
||||
superagent_profile_id VARCHAR(128) NULL COMMENT 'SuperAgent 实际使用的 profile ID',
|
||||
superagent_profile_version_id VARCHAR(128) NULL COMMENT 'SuperAgent 实际使用的 profile version ID',
|
||||
superagent_model_name VARCHAR(128) NULL COMMENT 'SuperAgent 响应元数据中的模型名称',
|
||||
superagent_raw_answer LONGTEXT NULL COMMENT 'SuperAgent 最终 AI 文本回答,用于 Debug 展示和排查',
|
||||
superagent_parsed_json LONGTEXT NULL COMMENT '后端从最终回答中解析出的 JSON,无法解析时为空',
|
||||
superagent_input_tokens INT NULL COMMENT 'SuperAgent 输入 token 数,供应商返回时保存',
|
||||
superagent_output_tokens INT NULL COMMENT 'SuperAgent 输出 token 数,供应商返回时保存',
|
||||
superagent_total_tokens INT NULL COMMENT 'SuperAgent 总 token 数,供应商返回时保存',
|
||||
run_status VARCHAR(32) NOT NULL COMMENT 'Debug 运行状态:CREATED、SOURCE_CAPTURED、SUPERAGENT_SUCCEEDED、SUPERAGENT_FAILED、FAILED',
|
||||
safe_error_summary VARCHAR(512) NULL COMMENT '安全错误摘要,不包含正文、HTML、Secret 或附件签名 URL',
|
||||
created_at DATETIME(6) NOT NULL COMMENT '记录创建时间,按 UTC 写入',
|
||||
updated_at DATETIME(6) NOT NULL COMMENT '记录更新时间,按 UTC 写入',
|
||||
PRIMARY KEY (id),
|
||||
KEY idx_debug_eml_hotel_time (hotel_id, created_at),
|
||||
KEY idx_debug_eml_source_message (source_message_id),
|
||||
KEY idx_debug_eml_status_time (run_status, created_at)
|
||||
) COMMENT='Debug EML 上传到 SuperAgent 调试运行表,记录来源捕获、OSS 转存和 AI 调用结果';
|
||||
Reference in New Issue
Block a user