https://github.com/chenweiyi/ai-assistant
A chatbot powered by GPT for AI assistance⚡️
https://github.com/chenweiyi/ai-assistant
chatgpt koa2 lerna less pnpm react typescript umijs unocss
Last synced: 14 days ago
JSON representation
A chatbot powered by GPT for AI assistance⚡️
- Host: GitHub
- URL: https://github.com/chenweiyi/ai-assistant
- Owner: chenweiyi
- License: mit
- Created: 2023-03-04T13:20:52.000Z (about 2 years ago)
- Default Branch: dev
- Last Pushed: 2024-08-04T00:36:05.000Z (9 months ago)
- Last Synced: 2024-10-31T08:52:18.891Z (6 months ago)
- Topics: chatgpt, koa2, lerna, less, pnpm, react, typescript, umijs, unocss
- Language: TypeScript
- Homepage:
- Size: 5.54 MB
- Stars: 20
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: license
Awesome Lists containing this project
README
[中文文档](./README_zh.md)
# An AI Assistant
This is an AI project that integrates various open source AI capabilities.
## Project Introduction

Let everyone have the ability to use AI.
## Node Version
Node version >= 18 is required.
## Environment Variables
In root directory, copy an `.env.example` file and rename it to `.env`, then modify its fields:
```
# Server Port, eg: 3000
SERVER_PORT=3000# TIMEOUT Time,eg: 2 * 60 * 1000
REQUEST_TIMEOUT=2 * 60 * 1000# check api request timeout, eg: 10 * 1000
CHECK_REQUEST_TIMEOUT=10 * 1000# ==== vendor config start ===
# api2d station url
VENDOR_api2d_net_url=https://api.api2d.com
# api2d station user profile url
VENDOR_api2d_net_userProfileUrl=/user/profile
# api2d api token, detial in https://api2d.com/wiki/siteapi
VENDOR_api2d_net_apiToken=xxx# ==== vendor config end ===
# CUSTOM_PROXY represents an http proxy. If left blank or not passed any value,
# it means that the http proxy is not enabled.
# eg: http://127.0.0.1:7890
CUSTOM_PROXY=
```- `CUSTOM_PROXY`: represents an http proxy. If left blank or not passed any value, it means that the http proxy is not enabled.
- `SERVER_PORT`: server port, eg: 3000
- `REQUEST_TIMEOUT`: flow request timeout, eg: 2 * 60 * 1000
- `CHECK_REQUEST_TIMEOUT`: normal response api request timeout, eg: 10 * 1000
- `VENDOR_api2d_net_url`: api2d station url, eg: https://api.api2d.com
- `VENDOR_api2d_net_userProfileUrl`: api2d station user profile url, eg: /user/profile
- `VENDOR_api2d_net_apiToken`: api2d api token, detial in https://api2d.com/wiki/siteapi## How to Develop?
1. Add a new [.env](#environment-variables) file locally and configure the corresponding parameters.
1. First install dependencies, install code using `pnpm i` in the root directory.
1. Start the project: execute `npm run dev` in the root directory.
1. Access the project address: `http://localhost:3000`.## How to Use?
### Method 1: One-click Startup
Execute `npm start` in the root directory.
### Method 2: Separate Front-end and Back-end Startup
1. Start front-end:`pnpm run dev:fe`.
2. Start back-end:`pnpm run dev:be`.
3. Access front-end project address, eg:`http://localhost:8000`.### Method 3: Get from Docker
[Get from here](https://hub.docker.com/r/cwy829/ai-assistant)
#### Get Image
```
docker image pull cwy829/ai-assistant
```#### Start Container
> In the command below, `~/docker-data/.env` needs to be replaced with the address where your `.env` file is located.
> For more information on `.env`, please refer to [here](#environment-variables).```
docker run -d -p 3000:3000 -v ~/docker-data/.env:/ai-assistant/.env --name ai-assistant cwy829/ai-assistant
```#### Docker client startup configuration

For more information about Docker, please refer to the [documentation](./DOCKERHELP.md).