|
| 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 | +| DEBUG | 打印组件的日志 | 布尔值 | | |
| 127 | +| LOG_PATH | 存储日志文件的位置 | 字符串 | `your-path/Flowise/logs` | |
| 128 | +| LOG_LEVEL | 日志的不同级别 | 枚举字符串: `error`, `info`, `verbose`, `debug` | `info` | |
| 129 | +| APIKEY_PATH | 存储 API 密钥的位置 | 字符串 | `your-path/Flowise/packages/server` | |
| 130 | +| EXECUTION_MODE | 预测是否在独立进程中运行还是在主进程中运行 | 枚举字符串: `child`, `main` | `main` | |
| 131 | +| TOOL_FUNCTION_BUILTIN_DEP | 用于工具函数的 NodeJS 内置模块 | 字符串 | | |
| 132 | +| TOOL_FUNCTION_EXTERNAL_DEP | 用于工具函数的外部模块 | 字符串 | | |
| 133 | +| OVERRIDE_DATABASE | 是否使用默认值覆盖当前数据库 | 枚举字符串: `true`, `false` | `true` | |
| 134 | +| DATABASE_TYPE | 存储 flowise 数据的数据库类型 | 枚举字符串: `sqlite`, `mysql`, `postgres` | `sqlite` | |
| 135 | +| DATABASE_PATH | 数据库保存的位置(当 DATABASE_TYPE 是 sqlite 时) | 字符串 | `your-home-dir/.flowise` | |
| 136 | +| DATABASE_HOST | 主机 URL 或 IP 地址(当 DATABASE_TYPE 不是 sqlite 时) | 字符串 | | |
| 137 | +| DATABASE_PORT | 数据库端口(当 DATABASE_TYPE 不是 sqlite 时) | 字符串 | | |
| 138 | +| DATABASE_USERNAME | 数据库用户名(当 DATABASE_TYPE 不是 sqlite 时) | 字符串 | | |
| 139 | +| DATABASE_PASSWORD | 数据库密码(当 DATABASE_TYPE 不是 sqlite 时) | 字符串 | | |
| 140 | +| DATABASE_NAME | 数据库名称(当 DATABASE_TYPE 不是 sqlite 时) | 字符串 | | |
| 141 | + |
| 142 | +您也可以在使用 `npx` 时指定环境变量。例如: |
| 143 | + |
| 144 | +``` |
| 145 | +npx flowise start --PORT=3000 --DEBUG=true |
| 146 | +``` |
| 147 | +
|
| 148 | +## 📖 贡献文档 |
| 149 | +
|
| 150 | +[Flowise 文档](https://github.com/FlowiseAI/FlowiseDocs) |
| 151 | +
|
| 152 | +## 🏷️ Pull Request 流程 |
| 153 | +
|
| 154 | +当您打开一个 Pull Request 时,FlowiseAI 团队的成员将自动收到通知/指派。您也可以在 [Discord](https://discord.gg/jbaHfsRVBW) 上联系我们。 |
| 155 | +
|
| 156 | +## |
0 commit comments