# =============================== #=bytedesk # =============================== bytedesk.debug=true bytedesk.edition=community bytedesk.version=0.6.5 # enable custom config: name, logo, description bytedesk.custom.enabled=false # default null use default name bytedesk.custom.name= # default null use default logo bytedesk.custom.logo= # default null use: Chat As A Service bytedesk.custom.description= # show right corner chat bytedesk.custom.show-right-corner-chat=true # Admin config # admin email bytedesk.admin.email=admin@email.com # admin password bytedesk.admin.password=admin # create/import member default password bytedesk.admin.password-default=123456 # admin nickname bytedesk.admin.nickname=SuperAdmin # admin mobile bytedesk.admin.mobile=13345678000 # white list mobile bytedesk.admin.mobile-whitelist=18888888000,18888888001,18888888002,18888888003,18888888004,18888888005 # white list email bytedesk.admin.email-whitelist=100@email.com,101@email.com,102@email.com,103@email.com,104@email.com,105@email.com # validate code for white list mobile and email, otherwise random 6 digits bytedesk.admin.validate-code=123456 # allow register bytedesk.admin.allow-register=true # force validate mobile bytedesk.admin.force-validate-mobile=true # force validate email bytedesk.admin.force-validate-email=true # Organization config # organization name bytedesk.organization.name=MyCompany # organization code bytedesk.organization.code=bytedesk # Features config # enable java ai bytedesk.features.java-ai=true # enable python ai bytedesk.features.python-ai=false # send email by javamail, valid value: javamail/aliyun bytedesk.features.email-type=javamail # avatar base url:http://127.0.0.1:9003 bytedesk.features.avatar-base-url= # CORS config bytedesk.cors.allowed-origins=* # JWT config bytedesk.jwt.secret-key=1dfaf8d004207b628a9a6b859c429f49a9a7ead9fd8161c1e60847aeef06dbd2 # 30 days, milliseconds bytedesk.jwt.expiration=2592000000 # 60 days, milliseconds bytedesk.jwt.refresh-token-expiration=5184000000 # Cache config # 0: no cache, 1: caffeine cache, 2: caffeine + redis cache bytedesk.cache.level=0 # cache prefix bytedesk.cache.prefix=bytedeskim # redis stream key bytedesk.cache.redis-stream-key=bytedeskim:stream # bytedesk.redis-pubsub-channel=bytedeskim:pubsub # Upload config, no '/' bytedesk.upload.type=local # upload dir bytedesk.upload.dir=uploads # upload url bytedesk.upload.url=http://127.0.0.1:9003 # Knowledge base config # theme: default/eduport/social/kbdoc bytedesk.kbase.theme=default # html path bytedesk.kbase.html-path=helpcenter # bytedesk.kbase.template-path=classpath:/templates/ftl/kbase # api url bytedesk.kbase.api-url=http://127.0.0.1:9003 # =============================== #=com.bytedesk.socket module # =============================== # enable socket bytedesk.socket.enabled=true # socket host bytedesk.socket.host=0.0.0.0 # socket port # bytedesk.socket.port=9883 # websocket port bytedesk.socket.websocket-port=9885 # leak detector level bytedesk.socket.leak-detector-level=SIMPLE # parent event loop group thread count bytedesk.socket.parent-event-loop-group-thread-count=1 # child event loop group thread count bytedesk.socket.child-event-loop-group-thread-count=8 # max payload size bytedesk.socket.max-payload-size=10240 # =============================== #=com.bytedesk.cluster module # =============================== # enable cluster bytedesk.cluster.enabled=false # cluster nodes bytedesk.cluster.nodes=127.0.0.1,127.0.0.2 # bytedesk.cluster.host=230.0.0.0 # bytedesk.cluster.port=6781 # bytedesk.cluster.client-port=6771 # =============================== #= push # =============================== # apns bundle id bytedesk.push.apns.bundle-id=com.kefux.im # apns p12 url bytedesk.push.apns.p12-url=123.p12 # apns p12 password bytedesk.push.apns.p12-password=123456 # =============================== # redis pool config # =============================== bytedesk.redis.pool-config.maxIdle=64 bytedesk.redis.pool-config.maxTotal=64 bytedesk.redis.pool-config.minIdle=8 # =============================== # redis om # =============================== redis.om.spring.ai.enabled=false # =============================== #=logging # https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#appendix.application-properties.core # 五种level:TRACE、DEBUG、INFO、WARN和ERROR # =============================== # 会打印sqlLog # debug=true # trace=true logging.level.web=DEBUG logging.level.org.springframework.security.web.FilterChainProxy=DEBUG logging.level.org.springframework.web.socket=INFO # logging.level.org.springframework.messaging=WARN # logging.level.org.springframework.web=INFO # logging.level.org.springframework.security=INFO # logging.level.root=DEBUG logging.level.com.bytedesk.ai=DEBUG logging.level.com.bytedesk.core=DEBUG logging.level.com.bytedesk.kbase=DEBUG logging.level.com.bytedesk.service=DEBUG logging.level.com.bytedesk.social=DEBUG logging.level.com.bytedesk.team=DEBUG logging.level.com.bytedesk.ticket=DEBUG logging.level.com.bytedesk.starter=DEBUG logging.level.org.springframework.web.client.DefaultRestClient=WARN logging.file.name=logs/bytedeskim.log logging.file.max-size=10MB logging.file.max-history=5 # 2024-09-19T13:07:39.031+08:00 INFO 4043 --- [bytedesk] [ main] liquibase.util : UPDATE SUMMARY # logging.pattern.console=[TRACEID:%X{traceId}] %clr(%5p) %d{HH:mm:ss.SSS} %class{-1}: %msg%xEx%n logging.pattern.console=[TRACEID:%X{traceId}] %clr(%d{${LOG_DATEFORMAT_PATTERN:yyyy-MM-dd HH:mm:ss.SSS}}){faint} %clr(${LOG_LEVEL_PATTERN:%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx} logging.pattern.file=[TRACEID:%X{traceId}]-%clr(%d{${LOG_DATEFORMAT_PATTERN:yyyy-MM-dd HH:mm:ss.SSS}}){faint}-%clr(${LOG_LEVEL_PATTERN:%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx} # =============================== #= alibaba druid # http://127.0.0.1:9003/druid # https://github.com/alibaba/druid/wiki/DruidDataSource%E9%85%8D%E7%BD%AE%E5%B1%9E%E6%80%A7%E5%88%97%E8%A1%A8 # =============================== spring.datasource.type=com.alibaba.druid.pool.DruidDataSource # druid properties spring.datasource.druid.initial-size=10 spring.datasource.druid.min-idle=10 spring.datasource.druid.max-active=100 spring.datasource.druid.max-wait=60000 spring.datasource.druid.time-between-eviction-runs-millis=60000 spring.datasource.druid.min-evictable-idle-time-millis=300000 spring.datasource.druid.validation-query=SELECT 'x' spring.datasource.druid.test-while-idle=true spring.datasource.druid.test-on-borrow=false spring.datasource.druid.test-on-return=false spring.datasource.druid.stat-view-servlet.enabled=true spring.datasource.druid.stat-view-servlet.url-pattern=/druid/* spring.datasource.druid.stat-view-servlet.login-username=admin@email.com spring.datasource.druid.stat-view-servlet.login-password=admin # spring.datasource.druid.stat-view-servlet.reset-enable=false # spring.datasource.druid.stat-view-servlet.allow=127.0.0.1 # spring.datasource.druid.stat-view-servlet.deny= spring.datasource.druid.filters=config,stat spring.datasource.druid.filter.stat.log-slow-sql=true spring.datasource.druid.filter.stat.slow-sql-millis=1 # spring.datasource.druid.web-stat-filter.enabled=true # spring.datasource.druid.web-stat-filter.url-pattern=/* # spring.datasource.druid.web-stat-filter.exclusions=*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/* # =============================== #= h2 # https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#appendix.application-properties.data # =============================== # http://127.0.0.1:9003/h2-console # spring.h2.console.enabled=true # spring.h2.console.path=/h2-console # spring.h2.console.settings.trace=false # spring.h2.console.settings.web-allow-others=false # # # # spring.datasource.url=jdbc:h2:mem:testdb # spring.datasource.url=jdbc:h2:file:./h2db/weiyuim # spring.datasource.driverClassName=org.h2.Driver # spring.datasource.username=sa # spring.datasource.password=sa # spring.jpa.database-platform=org.hibernate.dialect.H2Dialect # spring.jpa.defer-datasource-initialization=true # =============================== #= mysql # https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#appendix.application-properties.data # =============================== spring.datasource.url=jdbc:mysql://127.0.0.1:3306/bytedesk?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true # spring.datasource.url=jdbc:mysql://mysql:3306/bytedesk # docker spring.datasource.username=root spring.datasource.password=r8FqfdbWUaN3 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.jpa.database=mysql spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect spring.quartz.properties.org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate # =============================== #= postgresql # https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#appendix.application-properties.data # 因本地占用,将5432改为5433 # DATABASE_URL="postgresql://postgres:r8FqfdbWUaN3@localhost:5433/bytedesk" # =============================== # spring.datasource.url=jdbc:postgresql://127.0.0.1:5433/bytedesk # spring.datasource.username=postgres # spring.datasource.password=r8FqfdbWUaN3 # spring.datasource.driver-class-name=org.postgresql.Driver # spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect # spring.quartz.properties.org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate # =============================== #=spring-boot-starter-data-jpa # https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#appendix.application-properties.data # =============================== # 生产环境关闭update模式,使用validate # update/none/validate/create/create-drop spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=false spring.jpa.properties.hibernate.format_sql=false spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true # https://www.cnblogs.com/suizhikuo/p/16997225.html spring.jackson.date-format=yyyy-MM-dd HH:mm:ss spring.jackson.time-zone=GMT+8 # =============================== #=spring-boot-starter-cache # https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#appendix.application-properties.cache # =============================== # disable caching: none, https://docs.spring.io/spring-boot/docs/3.2.0/reference/htmlsingle/#io.caching.provider.none # https://docs.spring.io/spring-boot/reference/io/caching.html # https://docs.spring.io/spring-framework/reference/integration/cache/annotations.html#cache-spel-context spring.cache.type=none # spring.cache.type=redis # spring.cache.type=caffeine # spring.cache.caffeine.spec=maximumSize=100,expireAfterAccess=5m # spring.cache.redis.cache-null-values=false spring.cache.redis.use-key-prefix=true spring.cache.redis.key-prefix=bytedeskim: # # =============================== #=spring-boot-starter-data-redis # https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#appendix.application-properties.data # REDIS_URL="redis://:qfRxz3tVT8Nh@127.0.0.1:6379/0" # =============================== spring.data.redis.database=0 spring.data.redis.host=127.0.0.1 # spring.data.redis.host=redis/redis-stack-server # docker spring.data.redis.port=6379 spring.data.redis.password=qfRxz3tVT8Nh # disable redis repository spring.data.redis.repositories.enabled=false # =============================== #=spring-boot-starter-data-rest # http://127.0.0.1:9003/rest/api/profile # https://docs.spring.io/spring-data/rest/reference/index.html # https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#application-properties.data.spring.data.rest.base-path # =============================== spring.data.rest.base-path=/api # spring.data.rest.default-page-size=20 # spring.data.rest.max-page-size= # spring.data.rest.page-param-name=page # spring.data.rest.limit-param-name=size # spring.data.rest.sort-param-name=sort spring.data.rest.return-body-on-create=true spring.data.rest.return-body-on-update=true # spring.data.rest.sort-param-name= # =============================== #=spring-boot-starter-data-security # =============================== # properties: https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#appendix.application-properties.security # spring.security.basic.path=/swagger-ui.html # spring.security.basic.enabled=true # spring.security.user.name=admin@email.com # spring.security.user.password=admin # =============================== #=spring-boot-starter-actuator # https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#appendix.application-properties.actuator # https://docs.spring.io/spring-boot/docs/current/actuator-api/htmlsingle/#prometheus # https://docs.micrometer.io/micrometer/reference/implementations/prometheus.html # http://127.0.0.1:9003/actuator # =============================== management.endpoints.web.base-path=/actuator management.endpoints.web.exposure.include=* management.metrics.tags.application=bytedesk # management.info.env.enabled=true # http://127.0.0.1:9003/actuator/prometheus management.endpoint.prometheus.enabled=true management.prometheus.metrics.export.enabled=true # # =============================== #=spring-boot-starter-admin-client # https://github.com/codecentric/spring-boot-admin?tab=readme-ov-file # https://docs.spring-boot-admin.com/current/getting-started.html # =============================== spring.boot.admin.client.url=http://127.0.0.1:9003 # spring.boot.admin.ui.public-url=http://127.0.0.1:9003/actuator/admin # =============================== #=springdoc # https://springdoc.org/#properties # http://127.0.0.1:9003/swagger-ui/index.html # http://127.0.0.1:9003/v3/api-docs # =============================== springdoc.show-actuator=false # swagger-ui # http://127.0.0.1:9003/swagger-ui/index.html springdoc.swagger-ui.enabled=true springdoc.swagger-ui.path=/index.html # api-docs springdoc.api-docs.enabled=true springdoc.api-docs.path=/v3/api-docs # knife4j # http://127.0.0.1:9003/doc.html knife4j.enabled=true knife4j.setting.language=zh_cn # =============================== #=spring-boot-devtools # https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#appendix.application-properties.devtools # =============================== spring.devtools.restart.poll-interval=2s spring.devtools.restart.quiet-period=1s # # =============================== # = Apache ActiveMQ Artemis logger levels # =============================== # https://activemq.apache.org/components/artemis/documentation/latest/logging.html # https://codeaches.com/spring-boot/embedded-activemq-artemis-jms-broker logging.level.org.apache.activemq.artemis.core.server=WARN logging.level.org.apache.activemq.artemis.utils=WARN logging.level.org.apache.activemq.artemis.jms=WARN logging.level.org.apache.activemq.audit.base=WARN logging.level.org.apache.activemq.audit.message=WARN # =============================== # = spring-boot-starter-artemis # = jms artemis # https://spring.io/guides/gs/messaging-jms # https://docs.spring.io/spring-boot/reference/messaging/jms.html # https://activemq.apache.org/components/artemis/documentation/latest/index.html # spring.jms.pub-sub-domain=true # =============================== spring.artemis.mode=embedded # spring.artemis.mode=native # spring.artemis.broker-url=tcp://127.0.0.1:61617 # spring.artemis.user=admin # spring.artemis.password=admin # =============================== # spring mail # https://springdoc.cn/spring-boot/application-properties.html#appendix.application-properties.mail # =============================== spring.mail.host=smtp.qq.com spring.mail.port=465 # spring.mail.username= # spring.mail.password= spring.mail.data-encoding=UTF-8 spring.mail.protocol=smtps spring.mail.properties.mail.smtp.connectiontimeout=5000 spring.mail.properties.mail.smtp.timeout=3000 spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.starttls.enable=true spring.mail.properties.mail.smtp.starttls.required=true # # =============================== # = Quartz # https://github.com/quartz-scheduler/quartz # https://docs.spring.io/spring-boot/reference/io/quartz.html # https://medium.com/@ChamithKodikara/spring-boot-2-quartz-2-scheduler-integration-a8eaaf850805 # SpringBoot官方说明:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-quartz.html # Quartz官方文档:https://www.quartz-scheduler.org/documentation/2.3.1-SNAPSHOT/tutorials/index.html # =============================== spring.quartz.job-store-type=jdbc # # 3种模式: ALWAYS、EMBEDDED、NEVER # 首次启动时创建表,但每次都会清空数据,初始化之后,需要修改为never spring.quartz.jdbc.initialize-schema=always # spring.quartz.jdbc.initialize-schema=never spring.quartz.wait-for-jobs-to-complete-on-shutdown=true # spring.quartz.properties.org.quartz.scheduler.instanceName=BytedeskScheduler spring.quartz.properties.org.quartz.scheduler.instanceId=AUTO #spring.quartz.properties.org.quartz.scheduler.instanceIdGenerator.class=io.xiaper.schedule.util.CustomQuartzInstanceIdGenerator # spring.quartz.properties.org.quartz.jobStore.isClustered=true spring.quartz.properties.org.quartz.jobStore.tablePrefix=QRTZ_ # spring.quartz.properties.org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX spring.quartz.properties.org.quartz.jobStore.class=org.springframework.scheduling.quartz.LocalDataSourceJobStore spring.quartz.properties.org.quartz.jobStore.clusterCheckinInterval=10000 spring.quartz.properties.org.quartz.jobStore.useProperties=false # spring.quartz.properties.org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool spring.quartz.properties.org.quartz.threadPool.threadCount=5 spring.quartz.properties.org.quartz.threadPool.threadPriority=5 spring.quartz.properties.org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread=true # # =============================== # = multipart file uploads # =============================== spring.servlet.multipart.enabled=true # Write files to disk if the file size is more than 2KB. spring.servlet.multipart.file-size-threshold=2KB # The intermediate disk location where the uploaded files are written # jetty里面开启这个配置会报错 # spring.servlet.multipart.location=/tmp # Maximum file size that can be uploaded spring.servlet.multipart.max-file-size=100MB # Maximum allowed multipart request size spring.servlet.multipart.max-request-size=100MB # =============================== # = spring-session-data-redis # https://docs.spring.io/spring-session/reference/guides/boot-redis.html # =============================== # server.servlet.session.cookie.name=MY_SESSION_COOKIE # server.servlet.session.cookie.max-age=3600 # server.servlet.session.cookie.domain # server.servlet.session.cookie.path # not working? # spring.session.redis.namespace=bytedeskim # # =============================== # = ai # =============================== # spring.mvc.async.request-timeout=10000 logging.level.org.springframework.ai.chat.client.advisor=DEBUG # zhipuai # https://open.bigmodel.cn/overview # https://docs.spring.io/spring-ai/reference/api/embeddings/zhipuai-embeddings.html # https://docs.spring.io/spring-ai/reference/api/chat/zhipuai-chat.html # spring.ai.zhipuai.base-url=https://open.bigmodel.cn/api/paas # 申请智谱AI API Key:https://www.bigmodel.cn/usercenter/proj-mgmt/apikeys # spring.ai.zhipuai.chat.base-url=URL_ADDRESS spring.ai.zhipuai.api-key=f03410085cb038ec41098ae7ca6ef047.TrJMIwAULDG12345 spring.ai.zhipuai.chat.enabled=false # 免费模型:https://open.bigmodel.cn/dev/api#glm-4 spring.ai.zhipuai.chat.options.model=glm-4-flash spring.ai.zhipuai.chat.options.temperature=0.7 # https://docs.spring.io/spring-ai/reference/api/embeddings/zhipuai-embeddings.html spring.ai.zhipuai.embedding.enabled=false # spring.ai.zhipuai.embedding.base-url=https://api.bigmodel.cn # spring.ai.zhipuai.embedding.api-key=sk-xxx # spring.ai.zhipuai.embedding.options.model=embedding-2 # # ollama: # ollama pull qwen2.5:1.5b # https://docs.spring.io/spring-ai/reference/api/chat/ollama-chat.html spring.ai.ollama.base-url=http://127.0.0.1:11434 spring.ai.ollama.chat.enabled=true spring.ai.ollama.chat.options.model=qwen2.5:1.5b spring.ai.ollama.chat.options.temperature=0.7 # spring.ai.ollama.chat.options.numa=false # https://docs.spring.io/spring-ai/reference/api/embeddings/ollama-embeddings.html spring.ai.ollama.embedding.enabled=true # https://github.com/ollama/ollama?tab=readme-ov-file#model-library spring.ai.ollama.embedding.options.model=mistral # spring.ai.ollama.embedding.options.numa=false # deepseek # https://deepseek.com/ # https://docs.spring.io/spring-ai/reference/api/chat/deepseek-chat.html spring.ai.deepseek.base-url=https://api.deepseek.com spring.ai.deepseek.api-key=sk-xxx spring.ai.deepseek.chat.enabled=false spring.ai.deepseek.chat.options.model=deepseek-chat spring.ai.deepseek.chat.options.temperature=0.7 # openai # https://mp.weixin.qq.com/s/QU4rE1eysKMbQOKI8-9TFg # https://api-docs.deepseek.com/zh-cn/ spring.ai.openai.base-url=https://api.openai.com spring.ai.openai.api-key=sk-xxx spring.ai.openai.chat.enabled=false spring.ai.openai.chat.options.model=gpt-4o # spring.ai.openai.chat.options.model=gpt-4o-mini spring.ai.openai.chat.options.temperature=0.7 # The DeepSeek API doesn't support embeddings, so we need to disable it. spring.ai.openai.embedding.enabled=false spring.ai.openai.image.enabled=false spring.ai.openai.audio.transcription.enabled=false spring.ai.openai.audio.speech.enabled=false spring.ai.openai.moderation.enabled=false # spring.ai.openai.api-key=sk-xxx # spring.ai.openai.endpoint=https://api.openai.com # spring ai alibaba # https://java2ai.com/docs/dev/get-started/ # 阿里云百炼大模型获取api key: # https://bailian.console.aliyun.com/?apiKey=1#/api-key # 阿里云百炼大模型模型列表: # https://bailian.console.aliyun.com/?spm=a2c4g.11186623.0.0.11c67980m5X2VR#/model-market spring.ai.dashscope.api-key=sk-xxx spring.ai.dashscope.chat.enabled=true spring.ai.dashscope.chat.options.model=deepseek-r1 spring.ai.dashscope.chat.options.temperature=0.7 spring.ai.dashscope.chat.options.topP=3 spring.ai.dashscope.audio.transcription.enabled=false spring.ai.dashscope.image.enabled=false spring.ai.dashscope.embedding.enabled=false spring.ai.dashscope.audio.synthesis.enabled=false spring.ai.nacos.prompt.template.enabled=false # azure openai spring.ai.azure.openai.chat.enabled=false spring.ai.azure.openai.api-key=YOUR_API_KEY spring.ai.azure.openai.endpoint=YOUR_ENDPOINT # spring.ai.azure.openai.chat.options.deployment-name=gpt-4o # spring.ai.azure.openai.chat.options.temperature=0.7 spring.ai.azure.openai.embedding.enabled=false spring.ai.azure.openai.image.enabled=false # transformers spring.ai.embedding.transformer.enabled=false # spring.ai.embedding.transformer.onnx.modelUri=https://huggingface.co/intfloat/e5-small-v2/resolve/main/model.onnx # spring.ai.embedding.transformer.tokenizer.uri=https://huggingface.co/intfloat/e5-small-v2/raw/main/tokenizer.json # mistralai spring.ai.mistralai.chat.enabled=false spring.ai.mistralai.embedding.enabled=false # qianfan spring.ai.qianfan.chat.enabled=false spring.ai.qianfan.embedding.enabled=false # bedrock spring.ai.bedrock.converse.chat.enabled=false spring.ai.bedrock.cohere.chat.enabled=false spring.ai.bedrock.cohere.embedding.enabled=false # moonshot # https://docs.spring.io/spring-ai/reference/api/chat/moonshot-chat.html spring.ai.moonshot.chat.enabled=false # spring.ai.moonshot.base-url=api.moonshot.cn spring.ai.moonshot.api-key=sk-xxx # spring.ai.moonshot.api-key=sk-placeholder # 或 export SPRING_AI_MOONSHOT_API_KEY= # spring.ai.moonshot.chat.base-url= # spring.ai.moonshot.chat.api-key= # 三种model: moonshot-v1-128k、moonshot-v1-32k、moonshot-v1-8k spring.ai.moonshot.chat.options.model=moonshot-v1-8k spring.ai.moonshot.chat.options.temperature=0.7 # minimax # https://platform.minimaxi.com/user-center/basic-information/interface-key spring.ai.minimax.chat.enabled=true spring.ai.minimax.api-key=sk-xxx # spring.ai.minimax.api-key=placeholder # spring.ai.minimax.chat.options.model=minimax-v1 # https://docs.spring.io/spring-ai/reference/api/vectordbs/pgvector.html#pgvector-properties # spring.ai.vectorstore.pgvector.index-type=HNSW # spring.ai.vectorstore.pgvector.distance-type=COSINE_DISTANCE # spring.ai.vectorstore.pgvector.dimensions=1536 # # https://docs.spring.io/spring-ai/reference/api/vectordbs/redis.html spring.ai.vectorstore.redis.enabled=true spring.ai.vectorstore.redis.initialize-schema=true # spring.ai.vectorstore.redis.uri=redis://127.0.0.1:6379 spring.ai.vectorstore.redis.index-name=bytedesk_vs_index spring.ai.vectorstore.redis.prefix=bytedesk_vs_prefix: # spring.ai.vectorstore.redis.batching-strategy=TOKEN_COUNT # Optional: Controls how documents are batched for embedding # weaviate spring.ai.vectorstore.weaviate.enabled=false # spring.ai.vectorstore.weaviate.host= # spring.ai.vectorstore.weaviate.scheme= # spring.ai.vectorstore.weaviate.api-key= # spring.ai.vectorstore.weaviate.index-name= # spring.ai.vectorstore.weaviate.prefix= # =============================== # = spring ai mcp # https://contribute.liquibase.com/extensions-channels/directory/integration-docs/springboot/configuration/ # =============================== # https://docs.spring.io/spring-ai/reference/api/mcp/mcp-client-boot-starter-docs.html spring.ai.mcp.client.enabled=false # logging.level.org.springframework.ai.mcp=WARN # logging.level.org.springframework.ai.mcp.client.transport.StdioClientTransport=WARN # logging.level.org.springframework.ai.mcp.samples.brave=INFO # logging.level.io.modelcontextprotocol.client=WARN # logging.level.io.modelcontextprotocol.spec=WARN # https://docs.spring.io/spring-ai/reference/api/mcp/mcp-server-boot-starter-docs.html spring.ai.mcp.server.enable=false # # =============================== # = liquibase # https://contribute.liquibase.com/extensions-channels/directory/integration-docs/springboot/configuration/ # =============================== spring.liquibase.enabled=true spring.liquibase.change-log=classpath:db/changelog/master.xml # =============================== # = flowable # https://www.flowable.com/open-source/docs/bpmn/ch05a-Spring-Boot # =============================== # 禁止自动部署流程文件 # flowable.check-process-definitions=false # flowable.deployment-enabled=false # 禁止CMMN自动部署 # flowable.cmmn.enabled=false # flowable.cmmn.deployment-enabled=false # 禁止DMN自动部署 # flowable.dmn.enabled=false # flowable.dmn.deployment-enabled=false # 禁止Form自动部署 # flowable.form.enabled=false # flowable.form.deployment-enabled=false # 禁止Content自动部署 # flowable.content.enabled=false # flowable.content.deployment-enabled=false # 禁止Event Registry自动部署 # flowable.eventregistry.enabled=false # flowable.eventregistry.deployment-enabled=false # =============================== # = docker compose # docker compose up # when the application starts # docker compose down # when the application shuts down #= 跟模块 spring-boot-docker-compose 配合使用 # https://spring.io/guides/topicals/spring-boot-docker # https://spring.io/blog/2023/06/21/docker-compose-support-in-spring-boot-3-1 # https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-docker-compose # https://hub.docker.com/r/jackning/bytedesk # https://springdoc.cn/docker-compose-support-spring-boot/ # https://docs.spring.io/spring-boot/docs/3.2.0/reference/htmlsingle/#features.docker-compose # =============================== spring.docker.compose.enabled=false # spring.docker.compose.file=compose.yaml # spring.docker.compose.enabled=true # spring.docker.compose.profiles.active=myprofile