Ebrahimalnono commited on
Commit
64c2698
1 Parent(s): 0387ef5

Upload 12 files

Browse files
Files changed (12) hide show
  1. CODE_OF_CONDUCT-ZH.md +49 -0
  2. CODE_OF_CONDUCT.md +76 -0
  3. CONTRIBUTING-ZH.md +158 -0
  4. CONTRIBUTING.md +166 -0
  5. Dockerfile +32 -17
  6. LICENSE.md +176 -0
  7. README-ZH.md +203 -0
  8. README.md +204 -10
  9. artillery-load-test.yml +36 -0
  10. babel.config.js +13 -0
  11. package.json +57 -0
  12. turbo.json +13 -0
CODE_OF_CONDUCT-ZH.md ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!-- markdownlint-disable MD030 -->
2
+
3
+ # 贡献者公约行为准则
4
+
5
+ [English](<./CODE_OF_CONDUCT.md>) | 中文
6
+
7
+ ## 我们的承诺
8
+
9
+ 为了促进一个开放和友好的环境,我们作为贡献者和维护者承诺,使参与我们的项目和社区的体验对每个人来说都是无骚扰的,无论年龄、体型、残疾、种族、性别认同和表达、经验水平、国籍、个人形象、种族、宗教或性取向如何。
10
+
11
+ ## 我们的标准
12
+
13
+ 有助于创建积极环境的行为示例包括:
14
+
15
+ - 使用友好和包容性的语言
16
+ - 尊重不同的观点和经验
17
+ - 优雅地接受建设性的批评
18
+ - 关注社区最有利的事情
19
+ - 向其他社区成员表达同理心
20
+
21
+ 参与者不可接受的行为示例包括:
22
+
23
+ - 使用性暗示的语言或图像和不受欢迎的性关注或进展
24
+ - 恶作剧、侮辱/贬低的评论和个人或政治攻击
25
+ - 公开或私下骚扰
26
+ - 未经明确许可发布他人的私人信息,如实际或电子地址
27
+ - 在专业环境中可能被合理认为不适当的其他行为
28
+
29
+ ## 我们的责任
30
+
31
+ 项目维护者有责任明确可接受行为的标准,并预期对任何不可接受行为的情况采取适当和公正的纠正措施。
32
+
33
+ 项目维护者有权和责任删除、编辑或拒绝不符合本行为准则的评论、提交、代码、维基编辑、问题和其他贡献,或者临时或永久禁止任何贡献者,如果他们认为其行为不适当、威胁、冒犯或有害。
34
+
35
+ ## 适用范围
36
+
37
+ 本行为准则适用于项目空间和公共空间,当个人代表项目或其社区时。代表项目或社区的示例包括使用官方项目电子邮件地址、通过官方社交媒体账号发布或在线或离线活动中担任指定代表。项目的代表可以由项目维护者进一步定义和澄清。
38
+
39
+ ## 执法
40
+
41
+ 可以通过联系项目团队 hello@flowiseai.com 来报告滥用、骚扰或其他不可接受的行为。所有投诉将经过审核和调查,并将得出视情况认为必要和适当的回应。项目团队有义务对事件举报人保持机密。具体执行政策的更多细节可能会单独发布。
42
+
43
+ 如果项目维护者不诚信地遵守或执行行为准则,可能会面临其他项目领导成员决定的临时或永久的后果。
44
+
45
+ ## 归属
46
+
47
+ 该行为准则的内容来自于[贡献者公约](http://contributor-covenant.org/)1.4版,可在[http://contributor-covenant.org/version/1/4](http://contributor-covenant.org/version/1/4)上获取。
48
+
49
+ [主页]: http://contributor-covenant.org
CODE_OF_CONDUCT.md ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ English | [中文](<./CODE_OF_CONDUCT-ZH.md>)
4
+
5
+ ## Our Pledge
6
+
7
+ In the interest of fostering an open and welcoming environment, we as
8
+ contributors and maintainers pledge to making participation in our project and
9
+ our community a harassment-free experience for everyone, regardless of age, body
10
+ size, disability, ethnicity, gender identity and expression, level of experience,
11
+ nationality, personal appearance, race, religion, or sexual identity and
12
+ orientation.
13
+
14
+ ## Our Standards
15
+
16
+ Examples of behavior that contributes to creating a positive environment
17
+ include:
18
+
19
+ - Using welcoming and inclusive language
20
+ - Being respectful of differing viewpoints and experiences
21
+ - Gracefully accepting constructive criticism
22
+ - Focusing on what is best for the community
23
+ - Showing empathy towards other community members
24
+
25
+ Examples of unacceptable behavior by participants include:
26
+
27
+ - The use of sexualized language or imagery and unwelcome sexual attention or
28
+ advances
29
+ - Trolling, insulting/derogatory comments, and personal or political attacks
30
+ - Public or private harassment
31
+ - Publishing others' private information, such as a physical or electronic
32
+ address, without explicit permission
33
+ - Other conduct which could reasonably be considered inappropriate in a
34
+ professional setting
35
+
36
+ ## Our Responsibilities
37
+
38
+ Project maintainers are responsible for clarifying the standards of acceptable
39
+ behavior and are expected to take appropriate and fair corrective action in
40
+ response to any instances of unacceptable behavior.
41
+
42
+ Project maintainers have the right and responsibility to remove, edit, or
43
+ reject comments, commits, code, wiki edits, issues, and other contributions
44
+ that are not aligned to this Code of Conduct, or to ban temporarily or
45
+ permanently any contributor for other behaviors that they deem inappropriate,
46
+ threatening, offensive, or harmful.
47
+
48
+ ## Scope
49
+
50
+ This Code of Conduct applies both within project spaces and in public spaces
51
+ when an individual is representing the project or its community. Examples of
52
+ representing a project or community include using an official project e-mail
53
+ address, posting via an official social media account, or acting as an appointed
54
+ representative at an online or offline event. Representation of a project may be
55
+ further defined and clarified by project maintainers.
56
+
57
+ ## Enforcement
58
+
59
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
60
+ reported by contacting the project team at hello@flowiseai.com. All
61
+ complaints will be reviewed and investigated and will result in a response that
62
+ is deemed necessary and appropriate to the circumstances. The project team is
63
+ obligated to maintain confidentiality with regard to the reporter of an incident.
64
+ Further details of specific enforcement policies may be posted separately.
65
+
66
+ Project maintainers who do not follow or enforce the Code of Conduct in good
67
+ faith may face temporary or permanent repercussions as determined by other
68
+ members of the project's leadership.
69
+
70
+ ## Attribution
71
+
72
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
73
+ available at [http://contributor-covenant.org/version/1/4][version]
74
+
75
+ [homepage]: http://contributor-covenant.org
76
+ [version]: http://contributor-covenant.org/version/1/4/
CONTRIBUTING-ZH.md ADDED
@@ -0,0 +1,158 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!-- markdownlint-disable MD030 -->
2
+
3
+ # 贡献给 Flowise
4
+
5
+ [English](./CONTRIBUTING.md) | 中文
6
+
7
+ 我们欢迎任何形式的贡献。
8
+
9
+ ## ⭐ 点赞
10
+
11
+ 点赞并分享[Github 仓库](https://github.com/FlowiseAI/Flowise)。
12
+
13
+ ## 🙋 问题和回答
14
+
15
+ 在[问题和回答](https://github.com/FlowiseAI/Flowise/discussions/categories/q-a)部分搜索任何问题,如果找不到,可以毫不犹豫地创建一个。这可能会帮助到其他有类似问题的人。
16
+
17
+ ## 🙌 分享 Chatflow
18
+
19
+ 是的!分享你如何使用 Flowise 是一种贡献方式。将你的 Chatflow 导出为 JSON,附上截图并在[展示和分享](https://github.com/FlowiseAI/Flowise/discussions/categories/show-and-tell)部分分享。
20
+
21
+ ## 💡 想法
22
+
23
+ 欢迎各种想法,如新功能、应用集成和区块链网络。在[想法](https://github.com/FlowiseAI/Flowise/discussions/categories/ideas)部分提交。
24
+
25
+ ## 🐞 报告错误
26
+
27
+ 发现问题了吗?[报告它](https://github.com/FlowiseAI/Flowise/issues/new/choose)。
28
+
29
+ ## 👨‍💻 贡献代码
30
+
31
+ 不确定要贡献什么?一些想法:
32
+
33
+ - 从 Langchain 创建新组件
34
+ - 更新现有组件,如扩展功能、修复错误
35
+ - 添加新的 Chatflow 想法
36
+
37
+ ### 开发人员
38
+
39
+ Flowise 在一个单一的单体存储库中有 3 个不同的模块。
40
+
41
+ - `server`:用于提供 API 逻辑的 Node 后端
42
+ - `ui`:React 前端
43
+ - `components`:Langchain 组件
44
+
45
+ #### 先决条件
46
+
47
+ - 安装 [Yarn v1](https://classic.yarnpkg.com/en/docs/install)
48
+ ```bash
49
+ npm i -g yarn
50
+ ```
51
+
52
+ #### 逐步指南
53
+
54
+ 1. Fork 官方的[Flowise Github 仓库](https://github.com/FlowiseAI/Flowise)。
55
+
56
+ 2. 克隆你 fork 的存储库。
57
+
58
+ 3. 创建一个新的分支,参考[指南](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository)。命名约定:
59
+
60
+ - 对于功能分支:`feature/<你的新功能>`
61
+ - 对于 bug 修复分支:`bugfix/<你的新bug修复>`。
62
+
63
+ 4. 切换到新创建的分支。
64
+
65
+ 5. 进入存储库文件夹
66
+
67
+ ```bash
68
+ cd Flowise
69
+ ```
70
+
71
+ 6. 安装所有模块的依赖项:
72
+
73
+ ```bash
74
+ yarn install
75
+ ```
76
+
77
+ 7. 构建所有代码:
78
+
79
+ ```bash
80
+ yarn build
81
+ ```
82
+
83
+ 8. 在[http://localhost:3000](http://localhost:3000)上启动应用程序
84
+
85
+ ```bash
86
+ yarn start
87
+ ```
88
+
89
+ 9. 开发时:
90
+
91
+ - 在`packages/ui`中创建`.env`文件并指定`PORT`(参考`.env.example`)
92
+ - 在`packages/server`中创建`.env`文件并指定`PORT`(参考`.env.example`)
93
+ - 运行
94
+
95
+ ```bash
96
+ yarn dev
97
+ ```
98
+
99
+ 对`packages/ui`或`packages/server`进行的任何更改都将反映在[http://localhost:8080](http://localhost:8080)上
100
+
101
+ 对于`packages/components`中进行的更改,再次运行`yarn build`以应用更改。
102
+
103
+ 10. 做完所有的更改后,运行以下命令来确保在生产环境中一切正常:
104
+
105
+ ```bash
106
+ yarn build
107
+ ```
108
+
109
+
110
+
111
+ ```bash
112
+ yarn start
113
+ ```
114
+
115
+ 11. 提交代码并从指向 [Flowise 主分支](https://github.com/FlowiseAI/Flowise/tree/master) 的分叉分支上提交 Pull Request。
116
+
117
+ ## 🌱 环境变量
118
+
119
+ Flowise 支持不同的环境变量来配置您的实例。您可以在 `packages/server` 文件夹中的 `.env` 文件中指定以下变量。阅读[更多信息](https://docs.flowiseai.com/environment-variables)
120
+
121
+ | 变量名 | 描述 | 类型 | 默认值 |
122
+ | --------------------------- | ------------------------------------------------------ | ----------------------------------------------- | ----------------------------------- |
123
+ | PORT | Flowise 运行的 HTTP 端口 | 数字 | 3000 |
124
+ | FLOWISE_USERNAME | 登录用户名 | 字符串 | |
125
+ | FLOWISE_PASSWORD | 登录密码 | 字符串 | |
126
+ | FLOWISE_FILE_SIZE_LIMIT | 上传文件大小限制 | 字符串 | 50mb |
127
+ | DEBUG | 打印组件的日志 | 布尔值 | |
128
+ | LOG_PATH | 存储日志文件的位置 | 字符串 | `your-path/Flowise/logs` |
129
+ | LOG_LEVEL | 日志的不同级别 | 枚举字符串: `error`, `info`, `verbose`, `debug` | `info` |
130
+ | APIKEY_PATH | 存储 API 密钥的位置 | 字符串 | `your-path/Flowise/packages/server` |
131
+ | TOOL_FUNCTION_BUILTIN_DEP | 用于工具函数的 NodeJS 内置模块 | 字符串 | |
132
+ | TOOL_FUNCTION_EXTERNAL_DEP | 用于工具函数的外部模块 | 字符串 | |
133
+ | DATABASE_TYPE | 存储 flowise 数据的数据库类型 | 枚举字符串: `sqlite`, `mysql`, `postgres` | `sqlite` |
134
+ | DATABASE_PATH | 数据库保存的位置(当 DATABASE_TYPE 是 sqlite 时) | 字符串 | `your-home-dir/.flowise` |
135
+ | DATABASE_HOST | 主机 URL 或 IP 地址(当 DATABASE_TYPE 不是 sqlite 时) | 字符串 | |
136
+ | DATABASE_PORT | 数据库端口(当 DATABASE_TYPE 不是 sqlite 时) | 字符串 | |
137
+ | DATABASE_USERNAME | 数据库用户名(当 DATABASE_TYPE 不是 sqlite 时) | 字符串 | |
138
+ | DATABASE_PASSWORD | 数据库密码(当 DATABASE_TYPE 不是 sqlite 时) | 字符串 | |
139
+ | DATABASE_NAME | 数据库名称(当 DATABASE_TYPE 不是 sqlite 时) | 字符串 | |
140
+ | SECRETKEY_PATH | 保存加密密钥(用于加密/解密凭据)的位置 | 字符串 | `your-path/Flowise/packages/server` |
141
+ | FLOWISE_SECRETKEY_OVERWRITE | 加密密钥用于替代存储在 SECRETKEY_PATH 中的密钥 | 字符串 |
142
+ | DISABLE_FLOWISE_TELEMETRY | 关闭遥测 | 字符串 |
143
+
144
+ 您也可以在使用 `npx` 时指定环境变量。例如:
145
+
146
+ ```
147
+ npx flowise start --PORT=3000 --DEBUG=true
148
+ ```
149
+
150
+ ## 📖 贡献文档
151
+
152
+ [Flowise 文档](https://github.com/FlowiseAI/FlowiseDocs)
153
+
154
+ ## 🏷️ Pull Request 流程
155
+
156
+ 当您打开一个 Pull Request 时,FlowiseAI 团队的成员将自动收到通知/指派。您也可以在 [Discord](https://discord.gg/jbaHfsRVBW) 上联系我们。
157
+
158
+ ##
CONTRIBUTING.md ADDED
@@ -0,0 +1,166 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!-- markdownlint-disable MD030 -->
2
+
3
+ # Contributing to Flowise
4
+
5
+ English | [中文](./CONTRIBUTING-ZH.md)
6
+
7
+ We appreciate any form of contributions.
8
+
9
+ ## ⭐ Star
10
+
11
+ Star and share the [Github Repo](https://github.com/FlowiseAI/Flowise).
12
+
13
+ ## 🙋 Q&A
14
+
15
+ Search up for any questions in [Q&A section](https://github.com/FlowiseAI/Flowise/discussions/categories/q-a), if you can't find one, don't hesitate to create one. It might helps others that have similar question.
16
+
17
+ ## 🙌 Share Chatflow
18
+
19
+ Yes! Sharing how you use Flowise is a way of contribution. Export your chatflow as JSON, attach a screenshot and share it in [Show and Tell section](https://github.com/FlowiseAI/Flowise/discussions/categories/show-and-tell).
20
+
21
+ ## 💡 Ideas
22
+
23
+ Ideas are welcome such as new feature, apps integration, and blockchain networks. Submit in [Ideas section](https://github.com/FlowiseAI/Flowise/discussions/categories/ideas).
24
+
25
+ ## 🐞 Report Bugs
26
+
27
+ Found an issue? [Report it](https://github.com/FlowiseAI/Flowise/issues/new/choose).
28
+
29
+ ## 👨‍💻 Contribute to Code
30
+
31
+ Not sure what to contribute? Some ideas:
32
+
33
+ - Create new components from Langchain
34
+ - Update existing components such as extending functionality, fixing bugs
35
+ - Add new chatflow ideas
36
+
37
+ ### Developers
38
+
39
+ Flowise has 3 different modules in a single mono repository.
40
+
41
+ - `server`: Node backend to serve API logics
42
+ - `ui`: React frontend
43
+ - `components`: Langchain components
44
+
45
+ #### Prerequisite
46
+
47
+ - Install [Yarn v1](https://classic.yarnpkg.com/en/docs/install)
48
+ ```bash
49
+ npm i -g yarn
50
+ ```
51
+
52
+ #### Step by step
53
+
54
+ 1. Fork the official [Flowise Github Repository](https://github.com/FlowiseAI/Flowise).
55
+
56
+ 2. Clone your forked repository.
57
+
58
+ 3. Create a new branch, see [guide](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository). Naming conventions:
59
+
60
+ - For feature branch: `feature/<Your New Feature>`
61
+ - For bug fix branch: `bugfix/<Your New Bugfix>`.
62
+
63
+ 4. Switch to the newly created branch.
64
+
65
+ 5. Go into repository folder
66
+
67
+ ```bash
68
+ cd Flowise
69
+ ```
70
+
71
+ 6. Install all dependencies of all modules:
72
+
73
+ ```bash
74
+ yarn install
75
+ ```
76
+
77
+ 7. Build all the code:
78
+
79
+ ```bash
80
+ yarn build
81
+ ```
82
+
83
+ 8. Start the app on [http://localhost:3000](http://localhost:3000)
84
+
85
+ ```bash
86
+ yarn start
87
+ ```
88
+
89
+ 9. For development:
90
+
91
+ - Create `.env` file and specify the `PORT` (refer to `.env.example`) in `packages/ui`
92
+ - Create `.env` file and specify the `PORT` (refer to `.env.example`) in `packages/server`
93
+ - Run
94
+
95
+ ```bash
96
+ yarn dev
97
+ ```
98
+
99
+ Any changes made in `packages/ui` or `packages/server` will be reflected on [http://localhost:8080](http://localhost:8080)
100
+
101
+ For changes made in `packages/components`, run `yarn build` again to pickup the changes.
102
+
103
+ 10. After making all the changes, run
104
+
105
+ ```bash
106
+ yarn build
107
+ ```
108
+
109
+ and
110
+
111
+ ```bash
112
+ yarn start
113
+ ```
114
+
115
+ to make sure everything works fine in production.
116
+
117
+ 11. Commit code and submit Pull Request from forked branch pointing to [Flowise master](https://github.com/FlowiseAI/Flowise/tree/master).
118
+
119
+ ## 🌱 Env Variables
120
+
121
+ Flowise support different environment variables to configure your instance. You can specify the following variables in the `.env` file inside `packages/server` folder. Read [more](https://docs.flowiseai.com/environment-variables)
122
+
123
+ | Variable | Description | Type | Default |
124
+ | --------------------------- | ---------------------------------------------------------------------------- | ------------------------------------------------ | ----------------------------------- |
125
+ | PORT | The HTTP port Flowise runs on | Number | 3000 |
126
+ | CORS_ORIGINS | The allowed origins for all cross-origin HTTP calls | String | |
127
+ | IFRAME_ORIGINS | The allowed origins for iframe src embedding | String | |
128
+ | FLOWISE_USERNAME | Username to login | String | |
129
+ | FLOWISE_PASSWORD | Password to login | String | |
130
+ | FLOWISE_FILE_SIZE_LIMIT | Upload File Size Limit | String | 50mb |
131
+ | DEBUG | Print logs from components | Boolean | |
132
+ | LOG_PATH | Location where log files are stored | String | `your-path/Flowise/logs` |
133
+ | LOG_LEVEL | Different levels of logs | Enum String: `error`, `info`, `verbose`, `debug` | `info` |
134
+ | APIKEY_PATH | Location where api keys are saved | String | `your-path/Flowise/packages/server` |
135
+ | TOOL_FUNCTION_BUILTIN_DEP | NodeJS built-in modules to be used for Tool Function | String | |
136
+ | TOOL_FUNCTION_EXTERNAL_DEP | External modules to be used for Tool Function | String | |
137
+ | DATABASE_TYPE | Type of database to store the flowise data | Enum String: `sqlite`, `mysql`, `postgres` | `sqlite` |
138
+ | DATABASE_PATH | Location where database is saved (When DATABASE_TYPE is sqlite) | String | `your-home-dir/.flowise` |
139
+ | DATABASE_HOST | Host URL or IP address (When DATABASE_TYPE is not sqlite) | String | |
140
+ | DATABASE_PORT | Database port (When DATABASE_TYPE is not sqlite) | String | |
141
+ | DATABASE_USER | Database username (When DATABASE_TYPE is not sqlite) | String | |
142
+ | DATABASE_PASSWORD | Database password (When DATABASE_TYPE is not sqlite) | String | |
143
+ | DATABASE_NAME | Database name (When DATABASE_TYPE is not sqlite) | String | |
144
+ | DATABASE_SSL_KEY_BASE64 | Database SSL client cert in base64 (takes priority over DATABASE_SSL) | Boolean | false |
145
+ | DATABASE_SSL | Database connection overssl (When DATABASE_TYPE is postgre) | Boolean | false |
146
+ | SECRETKEY_PATH | Location where encryption key (used to encrypt/decrypt credentials) is saved | String | `your-path/Flowise/packages/server` |
147
+ | FLOWISE_SECRETKEY_OVERWRITE | Encryption key to be used instead of the key stored in SECRETKEY_PATH | String |
148
+ | DISABLE_FLOWISE_TELEMETRY | Turn off telemetry | Boolean |
149
+
150
+ You can also specify the env variables when using `npx`. For example:
151
+
152
+ ```
153
+ npx flowise start --PORT=3000 --DEBUG=true
154
+ ```
155
+
156
+ ## 📖 Contribute to Docs
157
+
158
+ [Flowise Docs](https://github.com/FlowiseAI/FlowiseDocs)
159
+
160
+ ## 🏷️ Pull Request process
161
+
162
+ A member of the FlowiseAI team will automatically be notified/assigned when you open a pull request. You can also reach out to us on [Discord](https://discord.gg/jbaHfsRVBW).
163
+
164
+ ## 📜 Code of Conduct
165
+
166
+ This project and everyone participating in it are governed by the Code of Conduct which can be found in the [file](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to hello@flowiseai.com.
Dockerfile CHANGED
@@ -1,26 +1,41 @@
1
- FROM node:18-alpine
2
- USER root
 
 
 
3
 
4
- # Arguments that can be passed at build time
5
- ARG FLOWISE_PATH=/usr/local/lib/node_modules/flowise
6
- ARG BASE_PATH=/root/.flowise
7
- ARG DATABASE_PATH=$BASE_PATH
8
- ARG APIKEY_PATH=$BASE_PATH
9
- ARG SECRETKEY_PATH=$BASE_PATH
10
- ARG LOG_PATH=$BASE_PATH/logs
11
 
12
- # Install dependencies
13
- RUN apk add --no-cache git python3 py3-pip make g++ build-base cairo-dev pango-dev chromium
14
 
15
  ENV PUPPETEER_SKIP_DOWNLOAD=true
16
  ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
17
 
18
- # Install Flowise globally
19
- RUN npm install -g flowise
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
 
21
- # Configure Flowise directories using the ARG
22
- RUN mkdir -p $LOG_PATH $FLOWISE_PATH/uploads && chmod -R 777 $LOG_PATH $FLOWISE_PATH
23
 
24
- WORKDIR /data
25
 
26
- CMD ["npx", "flowise", "start"]
 
1
+ # Build local monorepo image
2
+ # docker build --no-cache -t flowise .
3
+
4
+ # Run image
5
+ # docker run -d -p 3000:3000 flowise
6
 
7
+ FROM node:18-alpine
8
+ RUN apk add --update libc6-compat python3 make g++
9
+ # needed for pdfjs-dist
10
+ RUN apk add --no-cache build-base cairo-dev pango-dev
 
 
 
11
 
12
+ # Install Chromium
13
+ RUN apk add --no-cache chromium
14
 
15
  ENV PUPPETEER_SKIP_DOWNLOAD=true
16
  ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
17
 
18
+ WORKDIR /usr/src/packages
19
+
20
+ # Copy root package.json and lockfile
21
+ COPY package.json yarn.loc[k] ./
22
+
23
+ # Copy components package.json
24
+ COPY packages/components/package.json ./packages/components/package.json
25
+
26
+ # Copy ui package.json
27
+ COPY packages/ui/package.json ./packages/ui/package.json
28
+
29
+ # Copy server package.json
30
+ COPY packages/server/package.json ./packages/server/package.json
31
+
32
+ RUN yarn install
33
+
34
+ # Copy app source
35
+ COPY . .
36
 
37
+ RUN yarn build
 
38
 
39
+ EXPOSE 3000
40
 
41
+ CMD [ "yarn", "start" ]
LICENSE.md ADDED
@@ -0,0 +1,176 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work
38
+ (an example is provided in the Appendix below).
39
+
40
+ "Derivative Works" shall mean any work, whether in Source or Object
41
+ form, that is based on (or derived from) the Work and for which the
42
+ editorial revisions, annotations, elaborations, or other modifications
43
+ represent, as a whole, an original work of authorship. For the purposes
44
+ of this License, Derivative Works shall not include works that remain
45
+ separable from, or merely link (or bind by name) to the interfaces of,
46
+ the Work and Derivative Works thereof.
47
+
48
+ "Contribution" shall mean any work of authorship, including
49
+ the original version of the Work and any modifications or additions
50
+ to that Work or Derivative Works thereof, that is intentionally
51
+ submitted to Licensor for inclusion in the Work by the copyright owner
52
+ or by an individual or Legal Entity authorized to submit on behalf of
53
+ the copyright owner. For the purposes of this definition, "submitted"
54
+ means any form of electronic, verbal, or written communication sent
55
+ to the Licensor or its representatives, including but not limited to
56
+ communication on electronic mailing lists, source code control systems,
57
+ and issue tracking systems that are managed by, or on behalf of, the
58
+ Licensor for the purpose of discussing and improving the Work, but
59
+ excluding communication that is conspicuously marked or otherwise
60
+ designated in writing by the copyright owner as "Not a Contribution."
61
+
62
+ "Contributor" shall mean Licensor and any individual or Legal Entity
63
+ on behalf of whom a Contribution has been received by Licensor and
64
+ subsequently incorporated within the Work.
65
+
66
+ 2. Grant of Copyright License. Subject to the terms and conditions of
67
+ this License, each Contributor hereby grants to You a perpetual,
68
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
+ copyright license to reproduce, prepare Derivative Works of,
70
+ publicly display, publicly perform, sublicense, and distribute the
71
+ Work and such Derivative Works in Source or Object form.
72
+
73
+ 3. Grant of Patent License. Subject to the terms and conditions of
74
+ this License, each Contributor hereby grants to You a perpetual,
75
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
+ (except as stated in this section) patent license to make, have made,
77
+ use, offer to sell, sell, import, and otherwise transfer the Work,
78
+ where such license applies only to those patent claims licensable
79
+ by such Contributor that are necessarily infringed by their
80
+ Contribution(s) alone or by combination of their Contribution(s)
81
+ with the Work to which such Contribution(s) was submitted. If You
82
+ institute patent litigation against any entity (including a
83
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
84
+ or a Contribution incorporated within the Work constitutes direct
85
+ or contributory patent infringement, then any patent licenses
86
+ granted to You under this License for that Work shall terminate
87
+ as of the date such litigation is filed.
88
+
89
+ 4. Redistribution. You may reproduce and distribute copies of the
90
+ Work or Derivative Works thereof in any medium, with or without
91
+ modifications, and in Source or Object form, provided that You
92
+ meet the following conditions:
93
+
94
+ (a) You must give any other recipients of the Work or
95
+ Derivative Works a copy of this License; and
96
+
97
+ (b) You must cause any modified files to carry prominent notices
98
+ stating that You changed the files; and
99
+
100
+ (c) You must retain, in the Source form of any Derivative Works
101
+ that You distribute, all copyright, patent, trademark, and
102
+ attribution notices from the Source form of the Work,
103
+ excluding those notices that do not pertain to any part of
104
+ the Derivative Works; and
105
+
106
+ (d) If the Work includes a "NOTICE" text file as part of its
107
+ distribution, then any Derivative Works that You distribute must
108
+ include a readable copy of the attribution notices contained
109
+ within such NOTICE file, excluding those notices that do not
110
+ pertain to any part of the Derivative Works, in at least one
111
+ of the following places: within a NOTICE text file distributed
112
+ as part of the Derivative Works; within the Source form or
113
+ documentation, if provided along with the Derivative Works; or,
114
+ within a display generated by the Derivative Works, if and
115
+ wherever such third-party notices normally appear. The contents
116
+ of the NOTICE file are for informational purposes only and
117
+ do not modify the License. You may add Your own attribution
118
+ notices within Derivative Works that You distribute, alongside
119
+ or as an addendum to the NOTICE text from the Work, provided
120
+ that such additional attribution notices cannot be construed
121
+ as modifying the License.
122
+
123
+ You may add Your own copyright statement to Your modifications and
124
+ may provide additional or different license terms and conditions
125
+ for use, reproduction, or distribution of Your modifications, or
126
+ for any such Derivative Works as a whole, provided Your use,
127
+ reproduction, and distribution of the Work otherwise complies with
128
+ the conditions stated in this License.
129
+
130
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
131
+ any Contribution intentionally submitted for inclusion in the Work
132
+ by You to the Licensor shall be under the terms and conditions of
133
+ this License, without any additional terms or conditions.
134
+ Notwithstanding the above, nothing herein shall supersede or modify
135
+ the terms of any separate license agreement you may have executed
136
+ with Licensor regarding such Contributions.
137
+
138
+ 6. Trademarks. This License does not grant permission to use the trade
139
+ names, trademarks, service marks, or product names of the Licensor,
140
+ except as required for reasonable and customary use in describing the
141
+ origin of the Work and reproducing the content of the NOTICE file.
142
+
143
+ 7. Disclaimer of Warranty. Unless required by applicable law or
144
+ agreed to in writing, Licensor provides the Work (and each
145
+ Contributor provides its Contributions) on an "AS IS" BASIS,
146
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
+ implied, including, without limitation, any warranties or conditions
148
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
+ PARTICULAR PURPOSE. You are solely responsible for determining the
150
+ appropriateness of using or redistributing the Work and assume any
151
+ risks associated with Your exercise of permissions under this License.
152
+
153
+ 8. Limitation of Liability. In no event and under no legal theory,
154
+ whether in tort (including negligence), contract, or otherwise,
155
+ unless required by applicable law (such as deliberate and grossly
156
+ negligent acts) or agreed to in writing, shall any Contributor be
157
+ liable to You for damages, including any direct, indirect, special,
158
+ incidental, or consequential damages of any character arising as a
159
+ result of this License or out of the use or inability to use the
160
+ Work (including but not limited to damages for loss of goodwill,
161
+ work stoppage, computer failure or malfunction, or any and all
162
+ other commercial damages or losses), even if such Contributor
163
+ has been advised of the possibility of such damages.
164
+
165
+ 9. Accepting Warranty or Additional Liability. While redistributing
166
+ the Work or Derivative Works thereof, You may choose to offer,
167
+ and charge a fee for, acceptance of support, warranty, indemnity,
168
+ or other liability obligations and/or rights consistent with this
169
+ License. However, in accepting such obligations, You may act only
170
+ on Your own behalf and on Your sole responsibility, not on behalf
171
+ of any other Contributor, and only if You agree to indemnify,
172
+ defend, and hold each Contributor harmless for any liability
173
+ incurred by, or claims asserted against, such Contributor by reason
174
+ of your accepting any such warranty or additional liability.
175
+
176
+ END OF TERMS AND CONDITIONS
README-ZH.md ADDED
@@ -0,0 +1,203 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!-- markdownlint-disable MD030 -->
2
+
3
+ <img width="100%" src="https://github.com/FlowiseAI/Flowise/blob/main/images/flowise.png?raw=true"></a>
4
+
5
+ # Flowise - 轻松构建 LLM 应用程序
6
+
7
+ [![发布说明](https://img.shields.io/github/release/FlowiseAI/Flowise)](https://github.com/FlowiseAI/Flowise/releases)
8
+ [![Discord](https://img.shields.io/discord/1087698854775881778?label=Discord&logo=discord)](https://discord.gg/jbaHfsRVBW)
9
+ [![Twitter关注](https://img.shields.io/twitter/follow/FlowiseAI?style=social)](https://twitter.com/FlowiseAI)
10
+ [![GitHub星图](https://img.shields.io/github/stars/FlowiseAI/Flowise?style=social)](https://star-history.com/#FlowiseAI/Flowise)
11
+ [![GitHub分支](https://img.shields.io/github/forks/FlowiseAI/Flowise?style=social)](https://github.com/FlowiseAI/Flowise/fork)
12
+
13
+ [English](./README.md) | 中文
14
+
15
+ <h3>拖放界面构建定制化的LLM流程</h3>
16
+ <a href="https://github.com/FlowiseAI/Flowise">
17
+ <img width="100%" src="https://github.com/FlowiseAI/Flowise/blob/main/images/flowise.gif?raw=true"></a>
18
+
19
+ ## ⚡ 快速入门
20
+
21
+ 下载并安装 [NodeJS](https://nodejs.org/en/download) >= 18.15.0
22
+
23
+ 1. 安装 Flowise
24
+ ```bash
25
+ npm install -g flowise
26
+ ```
27
+ 2. 启动 Flowise
28
+
29
+ ```bash
30
+ npx flowise start
31
+ ```
32
+
33
+ 使用用户名和密码
34
+
35
+ ```bash
36
+ npx flowise start --FLOWISE_USERNAME=user --FLOWISE_PASSWORD=1234
37
+ ```
38
+
39
+ 3. 打开 [http://localhost:3000](http://localhost:3000)
40
+
41
+ ## 🐳 Docker
42
+
43
+ ### Docker Compose
44
+
45
+ 1. 进入项目根目录下的 `docker` 文件夹
46
+ 2. 创建 `.env` 文件并指定 `PORT`(参考 `.env.example`)
47
+ 3. 运行 `docker-compose up -d`
48
+ 4. 打开 [http://localhost:3000](http://localhost:3000)
49
+ 5. 可以通过 `docker-compose stop` 停止容器
50
+
51
+ ### Docker 镜像
52
+
53
+ 1. 本地构建镜像:
54
+ ```bash
55
+ docker build --no-cache -t flowise .
56
+ ```
57
+ 2. 运行镜像:
58
+
59
+ ```bash
60
+ docker run -d --name flowise -p 3000:3000 flowise
61
+ ```
62
+
63
+ 3. 停止镜像:
64
+ ```bash
65
+ docker stop flowise
66
+ ```
67
+
68
+ ## 👨‍💻 开发者
69
+
70
+ Flowise 在一个单一的代码库中有 3 个不同的模块。
71
+
72
+ - `server`:用于提供 API 逻辑的 Node 后端
73
+ - `ui`:React 前端
74
+ - `components`:Langchain 组件
75
+
76
+ ### 先决条件
77
+
78
+ - 安装 [Yarn v1](https://classic.yarnpkg.com/en/docs/install)
79
+ ```bash
80
+ npm i -g yarn
81
+ ```
82
+
83
+ ### 设置
84
+
85
+ 1. 克隆仓库
86
+
87
+ ```bash
88
+ git clone https://github.com/FlowiseAI/Flowise.git
89
+ ```
90
+
91
+ 2. 进入仓库文件夹
92
+
93
+ ```bash
94
+ cd Flowise
95
+ ```
96
+
97
+ 3. 安装所有模块的依赖:
98
+
99
+ ```bash
100
+ yarn install
101
+ ```
102
+
103
+ 4. 构建所有代码:
104
+
105
+ ```bash
106
+ yarn build
107
+ ```
108
+
109
+ 5. 启动应用:
110
+
111
+ ```bash
112
+ yarn start
113
+ ```
114
+
115
+ 现在可以在 [http://localhost:3000](http://localhost:3000) 访问应用
116
+
117
+ 6. 用于开发构建:
118
+
119
+ - 在 `packages/ui` 中创建 `.env` 文件并指定 `PORT`(参考 `.env.example`)
120
+ - 在 `packages/server` 中创建 `.env` 文件并指定 `PORT`(参考 `.env.example`)
121
+ - 运行
122
+
123
+ ```bash
124
+ yarn dev
125
+ ```
126
+
127
+ 任何代码更改都会自动重新加载应用程序,访问 [http://localhost:8080](http://localhost:8080)
128
+
129
+ ## 🔒 认证
130
+
131
+ 要启用应用程序级身份验证,在 `packages/server` 的 `.env` 文件中添加 `FLOWISE_USERNAME` 和 `FLOWISE_PASSWORD`:
132
+
133
+ ```
134
+ FLOWISE_USERNAME=user
135
+ FLOWISE_PASSWORD=1234
136
+ ```
137
+
138
+ ## 🌱 环境变量
139
+
140
+ Flowise 支持不同的环境变量来配置您的实例。您可以在 `packages/server` 文件夹中的 `.env` 文件中指定以下变量。了解更多信息,请阅读[文档](https://github.com/FlowiseAI/Flowise/blob/main/CONTRIBUTING.md#-env-variables)
141
+
142
+ ## 📖 文档
143
+
144
+ [Flowise 文档](https://docs.flowiseai.com/)
145
+
146
+ ## 🌐 自托管
147
+
148
+ 在您现有的基础设施中部署自托管的 Flowise,我们支持各种[部署](https://docs.flowiseai.com/configuration/deployment)
149
+
150
+ - [AWS](https://docs.flowiseai.com/deployment/aws)
151
+ - [Azure](https://docs.flowiseai.com/deployment/azure)
152
+ - [Digital Ocean](https://docs.flowiseai.com/deployment/digital-ocean)
153
+ - [GCP](https://docs.flowiseai.com/deployment/gcp)
154
+ - <details>
155
+ <summary>其他</summary>
156
+
157
+ - [Railway](https://docs.flowiseai.com/deployment/railway)
158
+
159
+ [![在 Railway 上部署](https://railway.app/button.svg)](https://railway.app/template/pn4G8S?referralCode=WVNPD9)
160
+
161
+ - [Render](https://docs.flowiseai.com/deployment/render)
162
+
163
+ [![部署到 Render](https://render.com/images/deploy-to-render-button.svg)](https://docs.flowiseai.com/deployment/render)
164
+
165
+ - [HuggingFace Spaces](https://docs.flowiseai.com/deployment/hugging-face)
166
+
167
+ <a href="https://huggingface.co/spaces/FlowiseAI/Flowise"><img src="https://huggingface.co/datasets/huggingface/badges/raw/main/open-in-hf-spaces-sm.svg" alt="HuggingFace Spaces"></a>
168
+
169
+ - [Elestio](https://elest.io/open-source/flowiseai)
170
+
171
+ [![Deploy](https://pub-da36157c854648669813f3f76c526c2b.r2.dev/deploy-on-elestio-black.png)](https://elest.io/open-source/flowiseai)
172
+
173
+ - [Sealos](https://cloud.sealos.io/?openapp=system-template%3FtemplateName%3Dflowise)
174
+
175
+ [![部署到 Sealos](https://raw.githubusercontent.com/labring-actions/templates/main/Deploy-on-Sealos.svg)](https://cloud.sealos.io/?openapp=system-template%3FtemplateName%3Dflowise)
176
+
177
+ - [RepoCloud](https://repocloud.io/details/?app_id=29)
178
+
179
+ [![部署到 RepoCloud](https://d16t0pc4846x52.cloudfront.net/deploy.png)](https://repocloud.io/details/?app_id=29)
180
+
181
+ </details>
182
+
183
+ ## 💻 云托管
184
+
185
+ 即将推出
186
+
187
+ ## 🙋 支持
188
+
189
+ 在[讨论区](https://github.com/FlowiseAI/Flowise/discussions)中随时提问、提出问题和请求新功能
190
+
191
+ ## 🙌 贡献
192
+
193
+ 感谢这些了不起的贡献者
194
+
195
+ <a href="https://github.com/FlowiseAI/Flowise/graphs/contributors">
196
+ <img src="https://contrib.rocks/image?repo=FlowiseAI/Flowise" />
197
+ </a>
198
+
199
+ 参见[贡献指南](CONTRIBUTING.md)。如果您有任何问题或问题,请在[Discord](https://discord.gg/jbaHfsRVBW)上与我们联系。
200
+
201
+ ## 📄 许可证
202
+
203
+ 此代码库中的源代码在[Apache License Version 2.0 许可证](LICENSE.md)下提供。
README.md CHANGED
@@ -1,10 +1,204 @@
1
- ---
2
- title: Mycrew
3
- emoji: 🐢
4
- colorFrom: red
5
- colorTo: indigo
6
- sdk: docker
7
- pinned: false
8
- ---
9
-
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!-- markdownlint-disable MD030 -->
2
+
3
+ <img width="100%" src="https://github.com/FlowiseAI/Flowise/blob/main/images/flowise.png?raw=true"></a>
4
+
5
+ # Flowise - Build LLM Apps Easily
6
+
7
+ [![Release Notes](https://img.shields.io/github/release/FlowiseAI/Flowise)](https://github.com/FlowiseAI/Flowise/releases)
8
+ [![Discord](https://img.shields.io/discord/1087698854775881778?label=Discord&logo=discord)](https://discord.gg/jbaHfsRVBW)
9
+ [![Twitter Follow](https://img.shields.io/twitter/follow/FlowiseAI?style=social)](https://twitter.com/FlowiseAI)
10
+ [![GitHub star chart](https://img.shields.io/github/stars/FlowiseAI/Flowise?style=social)](https://star-history.com/#FlowiseAI/Flowise)
11
+ [![GitHub fork](https://img.shields.io/github/forks/FlowiseAI/Flowise?style=social)](https://github.com/FlowiseAI/Flowise/fork)
12
+
13
+ English | [中文](./README-ZH.md)
14
+
15
+ <h3>Drag & drop UI to build your customized LLM flow</h3>
16
+ <a href="https://github.com/FlowiseAI/Flowise">
17
+ <img width="100%" src="https://github.com/FlowiseAI/Flowise/blob/main/images/flowise.gif?raw=true"></a>
18
+
19
+ ## ⚡Quick Start
20
+
21
+ Download and Install [NodeJS](https://nodejs.org/en/download) >= 18.15.0
22
+
23
+ 1. Install Flowise
24
+ ```bash
25
+ npm install -g flowise
26
+ ```
27
+ 2. Start Flowise
28
+
29
+ ```bash
30
+ npx flowise start
31
+ ```
32
+
33
+ With username & password
34
+
35
+ ```bash
36
+ npx flowise start --FLOWISE_USERNAME=user --FLOWISE_PASSWORD=1234
37
+ ```
38
+
39
+ 3. Open [http://localhost:3000](http://localhost:3000)
40
+
41
+ ## 🐳 Docker
42
+
43
+ ### Docker Compose
44
+
45
+ 1. Go to `docker` folder at the root of the project
46
+ 2. Copy `.env.example` file, paste it into the same location, and rename to `.env`
47
+ 3. `docker-compose up -d`
48
+ 4. Open [http://localhost:3000](http://localhost:3000)
49
+ 5. You can bring the containers down by `docker-compose stop`
50
+
51
+ ### Docker Image
52
+
53
+ 1. Build the image locally:
54
+ ```bash
55
+ docker build --no-cache -t flowise .
56
+ ```
57
+ 2. Run image:
58
+
59
+ ```bash
60
+ docker run -d --name flowise -p 3000:3000 flowise
61
+ ```
62
+
63
+ 3. Stop image:
64
+ ```bash
65
+ docker stop flowise
66
+ ```
67
+
68
+ ## 👨‍💻 Developers
69
+
70
+ Flowise has 3 different modules in a single mono repository.
71
+
72
+ - `server`: Node backend to serve API logics
73
+ - `ui`: React frontend
74
+ - `components`: Langchain components
75
+
76
+ ### Prerequisite
77
+
78
+ - Install [Yarn v1](https://classic.yarnpkg.com/en/docs/install)
79
+ ```bash
80
+ npm i -g yarn
81
+ ```
82
+
83
+ ### Setup
84
+
85
+ 1. Clone the repository
86
+
87
+ ```bash
88
+ git clone https://github.com/FlowiseAI/Flowise.git
89
+ ```
90
+
91
+ 2. Go into repository folder
92
+
93
+ ```bash
94
+ cd Flowise
95
+ ```
96
+
97
+ 3. Install all dependencies of all modules:
98
+
99
+ ```bash
100
+ yarn install
101
+ ```
102
+
103
+ 4. Build all the code:
104
+
105
+ ```bash
106
+ yarn build
107
+ ```
108
+
109
+ 5. Start the app:
110
+
111
+ ```bash
112
+ yarn start
113
+ ```
114
+
115
+ You can now access the app on [http://localhost:3000](http://localhost:3000)
116
+
117
+ 6. For development build:
118
+
119
+ - Create `.env` file and specify the `PORT` (refer to `.env.example`) in `packages/ui`
120
+ - Create `.env` file and specify the `PORT` (refer to `.env.example`) in `packages/server`
121
+ - Run
122
+
123
+ ```bash
124
+ yarn dev
125
+ ```
126
+
127
+ Any code changes will reload the app automatically on [http://localhost:8080](http://localhost:8080)
128
+
129
+ ## 🔒 Authentication
130
+
131
+ To enable app level authentication, add `FLOWISE_USERNAME` and `FLOWISE_PASSWORD` to the `.env` file in `packages/server`:
132
+
133
+ ```
134
+ FLOWISE_USERNAME=user
135
+ FLOWISE_PASSWORD=1234
136
+ ```
137
+
138
+ ## 🌱 Env Variables
139
+
140
+ Flowise support different environment variables to configure your instance. You can specify the following variables in the `.env` file inside `packages/server` folder. Read [more](https://github.com/FlowiseAI/Flowise/blob/main/CONTRIBUTING.md#-env-variables)
141
+
142
+ ## 📖 Documentation
143
+
144
+ [Flowise Docs](https://docs.flowiseai.com/)
145
+
146
+ ## 🌐 Self Host
147
+
148
+ Deploy Flowise self-hosted in your existing infrastructure, we support various [deployments](https://docs.flowiseai.com/configuration/deployment)
149
+
150
+ - [AWS](https://docs.flowiseai.com/deployment/aws)
151
+ - [Azure](https://docs.flowiseai.com/deployment/azure)
152
+ - [Digital Ocean](https://docs.flowiseai.com/deployment/digital-ocean)
153
+ - [GCP](https://docs.flowiseai.com/deployment/gcp)
154
+ - <details>
155
+ <summary>Others</summary>
156
+
157
+ - [Railway](https://docs.flowiseai.com/deployment/railway)
158
+
159
+ [![Deploy on Railway](https://railway.app/button.svg)](https://railway.app/template/pn4G8S?referralCode=WVNPD9)
160
+
161
+ - [Render](https://docs.flowiseai.com/deployment/render)
162
+
163
+ [![Deploy to Render](https://render.com/images/deploy-to-render-button.svg)](https://docs.flowiseai.com/deployment/render)
164
+
165
+ - [HuggingFace Spaces](https://docs.flowiseai.com/deployment/hugging-face)
166
+
167
+ <a href="https://huggingface.co/spaces/FlowiseAI/Flowise"><img src="https://huggingface.co/datasets/huggingface/badges/raw/main/open-in-hf-spaces-sm.svg" alt="HuggingFace Spaces"></a>
168
+
169
+ - [Elestio](https://elest.io/open-source/flowiseai)
170
+
171
+ [![Deploy](https://pub-da36157c854648669813f3f76c526c2b.r2.dev/deploy-on-elestio-black.png)](https://elest.io/open-source/flowiseai)
172
+
173
+ - [Sealos](https://cloud.sealos.io/?openapp=system-template%3FtemplateName%3Dflowise)
174
+
175
+ [![](https://raw.githubusercontent.com/labring-actions/templates/main/Deploy-on-Sealos.svg)](https://cloud.sealos.io/?openapp=system-template%3FtemplateName%3Dflowise)
176
+
177
+ - [RepoCloud](https://repocloud.io/details/?app_id=29)
178
+
179
+ [![Deploy on RepoCloud](https://d16t0pc4846x52.cloudfront.net/deploy.png)](https://repocloud.io/details/?app_id=29)
180
+
181
+ </details>
182
+
183
+ ## 💻 Cloud Hosted
184
+
185
+ Coming soon
186
+
187
+ ## 🙋 Support
188
+
189
+ Feel free to ask any questions, raise problems, and request new features in [discussion](https://github.com/FlowiseAI/Flowise/discussions)
190
+
191
+ ## 🙌 Contributing
192
+
193
+ Thanks go to these awesome contributors
194
+
195
+ <a href="https://github.com/FlowiseAI/Flowise/graphs/contributors">
196
+ <img src="https://contrib.rocks/image?repo=FlowiseAI/Flowise" />
197
+ </a>
198
+
199
+ See [contributing guide](CONTRIBUTING.md). Reach out to us at [Discord](https://discord.gg/jbaHfsRVBW) if you have any questions or issues.
200
+ [![Star History Chart](https://api.star-history.com/svg?repos=FlowiseAI/Flowise&type=Timeline)](https://star-history.com/#FlowiseAI/Flowise&Date)
201
+
202
+ ## 📄 License
203
+
204
+ Source code in this repository is made available under the [Apache License Version 2.0](LICENSE.md).
artillery-load-test.yml ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # npm install -g artillery@latest
2
+ # artillery run artillery-load-test.yml
3
+ # Refer https://www.artillery.io/docs
4
+
5
+ config:
6
+ target: http://128.128.128.128:3000 # replace with your url
7
+ phases:
8
+ - duration: 1
9
+ arrivalRate: 1
10
+ rampTo: 2
11
+ name: Warm up phase
12
+ - duration: 1
13
+ arrivalRate: 2
14
+ rampTo: 3
15
+ name: Ramp up load
16
+ - duration: 1
17
+ arrivalRate: 3
18
+ name: Sustained peak load
19
+ scenarios:
20
+ - flow:
21
+ - loop:
22
+ - post:
23
+ url: '/api/v1/prediction/chatflow-id' # replace with your chatflowid
24
+ json:
25
+ question: 'hello' # replace with your question
26
+ count: 1 # how many request each user make
27
+
28
+ # User __
29
+ # 3 /
30
+ # 2 /
31
+ # 1 _/
32
+ # 1 2 3
33
+ # Seconds
34
+ # Total Users = 2 + 3 + 3 = 8
35
+ # Each making 1 HTTP call
36
+ # Over a durations of 3 seconds
babel.config.js ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ module.exports = {
2
+ presets: [
3
+ '@babel/preset-typescript',
4
+ [
5
+ '@babel/preset-env',
6
+ {
7
+ targets: {
8
+ node: 'current'
9
+ }
10
+ }
11
+ ]
12
+ ]
13
+ }
package.json ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "flowise",
3
+ "version": "1.5.0",
4
+ "private": true,
5
+ "homepage": "https://flowiseai.com",
6
+ "workspaces": [
7
+ "packages/*",
8
+ "flowise",
9
+ "ui",
10
+ "components"
11
+ ],
12
+ "scripts": {
13
+ "build": "turbo run build",
14
+ "build-force": "turbo run build --force",
15
+ "dev": "turbo run dev --parallel",
16
+ "start": "run-script-os",
17
+ "start:windows": "cd packages/server/bin && run start",
18
+ "start:default": "cd packages/server/bin && ./run start",
19
+ "clean": "npm exec -ws -- rimraf dist build",
20
+ "format": "prettier --write \"**/*.{ts,tsx,md}\"",
21
+ "test": "turbo run test",
22
+ "lint": "eslint \"**/*.{js,jsx,ts,tsx,json,md}\"",
23
+ "lint-fix": "yarn lint --fix",
24
+ "quick": "pretty-quick --staged",
25
+ "postinstall": "husky install",
26
+ "migration:create": "yarn typeorm migration:create"
27
+ },
28
+ "lint-staged": {
29
+ "*.{js,jsx,ts,tsx,json,md}": "eslint --fix"
30
+ },
31
+ "devDependencies": {
32
+ "@babel/preset-env": "^7.19.4",
33
+ "@babel/preset-typescript": "7.18.6",
34
+ "@types/express": "^4.17.13",
35
+ "@typescript-eslint/typescript-estree": "^5.39.0",
36
+ "eslint": "^8.24.0",
37
+ "eslint-config-prettier": "^8.3.0",
38
+ "eslint-config-react-app": "^7.0.1",
39
+ "eslint-plugin-jsx-a11y": "^6.6.1",
40
+ "eslint-plugin-markdown": "^3.0.0",
41
+ "eslint-plugin-prettier": "^3.4.0",
42
+ "eslint-plugin-react": "^7.26.1",
43
+ "eslint-plugin-react-hooks": "^4.6.0",
44
+ "eslint-plugin-unused-imports": "^2.0.0",
45
+ "husky": "^8.0.1",
46
+ "lint-staged": "^13.0.3",
47
+ "prettier": "^2.7.1",
48
+ "pretty-quick": "^3.1.3",
49
+ "rimraf": "^3.0.2",
50
+ "run-script-os": "^1.1.6",
51
+ "turbo": "^1.7.4",
52
+ "typescript": "^4.8.4"
53
+ },
54
+ "engines": {
55
+ "node": ">=18.15.0"
56
+ }
57
+ }
turbo.json ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "$schema": "https://turbo.build/schema.json",
3
+ "pipeline": {
4
+ "build": {
5
+ "dependsOn": ["^build"],
6
+ "outputs": ["dist/**"]
7
+ },
8
+ "test": {},
9
+ "dev": {
10
+ "cache": false
11
+ }
12
+ }
13
+ }