Henry Heng 5df09a15b8 Chore/WorkspaceID Check (#5228)
* feat: Require workspace ID for API key operations

- Added validation to ensure `activeWorkspaceId` is present in user requests for all API key operations (get, create, update, import, delete).
- Updated `getWorkspaceSearchOptions` and `getWorkspaceSearchOptionsFromReq` to throw an error if `workspaceId` is not provided.
- Modified service methods to enforce `workspaceId` as a required parameter for database operations related to API keys.

* feat: Enforce workspace ID as a required field across multiple interfaces and services
- Updated various interfaces to make `workspaceId` a mandatory field instead of optional.
- Enhanced assistant and export-import service methods to require `workspaceId` for operations, ensuring proper validation and error handling.
- Modified database entity definitions to reflect the change in `workspaceId` from optional to required.
- Improved error handling in controllers to check for `activeWorkspaceId` before proceeding with requests.

* Require workspace ID in various controllers and services

- Updated controllers for credentials, datasets, document stores, evaluations, evaluators, and variables to enforce the presence of `workspaceId`.
- Enhanced error handling to throw appropriate errors when `workspaceId` is not provided.
- Modified service methods to accept `workspaceId` as a mandatory parameter for operations, ensuring consistent validation across the application.

* Update EvaluatorRunner and index to require workspaceId for evaluator retrieval

- Modified the runAdditionalEvaluators function to accept workspaceId as a parameter.

* lint fixes

* Enhancement/Integrate workspaceId in chatflow and flow-config services

- Updated chatflow and flow-config controllers to require workspaceId for fetching chatflows.
- Modified service methods to accept workspaceId as a parameter, ensuring proper context for chatflow retrieval.

* lint fix

* get rid of redundant isApiKeyValidated

* refactor: update permission checks for chatflows and agentflows routes

- Enhanced permission checks in chatflows routes to include agentflows permissions for create, read, update, and delete operations.
- Updated navigation paths in authentication views to redirect to the home page instead of chatflows after successful login or registration.

* fix(DefaultRedirect.jsx): add redirect unauthenticated users to login

* fix(RequireAuth.jsx): check permissions for routes without display property

* fix(DefaultRedirect.jsx): WorkspaceSwitcher api spam

* fix(routes/chatflows/index.ts): use checkAnyPermission for chatflow/has-changed/:id/:lastUpdatedDateTime

* fix(routes/chatflows/index.ts): use checkAnyPermission for delete request chatflow/:id

* fix(controllers/text-to-speech/index.ts): add workspace ID validation in generateTextToSpeech

* fix(controllers/internal-predictions/index.ts): add chatflow retrieval and validation using workspaceId

* feat(services\credentials\index.ts): add filter by workspaceId for getCredentialById

* chore(routes/chat-messages/index.ts): unused chat-messages route

* feat(services/chatflows/index.ts): add filter by workspaceId for deleteChatflow

* feat(services/marketplaces/index.ts): add filter by workspaceId for deleteCustomTemplate

* feat(tools): add filter by workspaceId for read, update, and delete

---------

Co-authored-by: Vinod Paidimarry <vinodkiran@outlook.in>
Co-authored-by: Yau <33013947+chungyau97@users.noreply.github.com>
Co-authored-by: chungyau97 <chungyau97@gmail.com>
2025-10-29 11:33:27 +00:00
2025-06-23 19:17:44 +01:00
2023-04-06 22:17:34 +01:00
2025-05-10 10:21:26 +08:00
2025-10-29 11:33:27 +00:00
2023-04-06 22:17:34 +01:00
2025-05-27 07:29:42 +01:00
2025-10-08 12:55:17 +01:00
2025-01-30 09:42:22 +00:00

Build AI Agents, Visually

📚 Table of Contents

Quick Start

Download and Install NodeJS >= 18.15.0

  1. Install Flowise

    npm install -g flowise
    
  2. Start Flowise

    npx flowise start
    
  3. Open http://localhost:3000

🐳 Docker

Docker Compose

  1. Clone the Flowise project
  2. Go to docker folder at the root of the project
  3. Copy .env.example file, paste it into the same location, and rename to .env file
  4. docker compose up -d
  5. Open http://localhost:3000
  6. You can bring the containers down by docker compose stop

Docker Image

  1. Build the image locally:

    docker build --no-cache -t flowise .
    
  2. Run image:

    docker run -d --name flowise -p 3000:3000 flowise
    
  3. Stop image:

    docker stop flowise
    

👨‍💻 Developers

Flowise has 3 different modules in a single mono repository.

  • server: Node backend to serve API logics
  • ui: React frontend
  • components: Third-party nodes integrations
  • api-documentation: Auto-generated swagger-ui API docs from express

Prerequisite

  • Install PNPM
    npm i -g pnpm
    

Setup

  1. Clone the repository:

    git clone https://github.com/FlowiseAI/Flowise.git
    
  2. Go into repository folder:

    cd Flowise
    
  3. Install all dependencies of all modules:

    pnpm install
    
  4. Build all the code:

    pnpm build
    
    Exit code 134 (JavaScript heap out of memory) If you get this error when running the above `build` script, try increasing the Node.js heap size and run the script again:
    # macOS / Linux / Git Bash
    export NODE_OPTIONS="--max-old-space-size=4096"
    
    # Windows PowerShell
    $env:NODE_OPTIONS="--max-old-space-size=4096"
    
    # Windows CMD
    set NODE_OPTIONS=--max-old-space-size=4096
    

    Then run:

    pnpm build
    
  5. Start the app:

    pnpm start
    

    You can now access the app on http://localhost:3000

  6. For development build:

    • Create .env file and specify the VITE_PORT (refer to .env.example) in packages/ui

    • Create .env file and specify the PORT (refer to .env.example) in packages/server

    • Run:

      pnpm dev
      

    Any code changes will reload the app automatically on http://localhost:8080

🌱 Env Variables

Flowise supports different environment variables to configure your instance. You can specify the following variables in the .env file inside packages/server folder. Read more

📖 Documentation

You can view the Flowise Docs here

🌐 Self Host

Deploy Flowise self-hosted in your existing infrastructure, we support various deployments

☁️ Flowise Cloud

Get Started with Flowise Cloud.

🙋 Support

Feel free to ask any questions, raise problems, and request new features in Discussion.

🙌 Contributing

Thanks go to these awesome contributors



See Contributing Guide. Reach out to us at Discord if you have any questions or issues.

Star History Chart

📄 License

Source code in this repository is made available under the Apache License Version 2.0.

S
Description
Drag & drop UI to build your customized LLM flow
Readme 55 MiB
Languages
TypeScript 53.9%
JavaScript 33.3%
HTML 6.5%
Handlebars 6%
CSS 0.2%