diff --git a/README.md b/README.md index 8b380ec..8a38d12 100644 --- a/README.md +++ b/README.md @@ -474,6 +474,15 @@ AI驱动的开源代码知识库与文档协作平台,支持多模型、多数 + +Flowise +
Flowise +
+ +🔮 开源可视化AI工作流构建平台,拖拽式设计LLM应用 + +3.0.4 • [官网链接](https://github.com/FlowiseAI/Flowise) + diff --git a/apps/flowise/3.0.4/.env.example b/apps/flowise/3.0.4/.env.example new file mode 100644 index 0000000..7e72923 --- /dev/null +++ b/apps/flowise/3.0.4/.env.example @@ -0,0 +1,165 @@ +PORT=3000 + +# APIKEY_PATH=/your_apikey_path/.flowise # (will be deprecated by end of 2025) + +############################################################################################################ +############################################## DATABASE #################################################### +############################################################################################################ + +DATABASE_PATH=/root/.flowise +# DATABASE_TYPE=postgres +# DATABASE_PORT=5432 +# DATABASE_HOST="" +# DATABASE_NAME=flowise +# DATABASE_USER=root +# DATABASE_PASSWORD=mypassword +# DATABASE_SSL=true +# DATABASE_SSL_KEY_BASE64= + + +############################################################################################################ +############################################## SECRET KEYS ################################################# +############################################################################################################ + +# SECRETKEY_STORAGE_TYPE=local #(local | aws) +SECRETKEY_PATH=/root/.flowise +# FLOWISE_SECRETKEY_OVERWRITE=myencryptionkey # (if you want to overwrite the secret key) +# SECRETKEY_AWS_ACCESS_KEY= +# SECRETKEY_AWS_SECRET_KEY= +# SECRETKEY_AWS_REGION=us-west-2 +# SECRETKEY_AWS_NAME=FlowiseEncryptionKey + + +############################################################################################################ +############################################## LOGGING ##################################################### +############################################################################################################ + +# DEBUG=true +LOG_PATH=/root/.flowise/logs +# LOG_LEVEL=info #(error | warn | info | verbose | debug) +# TOOL_FUNCTION_BUILTIN_DEP=crypto,fs +# TOOL_FUNCTION_EXTERNAL_DEP=moment,lodash + + +############################################################################################################ +############################################## STORAGE ##################################################### +############################################################################################################ + +# STORAGE_TYPE=local (local | s3 | gcs) +BLOB_STORAGE_PATH=/root/.flowise/storage +# S3_STORAGE_BUCKET_NAME=flowise +# S3_STORAGE_ACCESS_KEY_ID= +# S3_STORAGE_SECRET_ACCESS_KEY= +# S3_STORAGE_REGION=us-west-2 +# S3_ENDPOINT_URL= +# S3_FORCE_PATH_STYLE=false +# GOOGLE_CLOUD_STORAGE_CREDENTIAL=/the/keyfilename/path +# GOOGLE_CLOUD_STORAGE_PROJ_ID= +# GOOGLE_CLOUD_STORAGE_BUCKET_NAME= +# GOOGLE_CLOUD_UNIFORM_BUCKET_ACCESS=true + + +############################################################################################################ +############################################## SETTINGS #################################################### +############################################################################################################ + +# NUMBER_OF_PROXIES= 1 +# CORS_ORIGINS=* +# IFRAME_ORIGINS=* +# FLOWISE_FILE_SIZE_LIMIT=50mb +# SHOW_COMMUNITY_NODES=true +# DISABLE_FLOWISE_TELEMETRY=true +# DISABLED_NODES=bufferMemory,chatOpenAI (comma separated list of node names to disable) +# Uncomment the following line to enable model list config, load the list of models from your local config file +# see https://raw.githubusercontent.com/FlowiseAI/Flowise/main/packages/components/models.json for the format +# MODEL_LIST_CONFIG_JSON=/your_model_list_config_file_path + + +############################################################################################################ +############################################ AUTH PARAMETERS ############################################### +############################################################################################################ + +# APP_URL=http://localhost:3000 + +# SMTP_HOST=smtp.host.com +# SMTP_PORT=465 +# SMTP_USER=smtp_user +# SMTP_PASSWORD=smtp_password +# SMTP_SECURE=true +# ALLOW_UNAUTHORIZED_CERTS=false +# SENDER_EMAIL=team@example.com + +JWT_AUTH_TOKEN_SECRET='AABBCCDDAABBCCDDAABBCCDDAABBCCDDAABBCCDD' +JWT_REFRESH_TOKEN_SECRET='AABBCCDDAABBCCDDAABBCCDDAABBCCDDAABBCCDD' +JWT_ISSUER='ISSUER' +JWT_AUDIENCE='AUDIENCE' +JWT_TOKEN_EXPIRY_IN_MINUTES=360 +JWT_REFRESH_TOKEN_EXPIRY_IN_MINUTES=43200 +# EXPIRE_AUTH_TOKENS_ON_RESTART=true # (if you need to expire all tokens on app restart) +# EXPRESS_SESSION_SECRET=flowise + +# INVITE_TOKEN_EXPIRY_IN_HOURS=24 +# PASSWORD_RESET_TOKEN_EXPIRY_IN_MINS=15 +# PASSWORD_SALT_HASH_ROUNDS=10 +# TOKEN_HASH_SECRET='popcorn' + +# WORKSPACE_INVITE_TEMPLATE_PATH=/path/to/custom/workspace_invite.hbs + + +############################################################################################################ +############################################# ENTERPRISE ################################################### +############################################################################################################ + +# LICENSE_URL= +# FLOWISE_EE_LICENSE_KEY= +# OFFLINE= + + +############################################################################################################ +########################################### METRICS COLLECTION ############################################# +############################################################################################################ + +# POSTHOG_PUBLIC_API_KEY=your_posthog_public_api_key + +# ENABLE_METRICS=false +# METRICS_PROVIDER=prometheus # prometheus | open_telemetry +# METRICS_INCLUDE_NODE_METRICS=true # default is true +# METRICS_SERVICE_NAME=FlowiseAI + +# ONLY NEEDED if METRICS_PROVIDER=open_telemetry +# METRICS_OPEN_TELEMETRY_METRIC_ENDPOINT=http://localhost:4318/v1/metrics +# METRICS_OPEN_TELEMETRY_PROTOCOL=http # http | grpc | proto (default is http) +# METRICS_OPEN_TELEMETRY_DEBUG=true # default is false + + +############################################################################################################ +############################################### PROXY ###################################################### +############################################################################################################ + +# Uncomment the following lines to enable global agent proxy, see https://www.npmjs.com/package/global-agent for more details +# GLOBAL_AGENT_HTTP_PROXY=CorporateHttpProxyUrl +# GLOBAL_AGENT_HTTPS_PROXY=CorporateHttpsProxyUrl +# GLOBAL_AGENT_NO_PROXY=ExceptionHostsToBypassProxyIfNeeded + + +############################################################################################################ +########################################### QUEUE CONFIGURATION ############################################ +############################################################################################################ + +# MODE=queue #(queue | main) +# QUEUE_NAME=flowise-queue +# QUEUE_REDIS_EVENT_STREAM_MAX_LEN=100000 +# WORKER_CONCURRENCY=100000 +# REMOVE_ON_AGE=86400 +# REMOVE_ON_COUNT=10000 +# REDIS_URL= +# REDIS_HOST=localhost +# REDIS_PORT=6379 +# REDIS_USERNAME= +# REDIS_PASSWORD= +# REDIS_TLS= +# REDIS_CERT= +# REDIS_KEY= +# REDIS_CA= +# REDIS_KEEP_ALIVE= +# ENABLE_BULLMQ_DASHBOARD= \ No newline at end of file diff --git a/apps/flowise/3.0.4/data.yml b/apps/flowise/3.0.4/data.yml new file mode 100644 index 0000000..b7e86bc --- /dev/null +++ b/apps/flowise/3.0.4/data.yml @@ -0,0 +1,92 @@ +additionalProperties: + formFields: + - default: "3000" + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: "/root/flowise" + edit: true + envKey: DATABASE_PATH + labelEn: Database Path + labelZh: 数据库路径 + required: true + rule: paramPath + type: text + - default: "/root/flowise" + edit: true + envKey: SECRETKEY_PATH + labelEn: Secret Key Path + labelZh: 密钥路径 + required: true + rule: paramPath + type: text + - default: "/root/flowise/logs" + edit: true + envKey: LOG_PATH + labelEn: Log Path + labelZh: 日志路径 + required: true + rule: paramPath + type: text + - default: "/root/flowise/storage" + edit: true + envKey: BLOB_STORAGE_PATH + labelEn: Storage Path + labelZh: 存储路径 + required: true + rule: paramPath + type: text + - default: "AABBCCDDAABBCCDDAABBCCDDAABBCCDDAABBCCDD" + edit: true + envKey: JWT_AUTH_TOKEN_SECRET + labelEn: JWT Auth Token Secret + labelZh: JWT认证密钥 + random: true + required: true + rule: paramComplexity + type: password + - default: "AABBCCDDAABBCCDDAABBCCDDAABBCCDDAABBCCDD" + edit: true + envKey: JWT_REFRESH_TOKEN_SECRET + labelEn: JWT Refresh Token Secret + labelZh: JWT刷新密钥 + random: true + required: true + rule: paramComplexity + type: password + - default: "ISSUER" + edit: true + envKey: JWT_ISSUER + labelEn: JWT Issuer + labelZh: JWT发行者 + required: true + rule: paramCommon + type: text + - default: "AUDIENCE" + edit: true + envKey: JWT_AUDIENCE + labelEn: JWT Audience + labelZh: JWT受众 + required: true + rule: paramCommon + type: text + - default: "360" + edit: true + envKey: JWT_TOKEN_EXPIRY_IN_MINUTES + labelEn: JWT Token Expiry (minutes) + labelZh: JWT令牌过期时间(分钟) + required: true + rule: paramCommon + type: number + - default: "43200" + edit: true + envKey: JWT_REFRESH_TOKEN_EXPIRY_IN_MINUTES + labelEn: JWT Refresh Token Expiry (minutes) + labelZh: JWT刷新令牌过期时间(分钟) + required: true + rule: paramCommon + type: number diff --git a/apps/flowise/3.0.4/docker-compose.yml b/apps/flowise/3.0.4/docker-compose.yml new file mode 100644 index 0000000..e9d42a3 --- /dev/null +++ b/apps/flowise/3.0.4/docker-compose.yml @@ -0,0 +1,144 @@ +services: + flowise: + image: flowiseai/flowise:3.0.4 + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:${PANEL_APP_PORT_HTTP}" + environment: + - PORT=${PANEL_APP_PORT_HTTP} + # DATABASE + - DATABASE_PATH=${DATABASE_PATH} + # - DATABASE_TYPE=${DATABASE_TYPE} + # - DATABASE_PORT=${DATABASE_PORT} + # - DATABASE_HOST=${DATABASE_HOST} + # - DATABASE_NAME=${DATABASE_NAME} + # - DATABASE_USER=${DATABASE_USER} + # - DATABASE_PASSWORD=${DATABASE_PASSWORD} + # - DATABASE_SSL=${DATABASE_SSL} + # - DATABASE_SSL_KEY_BASE64=${DATABASE_SSL_KEY_BASE64} + + # SECRET KEYS + # - SECRETKEY_STORAGE_TYPE=${SECRETKEY_STORAGE_TYPE} + - SECRETKEY_PATH=${SECRETKEY_PATH} + # - FLOWISE_SECRETKEY_OVERWRITE=${FLOWISE_SECRETKEY_OVERWRITE} + # - SECRETKEY_AWS_ACCESS_KEY=${SECRETKEY_AWS_ACCESS_KEY} + # - SECRETKEY_AWS_SECRET_KEY=${SECRETKEY_AWS_SECRET_KEY} + # - SECRETKEY_AWS_REGION=${SECRETKEY_AWS_REGION} + # - SECRETKEY_AWS_NAME=${SECRETKEY_AWS_NAME} + + # LOGGING + # - DEBUG=${DEBUG} + - LOG_PATH=${LOG_PATH} + # - LOG_LEVEL=${LOG_LEVEL} + + # CUSTOM TOOL DEPENDENCIES + # - TOOL_FUNCTION_BUILTIN_DEP=${TOOL_FUNCTION_BUILTIN_DEP} + # - TOOL_FUNCTION_EXTERNAL_DEP=${TOOL_FUNCTION_EXTERNAL_DEP} + + # STORAGE + # - STORAGE_TYPE=${STORAGE_TYPE} + - BLOB_STORAGE_PATH=${BLOB_STORAGE_PATH} + # - S3_STORAGE_BUCKET_NAME=${S3_STORAGE_BUCKET_NAME} + # - S3_STORAGE_ACCESS_KEY_ID=${S3_STORAGE_ACCESS_KEY_ID} + # - S3_STORAGE_SECRET_ACCESS_KEY=${S3_STORAGE_SECRET_ACCESS_KEY} + # - S3_STORAGE_REGION=${S3_STORAGE_REGION} + # - S3_ENDPOINT_URL=${S3_ENDPOINT_URL} + # - S3_FORCE_PATH_STYLE=${S3_FORCE_PATH_STYLE} + # - GOOGLE_CLOUD_STORAGE_CREDENTIAL=${GOOGLE_CLOUD_STORAGE_CREDENTIAL} + # - GOOGLE_CLOUD_STORAGE_PROJ_ID=${GOOGLE_CLOUD_STORAGE_PROJ_ID} + # - GOOGLE_CLOUD_STORAGE_BUCKET_NAME=${GOOGLE_CLOUD_STORAGE_BUCKET_NAME} + # - GOOGLE_CLOUD_UNIFORM_BUCKET_ACCESS=${GOOGLE_CLOUD_UNIFORM_BUCKET_ACCESS} + + # SETTINGS + # - NUMBER_OF_PROXIES=${NUMBER_OF_PROXIES} + # - CORS_ORIGINS=${CORS_ORIGINS} + # - IFRAME_ORIGINS=${IFRAME_ORIGINS} + # - FLOWISE_FILE_SIZE_LIMIT=${FLOWISE_FILE_SIZE_LIMIT} + # - SHOW_COMMUNITY_NODES=${SHOW_COMMUNITY_NODES} + # - DISABLE_FLOWISE_TELEMETRY=${DISABLE_FLOWISE_TELEMETRY} + # - DISABLED_NODES=${DISABLED_NODES} + # - MODEL_LIST_CONFIG_JSON=${MODEL_LIST_CONFIG_JSON} + + # AUTH PARAMETERS + # - APP_URL=${APP_URL} + - JWT_AUTH_TOKEN_SECRET=${JWT_AUTH_TOKEN_SECRET} + - JWT_REFRESH_TOKEN_SECRET=${JWT_REFRESH_TOKEN_SECRET} + - JWT_ISSUER=${JWT_ISSUER} + - JWT_AUDIENCE=${JWT_AUDIENCE} + - JWT_TOKEN_EXPIRY_IN_MINUTES=${JWT_TOKEN_EXPIRY_IN_MINUTES} + - JWT_REFRESH_TOKEN_EXPIRY_IN_MINUTES=${JWT_REFRESH_TOKEN_EXPIRY_IN_MINUTES} + # - EXPIRE_AUTH_TOKENS_ON_RESTART=${EXPIRE_AUTH_TOKENS_ON_RESTART} + # - EXPRESS_SESSION_SECRET=${EXPRESS_SESSION_SECRET} + # - PASSWORD_RESET_TOKEN_EXPIRY_IN_MINS=${PASSWORD_RESET_TOKEN_EXPIRY_IN_MINS} + # - PASSWORD_SALT_HASH_ROUNDS=${PASSWORD_SALT_HASH_ROUNDS} + # - TOKEN_HASH_SECRET=${TOKEN_HASH_SECRET} + + # EMAIL + # - SMTP_HOST=${SMTP_HOST} + # - SMTP_PORT=${SMTP_PORT} + # - SMTP_USER=${SMTP_USER} + # - SMTP_PASSWORD=${SMTP_PASSWORD} + # - SMTP_SECURE=${SMTP_SECURE} + # - ALLOW_UNAUTHORIZED_CERTS=${ALLOW_UNAUTHORIZED_CERTS} + # - SENDER_EMAIL=${SENDER_EMAIL} + + # ENTERPRISE + # - LICENSE_URL=${LICENSE_URL} + # - FLOWISE_EE_LICENSE_KEY=${FLOWISE_EE_LICENSE_KEY} + # - OFFLINE=${OFFLINE} + # - INVITE_TOKEN_EXPIRY_IN_HOURS=${INVITE_TOKEN_EXPIRY_IN_HOURS} + # - WORKSPACE_INVITE_TEMPLATE_PATH=${WORKSPACE_INVITE_TEMPLATE_PATH} + + # METRICS COLLECTION + # - POSTHOG_PUBLIC_API_KEY=${POSTHOG_PUBLIC_API_KEY} + # - ENABLE_METRICS=${ENABLE_METRICS} + # - METRICS_PROVIDER=${METRICS_PROVIDER} + # - METRICS_INCLUDE_NODE_METRICS=${METRICS_INCLUDE_NODE_METRICS} + # - METRICS_SERVICE_NAME=${METRICS_SERVICE_NAME} + # - METRICS_OPEN_TELEMETRY_METRIC_ENDPOINT=${METRICS_OPEN_TELEMETRY_METRIC_ENDPOINT} + # - METRICS_OPEN_TELEMETRY_PROTOCOL=${METRICS_OPEN_TELEMETRY_PROTOCOL} + # - METRICS_OPEN_TELEMETRY_DEBUG=${METRICS_OPEN_TELEMETRY_DEBUG} + + # PROXY + # - GLOBAL_AGENT_HTTP_PROXY=${GLOBAL_AGENT_HTTP_PROXY} + # - GLOBAL_AGENT_HTTPS_PROXY=${GLOBAL_AGENT_HTTPS_PROXY} + # - GLOBAL_AGENT_NO_PROXY=${GLOBAL_AGENT_NO_PROXY} + + # QUEUE CONFIGURATION + # - MODE=${MODE} + # - QUEUE_NAME=${QUEUE_NAME} + # - QUEUE_REDIS_EVENT_STREAM_MAX_LEN=${QUEUE_REDIS_EVENT_STREAM_MAX_LEN} + # - WORKER_CONCURRENCY=${WORKER_CONCURRENCY} + # - REMOVE_ON_AGE=${REMOVE_ON_AGE} + # - REMOVE_ON_COUNT=${REMOVE_ON_COUNT} + # - REDIS_URL=${REDIS_URL} + # - REDIS_HOST=${REDIS_HOST} + # - REDIS_PORT=${REDIS_PORT} + # - REDIS_USERNAME=${REDIS_USERNAME} + # - REDIS_PASSWORD=${REDIS_PASSWORD} + # - REDIS_TLS=${REDIS_TLS} + # - REDIS_CERT=${REDIS_CERT} + # - REDIS_KEY=${REDIS_KEY} + # - REDIS_CA=${REDIS_CA} + # - REDIS_KEEP_ALIVE=${REDIS_KEEP_ALIVE} + # - ENABLE_BULLMQ_DASHBOARD=${ENABLE_BULLMQ_DASHBOARD} + volumes: + - flowise_data:${DATABASE_PATH} + healthcheck: + test: ['CMD', 'curl', '-f', "http://localhost:${PANEL_APP_PORT_HTTP}/api/v1/ping"] + interval: 10s + timeout: 5s + retries: 5 + start_period: 30s + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true + +volumes: + flowise_data: \ No newline at end of file diff --git a/apps/flowise/README.md b/apps/flowise/README.md new file mode 100644 index 0000000..becebc0 --- /dev/null +++ b/apps/flowise/README.md @@ -0,0 +1,45 @@ +# Flowise + +✨ 可视化构建AI/LLM流程 ✨ +一个开源的可视化工具,用于构建和部署LLM应用程序和AI代理 + +![](https://cdn.jsdelivr.net/gh/xiaoY233/PicList@main/public/assets/flowise.png) + +![](https://img.shields.io/badge/Copyright-arch3rPro-ff9800?style=flat&logo=github&logoColor=white) + + +## 简介 + +**Flowise** 是一个开源的可视化工具,允许用户通过拖放式界面创建自定义的LLM(大型语言模型)流程。它简化了AI应用程序的构建过程,无需深入编码即可创建复杂的AI工作流。 + +## 主要功能: + +- **可视化流程构建**:通过直观的拖放界面设计和构建LLM工作流,无需编写复杂代码 +- **多种模型支持**:集成多种流行的语言模型,如OpenAI、Anthropic、Google等 +- **组件化设计**:提供丰富的预构建组件,包括聊天模型、向量存储、记忆系统等 +- **API生成**:自动为创建的流程生成API端点,便于集成到其他应用中 +- **自定义代理**:构建自定义AI代理,能够执行特定任务和解决复杂问题 +- **向量数据库集成**:支持多种向量数据库,实现高效的知识检索和管理 +- **工作流共享**:导出和导入工作流配置,便于团队协作和流程共享 +- **多种部署选项**:支持本地部署、Docker容器化以及云服务部署 + +## 使用场景: + +- 构建自定义聊天机器人和虚拟助手 +- 创建基于特定知识库的问答系统 +- 开发自动化文档处理和分析工具 +- 设计智能客户服务和支持系统 +- 实现复杂的多步骤AI工作流 +- 构建能够执行特定任务的AI代理 + +## 默认信息 + +- 默认用户名:无(首次使用需要注册) +- 默认访问地址:http://IP:3000 +- 默认数据目录:~/.flowise + +## 更多信息 + +- [官方网站](https://flowiseai.com/) +- [官方文档](https://docs.flowiseai.com/) +- [GitHub仓库](https://github.com/FlowiseAI/Flowise) \ No newline at end of file diff --git a/apps/flowise/README_en.md b/apps/flowise/README_en.md new file mode 100644 index 0000000..e079c68 --- /dev/null +++ b/apps/flowise/README_en.md @@ -0,0 +1,44 @@ +# Flowise + +✨ Build AI/LLM Flows Visually ✨ +An open-source tool to build and deploy LLM applications and AI agents visually + +![](https://cdn.jsdelivr.net/gh/xiaoY233/PicList@main/public/assets/flowise.png) + +![](https://img.shields.io/badge/Copyright-arch3rPro-ff9800?style=flat&logo=github&logoColor=white) + +## Introduction + +**Flowise** is an open-source visual tool that allows users to create custom LLM (Large Language Model) flows through a drag-and-drop interface. It simplifies the process of building AI applications without requiring deep coding knowledge to create complex AI workflows. + +## Key Features: + +- **Visual Flow Building**: Design and build LLM workflows through an intuitive drag-and-drop interface without writing complex code +- **Multiple Model Support**: Integration with various popular language models such as OpenAI, Anthropic, Google, and more +- **Component-Based Design**: Rich pre-built components including chat models, vector stores, memory systems, and more +- **API Generation**: Automatically generates API endpoints for created flows for easy integration with other applications +- **Custom Agents**: Build custom AI agents capable of performing specific tasks and solving complex problems +- **Vector Database Integration**: Support for multiple vector databases for efficient knowledge retrieval and management +- **Workflow Sharing**: Export and import workflow configurations for team collaboration and process sharing +- **Multiple Deployment Options**: Support for local deployment, Docker containerization, and cloud service deployment + +## Use Cases: + +- Building custom chatbots and virtual assistants +- Creating question-answering systems based on specific knowledge bases +- Developing automated document processing and analysis tools +- Designing intelligent customer service and support systems +- Implementing complex multi-step AI workflows +- Building AI agents capable of performing specific tasks + +## Default Information + +- Default username: None (Registration required for first use) +- Default access address: http://IP:3000 +- Default data directory: ~/.flowise + +## More Information + +- [Official Website](https://flowiseai.com/) +- [Official Documentation](https://docs.flowiseai.com/) +- [GitHub Repository](https://github.com/FlowiseAI/Flowise) \ No newline at end of file diff --git a/apps/flowise/data.yml b/apps/flowise/data.yml new file mode 100644 index 0000000..d756fcf --- /dev/null +++ b/apps/flowise/data.yml @@ -0,0 +1,29 @@ +name: Flowise +tags: + - AI工具 +title: 可视化构建AI/LLM流程 +description: Flowise是一个可视化工具,用于构建和部署LLM应用程序和AI代理 +additionalProperties: + key: flowise + name: Flowise + tags: + - AI + shortDescZh: 可视化构建AI/LLM流程 + shortDescEn: Visually Build AI/LLM Flows + type: website + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://flowiseai.com/ + github: https://github.com/FlowiseAI/Flowise + document: https://docs.flowiseai.com/ + description: + en: Flowise is a visual tool for building and deploying LLM applications and AI agents + zh: Flowise是一个可视化工具,用于构建和部署LLM应用程序和AI代理 + zh-Hant: Flowise是一個可視化工具,用於構建和部署LLM應用程序和AI代理 + ja: FlowiseはLLMアプリケーションとAIエージェントを構築・デプロイするためのビジュアルツールです + ko: Flowise는 LLM 애플리케이션 및 AI 에이전트를 구축하고 배포하기 위한 시각적 도구입니다 + memoryRequired: 1024 + architectures: + - amd64 + - arm64 \ No newline at end of file diff --git a/apps/flowise/latest/.env.example b/apps/flowise/latest/.env.example new file mode 100644 index 0000000..7e72923 --- /dev/null +++ b/apps/flowise/latest/.env.example @@ -0,0 +1,165 @@ +PORT=3000 + +# APIKEY_PATH=/your_apikey_path/.flowise # (will be deprecated by end of 2025) + +############################################################################################################ +############################################## DATABASE #################################################### +############################################################################################################ + +DATABASE_PATH=/root/.flowise +# DATABASE_TYPE=postgres +# DATABASE_PORT=5432 +# DATABASE_HOST="" +# DATABASE_NAME=flowise +# DATABASE_USER=root +# DATABASE_PASSWORD=mypassword +# DATABASE_SSL=true +# DATABASE_SSL_KEY_BASE64= + + +############################################################################################################ +############################################## SECRET KEYS ################################################# +############################################################################################################ + +# SECRETKEY_STORAGE_TYPE=local #(local | aws) +SECRETKEY_PATH=/root/.flowise +# FLOWISE_SECRETKEY_OVERWRITE=myencryptionkey # (if you want to overwrite the secret key) +# SECRETKEY_AWS_ACCESS_KEY= +# SECRETKEY_AWS_SECRET_KEY= +# SECRETKEY_AWS_REGION=us-west-2 +# SECRETKEY_AWS_NAME=FlowiseEncryptionKey + + +############################################################################################################ +############################################## LOGGING ##################################################### +############################################################################################################ + +# DEBUG=true +LOG_PATH=/root/.flowise/logs +# LOG_LEVEL=info #(error | warn | info | verbose | debug) +# TOOL_FUNCTION_BUILTIN_DEP=crypto,fs +# TOOL_FUNCTION_EXTERNAL_DEP=moment,lodash + + +############################################################################################################ +############################################## STORAGE ##################################################### +############################################################################################################ + +# STORAGE_TYPE=local (local | s3 | gcs) +BLOB_STORAGE_PATH=/root/.flowise/storage +# S3_STORAGE_BUCKET_NAME=flowise +# S3_STORAGE_ACCESS_KEY_ID= +# S3_STORAGE_SECRET_ACCESS_KEY= +# S3_STORAGE_REGION=us-west-2 +# S3_ENDPOINT_URL= +# S3_FORCE_PATH_STYLE=false +# GOOGLE_CLOUD_STORAGE_CREDENTIAL=/the/keyfilename/path +# GOOGLE_CLOUD_STORAGE_PROJ_ID= +# GOOGLE_CLOUD_STORAGE_BUCKET_NAME= +# GOOGLE_CLOUD_UNIFORM_BUCKET_ACCESS=true + + +############################################################################################################ +############################################## SETTINGS #################################################### +############################################################################################################ + +# NUMBER_OF_PROXIES= 1 +# CORS_ORIGINS=* +# IFRAME_ORIGINS=* +# FLOWISE_FILE_SIZE_LIMIT=50mb +# SHOW_COMMUNITY_NODES=true +# DISABLE_FLOWISE_TELEMETRY=true +# DISABLED_NODES=bufferMemory,chatOpenAI (comma separated list of node names to disable) +# Uncomment the following line to enable model list config, load the list of models from your local config file +# see https://raw.githubusercontent.com/FlowiseAI/Flowise/main/packages/components/models.json for the format +# MODEL_LIST_CONFIG_JSON=/your_model_list_config_file_path + + +############################################################################################################ +############################################ AUTH PARAMETERS ############################################### +############################################################################################################ + +# APP_URL=http://localhost:3000 + +# SMTP_HOST=smtp.host.com +# SMTP_PORT=465 +# SMTP_USER=smtp_user +# SMTP_PASSWORD=smtp_password +# SMTP_SECURE=true +# ALLOW_UNAUTHORIZED_CERTS=false +# SENDER_EMAIL=team@example.com + +JWT_AUTH_TOKEN_SECRET='AABBCCDDAABBCCDDAABBCCDDAABBCCDDAABBCCDD' +JWT_REFRESH_TOKEN_SECRET='AABBCCDDAABBCCDDAABBCCDDAABBCCDDAABBCCDD' +JWT_ISSUER='ISSUER' +JWT_AUDIENCE='AUDIENCE' +JWT_TOKEN_EXPIRY_IN_MINUTES=360 +JWT_REFRESH_TOKEN_EXPIRY_IN_MINUTES=43200 +# EXPIRE_AUTH_TOKENS_ON_RESTART=true # (if you need to expire all tokens on app restart) +# EXPRESS_SESSION_SECRET=flowise + +# INVITE_TOKEN_EXPIRY_IN_HOURS=24 +# PASSWORD_RESET_TOKEN_EXPIRY_IN_MINS=15 +# PASSWORD_SALT_HASH_ROUNDS=10 +# TOKEN_HASH_SECRET='popcorn' + +# WORKSPACE_INVITE_TEMPLATE_PATH=/path/to/custom/workspace_invite.hbs + + +############################################################################################################ +############################################# ENTERPRISE ################################################### +############################################################################################################ + +# LICENSE_URL= +# FLOWISE_EE_LICENSE_KEY= +# OFFLINE= + + +############################################################################################################ +########################################### METRICS COLLECTION ############################################# +############################################################################################################ + +# POSTHOG_PUBLIC_API_KEY=your_posthog_public_api_key + +# ENABLE_METRICS=false +# METRICS_PROVIDER=prometheus # prometheus | open_telemetry +# METRICS_INCLUDE_NODE_METRICS=true # default is true +# METRICS_SERVICE_NAME=FlowiseAI + +# ONLY NEEDED if METRICS_PROVIDER=open_telemetry +# METRICS_OPEN_TELEMETRY_METRIC_ENDPOINT=http://localhost:4318/v1/metrics +# METRICS_OPEN_TELEMETRY_PROTOCOL=http # http | grpc | proto (default is http) +# METRICS_OPEN_TELEMETRY_DEBUG=true # default is false + + +############################################################################################################ +############################################### PROXY ###################################################### +############################################################################################################ + +# Uncomment the following lines to enable global agent proxy, see https://www.npmjs.com/package/global-agent for more details +# GLOBAL_AGENT_HTTP_PROXY=CorporateHttpProxyUrl +# GLOBAL_AGENT_HTTPS_PROXY=CorporateHttpsProxyUrl +# GLOBAL_AGENT_NO_PROXY=ExceptionHostsToBypassProxyIfNeeded + + +############################################################################################################ +########################################### QUEUE CONFIGURATION ############################################ +############################################################################################################ + +# MODE=queue #(queue | main) +# QUEUE_NAME=flowise-queue +# QUEUE_REDIS_EVENT_STREAM_MAX_LEN=100000 +# WORKER_CONCURRENCY=100000 +# REMOVE_ON_AGE=86400 +# REMOVE_ON_COUNT=10000 +# REDIS_URL= +# REDIS_HOST=localhost +# REDIS_PORT=6379 +# REDIS_USERNAME= +# REDIS_PASSWORD= +# REDIS_TLS= +# REDIS_CERT= +# REDIS_KEY= +# REDIS_CA= +# REDIS_KEEP_ALIVE= +# ENABLE_BULLMQ_DASHBOARD= \ No newline at end of file diff --git a/apps/flowise/latest/data.yml b/apps/flowise/latest/data.yml new file mode 100644 index 0000000..b7e86bc --- /dev/null +++ b/apps/flowise/latest/data.yml @@ -0,0 +1,92 @@ +additionalProperties: + formFields: + - default: "3000" + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: "/root/flowise" + edit: true + envKey: DATABASE_PATH + labelEn: Database Path + labelZh: 数据库路径 + required: true + rule: paramPath + type: text + - default: "/root/flowise" + edit: true + envKey: SECRETKEY_PATH + labelEn: Secret Key Path + labelZh: 密钥路径 + required: true + rule: paramPath + type: text + - default: "/root/flowise/logs" + edit: true + envKey: LOG_PATH + labelEn: Log Path + labelZh: 日志路径 + required: true + rule: paramPath + type: text + - default: "/root/flowise/storage" + edit: true + envKey: BLOB_STORAGE_PATH + labelEn: Storage Path + labelZh: 存储路径 + required: true + rule: paramPath + type: text + - default: "AABBCCDDAABBCCDDAABBCCDDAABBCCDDAABBCCDD" + edit: true + envKey: JWT_AUTH_TOKEN_SECRET + labelEn: JWT Auth Token Secret + labelZh: JWT认证密钥 + random: true + required: true + rule: paramComplexity + type: password + - default: "AABBCCDDAABBCCDDAABBCCDDAABBCCDDAABBCCDD" + edit: true + envKey: JWT_REFRESH_TOKEN_SECRET + labelEn: JWT Refresh Token Secret + labelZh: JWT刷新密钥 + random: true + required: true + rule: paramComplexity + type: password + - default: "ISSUER" + edit: true + envKey: JWT_ISSUER + labelEn: JWT Issuer + labelZh: JWT发行者 + required: true + rule: paramCommon + type: text + - default: "AUDIENCE" + edit: true + envKey: JWT_AUDIENCE + labelEn: JWT Audience + labelZh: JWT受众 + required: true + rule: paramCommon + type: text + - default: "360" + edit: true + envKey: JWT_TOKEN_EXPIRY_IN_MINUTES + labelEn: JWT Token Expiry (minutes) + labelZh: JWT令牌过期时间(分钟) + required: true + rule: paramCommon + type: number + - default: "43200" + edit: true + envKey: JWT_REFRESH_TOKEN_EXPIRY_IN_MINUTES + labelEn: JWT Refresh Token Expiry (minutes) + labelZh: JWT刷新令牌过期时间(分钟) + required: true + rule: paramCommon + type: number diff --git a/apps/flowise/latest/docker-compose.yml b/apps/flowise/latest/docker-compose.yml new file mode 100644 index 0000000..03437b6 --- /dev/null +++ b/apps/flowise/latest/docker-compose.yml @@ -0,0 +1,144 @@ +services: + flowise: + image: flowiseai/flowise:latest + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:${PANEL_APP_PORT_HTTP}" + environment: + - PORT=${PANEL_APP_PORT_HTTP} + # DATABASE + - DATABASE_PATH=${DATABASE_PATH} + # - DATABASE_TYPE=${DATABASE_TYPE} + # - DATABASE_PORT=${DATABASE_PORT} + # - DATABASE_HOST=${DATABASE_HOST} + # - DATABASE_NAME=${DATABASE_NAME} + # - DATABASE_USER=${DATABASE_USER} + # - DATABASE_PASSWORD=${DATABASE_PASSWORD} + # - DATABASE_SSL=${DATABASE_SSL} + # - DATABASE_SSL_KEY_BASE64=${DATABASE_SSL_KEY_BASE64} + + # SECRET KEYS + # - SECRETKEY_STORAGE_TYPE=${SECRETKEY_STORAGE_TYPE} + - SECRETKEY_PATH=${SECRETKEY_PATH} + # - FLOWISE_SECRETKEY_OVERWRITE=${FLOWISE_SECRETKEY_OVERWRITE} + # - SECRETKEY_AWS_ACCESS_KEY=${SECRETKEY_AWS_ACCESS_KEY} + # - SECRETKEY_AWS_SECRET_KEY=${SECRETKEY_AWS_SECRET_KEY} + # - SECRETKEY_AWS_REGION=${SECRETKEY_AWS_REGION} + # - SECRETKEY_AWS_NAME=${SECRETKEY_AWS_NAME} + + # LOGGING + # - DEBUG=${DEBUG} + - LOG_PATH=${LOG_PATH} + # - LOG_LEVEL=${LOG_LEVEL} + + # CUSTOM TOOL DEPENDENCIES + # - TOOL_FUNCTION_BUILTIN_DEP=${TOOL_FUNCTION_BUILTIN_DEP} + # - TOOL_FUNCTION_EXTERNAL_DEP=${TOOL_FUNCTION_EXTERNAL_DEP} + + # STORAGE + # - STORAGE_TYPE=${STORAGE_TYPE} + - BLOB_STORAGE_PATH=${BLOB_STORAGE_PATH} + # - S3_STORAGE_BUCKET_NAME=${S3_STORAGE_BUCKET_NAME} + # - S3_STORAGE_ACCESS_KEY_ID=${S3_STORAGE_ACCESS_KEY_ID} + # - S3_STORAGE_SECRET_ACCESS_KEY=${S3_STORAGE_SECRET_ACCESS_KEY} + # - S3_STORAGE_REGION=${S3_STORAGE_REGION} + # - S3_ENDPOINT_URL=${S3_ENDPOINT_URL} + # - S3_FORCE_PATH_STYLE=${S3_FORCE_PATH_STYLE} + # - GOOGLE_CLOUD_STORAGE_CREDENTIAL=${GOOGLE_CLOUD_STORAGE_CREDENTIAL} + # - GOOGLE_CLOUD_STORAGE_PROJ_ID=${GOOGLE_CLOUD_STORAGE_PROJ_ID} + # - GOOGLE_CLOUD_STORAGE_BUCKET_NAME=${GOOGLE_CLOUD_STORAGE_BUCKET_NAME} + # - GOOGLE_CLOUD_UNIFORM_BUCKET_ACCESS=${GOOGLE_CLOUD_UNIFORM_BUCKET_ACCESS} + + # SETTINGS + # - NUMBER_OF_PROXIES=${NUMBER_OF_PROXIES} + # - CORS_ORIGINS=${CORS_ORIGINS} + # - IFRAME_ORIGINS=${IFRAME_ORIGINS} + # - FLOWISE_FILE_SIZE_LIMIT=${FLOWISE_FILE_SIZE_LIMIT} + # - SHOW_COMMUNITY_NODES=${SHOW_COMMUNITY_NODES} + # - DISABLE_FLOWISE_TELEMETRY=${DISABLE_FLOWISE_TELEMETRY} + # - DISABLED_NODES=${DISABLED_NODES} + # - MODEL_LIST_CONFIG_JSON=${MODEL_LIST_CONFIG_JSON} + + # AUTH PARAMETERS + # - APP_URL=${APP_URL} + - JWT_AUTH_TOKEN_SECRET=${JWT_AUTH_TOKEN_SECRET} + - JWT_REFRESH_TOKEN_SECRET=${JWT_REFRESH_TOKEN_SECRET} + - JWT_ISSUER=${JWT_ISSUER} + - JWT_AUDIENCE=${JWT_AUDIENCE} + - JWT_TOKEN_EXPIRY_IN_MINUTES=${JWT_TOKEN_EXPIRY_IN_MINUTES} + - JWT_REFRESH_TOKEN_EXPIRY_IN_MINUTES=${JWT_REFRESH_TOKEN_EXPIRY_IN_MINUTES} + # - EXPIRE_AUTH_TOKENS_ON_RESTART=${EXPIRE_AUTH_TOKENS_ON_RESTART} + # - EXPRESS_SESSION_SECRET=${EXPRESS_SESSION_SECRET} + # - PASSWORD_RESET_TOKEN_EXPIRY_IN_MINS=${PASSWORD_RESET_TOKEN_EXPIRY_IN_MINS} + # - PASSWORD_SALT_HASH_ROUNDS=${PASSWORD_SALT_HASH_ROUNDS} + # - TOKEN_HASH_SECRET=${TOKEN_HASH_SECRET} + + # EMAIL + # - SMTP_HOST=${SMTP_HOST} + # - SMTP_PORT=${SMTP_PORT} + # - SMTP_USER=${SMTP_USER} + # - SMTP_PASSWORD=${SMTP_PASSWORD} + # - SMTP_SECURE=${SMTP_SECURE} + # - ALLOW_UNAUTHORIZED_CERTS=${ALLOW_UNAUTHORIZED_CERTS} + # - SENDER_EMAIL=${SENDER_EMAIL} + + # ENTERPRISE + # - LICENSE_URL=${LICENSE_URL} + # - FLOWISE_EE_LICENSE_KEY=${FLOWISE_EE_LICENSE_KEY} + # - OFFLINE=${OFFLINE} + # - INVITE_TOKEN_EXPIRY_IN_HOURS=${INVITE_TOKEN_EXPIRY_IN_HOURS} + # - WORKSPACE_INVITE_TEMPLATE_PATH=${WORKSPACE_INVITE_TEMPLATE_PATH} + + # METRICS COLLECTION + # - POSTHOG_PUBLIC_API_KEY=${POSTHOG_PUBLIC_API_KEY} + # - ENABLE_METRICS=${ENABLE_METRICS} + # - METRICS_PROVIDER=${METRICS_PROVIDER} + # - METRICS_INCLUDE_NODE_METRICS=${METRICS_INCLUDE_NODE_METRICS} + # - METRICS_SERVICE_NAME=${METRICS_SERVICE_NAME} + # - METRICS_OPEN_TELEMETRY_METRIC_ENDPOINT=${METRICS_OPEN_TELEMETRY_METRIC_ENDPOINT} + # - METRICS_OPEN_TELEMETRY_PROTOCOL=${METRICS_OPEN_TELEMETRY_PROTOCOL} + # - METRICS_OPEN_TELEMETRY_DEBUG=${METRICS_OPEN_TELEMETRY_DEBUG} + + # PROXY + # - GLOBAL_AGENT_HTTP_PROXY=${GLOBAL_AGENT_HTTP_PROXY} + # - GLOBAL_AGENT_HTTPS_PROXY=${GLOBAL_AGENT_HTTPS_PROXY} + # - GLOBAL_AGENT_NO_PROXY=${GLOBAL_AGENT_NO_PROXY} + + # QUEUE CONFIGURATION + # - MODE=${MODE} + # - QUEUE_NAME=${QUEUE_NAME} + # - QUEUE_REDIS_EVENT_STREAM_MAX_LEN=${QUEUE_REDIS_EVENT_STREAM_MAX_LEN} + # - WORKER_CONCURRENCY=${WORKER_CONCURRENCY} + # - REMOVE_ON_AGE=${REMOVE_ON_AGE} + # - REMOVE_ON_COUNT=${REMOVE_ON_COUNT} + # - REDIS_URL=${REDIS_URL} + # - REDIS_HOST=${REDIS_HOST} + # - REDIS_PORT=${REDIS_PORT} + # - REDIS_USERNAME=${REDIS_USERNAME} + # - REDIS_PASSWORD=${REDIS_PASSWORD} + # - REDIS_TLS=${REDIS_TLS} + # - REDIS_CERT=${REDIS_CERT} + # - REDIS_KEY=${REDIS_KEY} + # - REDIS_CA=${REDIS_CA} + # - REDIS_KEEP_ALIVE=${REDIS_KEEP_ALIVE} + # - ENABLE_BULLMQ_DASHBOARD=${ENABLE_BULLMQ_DASHBOARD} + volumes: + - flowise_data:${DATABASE_PATH} + healthcheck: + test: ['CMD', 'curl', '-f', "http://localhost:${PANEL_APP_PORT_HTTP}/api/v1/ping"] + interval: 10s + timeout: 5s + retries: 5 + start_period: 30s + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true + +volumes: + flowise_data: \ No newline at end of file diff --git a/apps/flowise/logo.png b/apps/flowise/logo.png new file mode 100644 index 0000000..1a992a2 Binary files /dev/null and b/apps/flowise/logo.png differ