Files
EasyFlow/easyflow-starter/easyflow-starter-all/src/main/resources/application.yml
陈子默 ff863e3c27 feat: 增加 EasyFlow license 启动校验能力
- 新增 license 解析、验签、机器指纹校验与失败日志分流

- 支持开发态 classpath 读取与打包排除 lic 资源
2026-05-10 17:07:24 +08:00

270 lines
7.1 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
server:
port: 8111
address: 0.0.0.0
shutdown: graceful
# 启用HTTP响应压缩
compression:
enabled: true
servlet:
encoding:
enabled: true
charset: UTF-8 # 必须设置 UTF-8避免 WebFlux 流式返回AI 场景)会乱码问题
force: true
spring:
profiles:
active: dev
lifecycle:
timeout-per-shutdown-phase: 30s
datasource:
# 注意useInformationSchema=true 是必须的,用于支持 MyBatis-Flex 正确读取表注释。
url: jdbc:mysql://127.0.0.1:33306/easyflow?useInformationSchema=true&characterEncoding=utf-8
username: root
password: root
flyway:
enabled: true
locations: classpath:db/migration/mysql
baseline-on-migrate: false
validate-on-migrate: true
clean-disabled: true
data:
redis:
host: 127.0.0.1
port: 36379
database: 0
password: ${REDIS_PASSWORD:123456}
timeout: 5s
servlet:
multipart:
max-file-size: 100MB
max-request-size: 100MB
web:
resources:
# 示例windows【file: C:\easyflow\attachment】 linux【file: /www/easyflow/attachment】
static-locations: file:/Users/slience/postgraduate/easyflow/attachment
mvc:
pathmatch:
matching-strategy: ant_path_matcher
# 静态资源路径,用于访问本地文件
# 注意,这里要和下面的 easyflow.storage.local.prefix 后面的路径 /attachment 保持一致!
static-path-pattern: /attachment/**
# quartz 相关配置
quartz:
startup-delay: 1
job-store-type: jdbc
jdbc:
platform: mysql
initialize-schema: never
properties:
org:
quartz:
scheduler:
instanceName: easyflowScheduler
instanceId: AUTO
jobStore:
misfireThreshold: 1000
isClustered: true
clusterCheckinInterval: 15000
# 如果数据库大小写敏感可将ddl里的相关表名改为大写
tablePrefix: TB_QRTZ_
driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
threadPool:
threadCount: 20
threadPriority: 5
threads:
virtual:
enabled: true
easyflow:
license:
location: classpath:easyflow.lic
chat:
# SSE 超时时间(毫秒),默认 10 分钟,可按需调整
sse-timeout-ms: 600000
cache:
session-list-ttl: 300s
session-summary-ttl: 600s
session-tail-ttl: 1800s
tail-size: 50
sync:
#是否启用分析数据同步,启用分析数据库后,此处应同步开启
enabled: true
batch-size: 500
fixed-delay: 30000
repair-lookback-days: 3
retention-months: 3
mq:
enabled: true
type: redis
redis:
database: 1
stream-prefix: easyflow:mq
chat-persist-shard-count: 4
consumer-batch-size: 200
consumer-block-timeout: 2000ms
pending-claim-idle: 60000ms
max-retry: 16
analytical-db:
# 是否启用分析数据库
enabled: true
url: jdbc:clickhouse://114.66.22.180:38123/easyflow_dev?jdbc_ignore_unsupported_values=true&socket_timeout=30000&compress=false&ssl=false
username: easyflow
password: 123456
driver-class-name: com.clickhouse.jdbc.ClickHouseDriver
pool:
max-pool-size: 10
min-idle: 1
connection-timeout: 5000
validation-timeout: 3000
idle-timeout: 600000
max-lifetime: 1800000
flyway:
analytical-db:
locations: classpath:db/migration/analyticaldb
table: flyway_schema_history_analytical_db
baseline-on-migrate: false
validate-on-migrate: true
# 语音播放、识别服务(阿里云)
audio:
type: aliAudioService
ali:
access-key-id: xxx
access-key-secret: xxx
app-key: xxx
voice: siyue
login:
# 放行接口路径
excludes: /api/v1/auth/**, /static/**, /userCenter/auth/**, /userCenter/public/**
dev-bypass:
enabled: true
account: admin
loopback-only: true
storage:
# local / xFileStorage
type: xFileStorage
# 本地文件存储配置(兼容保留,可作为回退)
local:
# 示例windows【C:\easyflow\attachment】 linux【/www/easyflow/attachment】
root: /Users/slience/postgraduate/easyflow/attachment
# 后端接口地址,用于拼接完整 url
prefix: http://localhost:8111/attachment
# xFileStorage存储文件配置
# 文档https://x-file-storage.xuyanwu.cn/
dromara:
x-file-storage:
default-platform: minio-1
minio:
- platform: minio-1
enable-storage: true
access-key: easyflowadmin
secret-key: easyflowadmin123
end-point: http://127.0.0.1:39000
bucket-name: easyflow
# minio 对象对外访问链接
domain: http://127.0.0.1:39000/easyflow/
base-path: attachment
# easy-agents 文档解析统一配置
easy-agents:
document:
ocr:
provider: mineru
mineru:
# 统一文档解析桥接层直接复用 easy-agents 的 provider 配置,不在 easyflow 再复制一套配置体系
base-url: https://hub.wust.edu.cn/modelServer/mineru-api
default-lang-list:
- ch
# 自定义节点相关配置
node:
# 文件内容提取节点,默认使用简单文档读取器,可自行实现 ReadDocService
reader: 'defaultReader'
# gitee 文档读取的实现需要配置gitee的appKey
gitee:
appKey: 'xxx'
# 搜索引擎节点 - 目前只支持博查搜索
bochaai:
apiKey: 'xxx'
code-engine:
python:
enabled: true
command: python3
timeout-ms: 5000
max-output-bytes: 262144
working-dir: /tmp
jetcache:
# 缓存类型可选值local/remote/both CacheConfig 类初始化
cacheType: remote
statIntervalMinutes: 15
areaInCacheName: false
local:
default:
type: linkedhashmap
keyConvertor: fastjson
remote:
default:
type: redis
keyConvertor: fastjson2
broadcastChannel: easyflow-cache
valueEncoder: java
valueDecoder: java
poolConfig:
minIdle: 5
maxIdle: 20
maxTotal: 50
host: ${spring.data.redis.host}
port: ${spring.data.redis.port}
password: ${spring.data.redis.password}
database: ${spring.data.redis.database}
# 多路召回搜索引擎配置
rag:
# 搜索引擎选择lucene/ES
engine: lucene
# 向量数据库配置
milvus:
uri: http://127.0.0.1:39530
databaseName: default
token:
username: easyflowadmin
password: easyflowadmin123
autoCreateCollection: true
# 搜索引擎配置
searcher:
lucene:
indexDirPath: /Users/slience/data/easyflow/luceneKnowledge
elastic:
host: http://127.0.0.1:39200
userName: elastic
password: elastic
indexName: easyflow
logging:
file:
path: .logs/
name: easyflow.log
level:
root: info
tech.easyflow.ai: debug
# 行为验证码配置
captcha:
# 初始化默认资源
init-default-resource: true
# 开启二次验证
secondary:
enabled: true
management:
endpoint:
health:
probes:
enabled: true
show-details: always
endpoints:
web:
exposure:
include: health,info