76 lines
2.9 KiB
Markdown
76 lines
2.9 KiB
Markdown
# ChatFlow - Personalize your ChatGPT workflows and build the road to automation
|
|
|
|
[](https://github.com/prompt-engineering/chat-flow/actions/workflows/ci.yaml)
|
|

|
|
[](https://discord.gg/FSWXq4DmEj)
|
|
|
|
Screenshots:
|
|
|
|

|
|
|
|
English | [简体中文](./README.zh-CN.md)
|
|
|
|
Online Demo: https://prompt.phodal.com/
|
|
|
|
Join us:
|
|
|
|
[](https://discord.gg/FSWXq4DmEj)
|
|
|
|
# Deploy
|
|
|
|
## Deploy ChatFlow on Vercel with Planetscale
|
|
|
|
Follow these steps to deploy ChatFlow on Vercel with a serverless MySQL database provided by Planetscale:
|
|
|
|
1. Clone the [ChatFlow template](https://github.com/prompt-engineering/chat-flow) from GitHub.
|
|
2. Create a Vercel account and connect it to your GitHub account.
|
|
3. Create a [Planetscale](https://app.planetscale.com) account.
|
|
4. Set up your Planetscale database:
|
|
1. Log in to your Planetscale account with `pscale auth login`.
|
|
2. Create a password with `pscale password create <DATABASE_NAME> <BRANCH_NAME> <PASSWORD_NAME>`.
|
|
3. Push your database to Planetscale with `npx prisma db push`.
|
|
5. Configure your Vercel environment:
|
|
- Set `DATABASE_URL` to your Planetscale database URL.
|
|
- Generate an encryption key with `node scripts/gen-enc.js` and set it as `ENC_KEY`.
|
|
|
|
With these steps completed, your ChatFlow will be deployed on Vercel with a Planetscale serverless MySQL database.
|
|
|
|
## Local Usage
|
|
|
|
1. Clone the [ChatFlow template](https://github.com/prompt-engineering/chat-flow) from GitHub.
|
|
2. Dependencies on Planetscale services still exist temporarily. Please register as mentioned in the previous section and configure `DATABASE_URL` in the `.env` file.
|
|
3. Run `npm install`.
|
|
4. Generate an encryption key using `node scripts/gen-enc.js` and configure it in the `.env` file in the format `ENC_KEY=***`. (Note: You can copy the `.env` file from env.template)
|
|
5. You can now use the application by running `npm run dev`.
|
|
|
|
# Create new Flow
|
|
|
|
- examples: see in: [src/assets/chatgpt/flow](src/assets/chatgpt/flow)
|
|
- all type defines: [src/flows/types](src/flows/types)
|
|
|
|
# Development
|
|
|
|
Technical documentation:
|
|
|
|
- Flowchart
|
|
- DotParser, parse dot file to graph data
|
|
- dagre, layout graph data
|
|
- ReactFlow, render graph data
|
|
- Flow Functions
|
|
- jsonpath-plus, parse jsonpath
|
|
- expr-eval, parse expression
|
|
- Flow Components
|
|
- JsonViewer, render json data
|
|
- DataTable, render table data
|
|
- Flow Editor
|
|
- ReactFlow, render graph data
|
|
- Repl Server
|
|
- Rx.js, handle websocket
|
|
- Others
|
|
- MarkdownViewer, render markdown data
|
|
- MermaidViewer, render mermaid data
|
|
|
|
## LICENSE
|
|
|
|
This code is distributed under the MIT license. See [LICENSE](./LICENSE) in this directory.
|