# Tomcat
server:
  port: 9898

# Spring
spring: 
  application:
    # 应用名称
    name: service-eg
  profiles:
    # 环境配置
    active: dev
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: usky-cloud-nacos:8848
      config:
        # 配置中心地址
        server-addr: usky-cloud-nacos:8848
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}

# SmartFace 人脸识别配置
smartface:
  # 启用人脸识别功能
  enabled: true
  # 是否延迟加载模型（true=首次使用时加载，false=启动时加载）
  # 如果模型文件还未准备好，建议设置为true，避免启动失败
  lazy-load: true
  # 人脸检测配置
  detection:
    # 模型类型: MTCNN, RETINA_FACE, YOLOV5_FACE_320, YOLOV5_FACE_640
    model-type: MTCNN
    # 人脸检测模型路径（留空，将自动从classpath复制到临时目录）
    model-path:
    # 置信度阈值
    confidence-threshold: 0.5
    # NMS阈值
    nms-threshold: 0.4
    # 设备类型: CPU, GPU
    device: CPU
  # 人脸识别配置
  recognition:
    # 模型类型: INSIGHT_FACE_IRSE50_MODEL, INSIGHT_FACE_MOBILE_FACENET_MODEL, FACE_NET_MODEL
    model-type: INSIGHT_FACE_IRSE50_MODEL
    # 人脸识别模型路径（留空，将自动从classpath复制到临时目录）
    model-path:
    # 是否裁剪人脸
    crop-face: true
    # 是否启用人脸对齐
    align: true
    # 相似度阈值（0-1之间，推荐0.62）
    similarity-threshold: 0.62
    # 设备类型: CPU, GPU
    device: CPU
  # 向量数据库配置
  vector-db:
    # 数据库类型: SQLITE, MILVUS
    type: SQLITE
    # SQLite数据库文件路径
    sqlite-path: ./data/face_db.sqlite
    # Milvus配置（如果使用Milvus）
    milvus:
      host: 127.0.0.1
      port: 19530
      collection-name: face_collection

# 服务端调用官方 adb（platform-tools 需在 PATH）；详见 EgDeviceAdbController：/egDevice/adb/connect 等
eg:
  adb:
    executable: adb
    command-timeout-seconds: 45
    screenshot-timeout-seconds: 60
    tcpip-retry-after-connect: true
    # 截屏前先 adb connect，避免服务端 adb 未登记设备 serial
    screenshot-connect-first: true

  # 远程升级仅 MQTT 下发（与终端 connectWithDevice 订阅主题一致）
  mqtt:
    url: tcp://47.98.201.73:1883
    username: usky
    password: usky
    # 须含 {deviceId}，与终端 deviceId（如 getSerial()）一致
    command-topic-template: usky/device/{deviceId}/command
    qos: 1
    # 下行 JSON 的 type 字段，终端 onCommand 可按此分支
    command-type: egRemoteUpgrade