You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
FyhSky e040f8069b
Support for copying nodes between workflows (This feature is unrelated to remove functions. When using the copy function, the browser will permanently retain the last copied node)." (#19687)
5 mesi fa
..
.husky chore: merge lint dependency group into dev group of python packages (#18088) 6 mesi fa
.storybook Introduce Plugins (#13836) 8 mesi fa
.vscode Enhance Code Consistency Across Repository with `.editorconfig` (#19023) 6 mesi fa
__mocks__ feat: regenerate history switch navigation (#8749) 1 anno fa
app Support for copying nodes between workflows (This feature is unrelated to remove functions. When using the copy function, the browser will permanently retain the last copied node)." (#19687) 5 mesi fa
assets fix: missing files (#2291) 1 anno fa
bin Feat/embedding (#553) 2 anni fa
config fix:#18447:When variables in the workflow are deleted or modified, it is impossible to visually identify subsequent node errors (#18554) 5 mesi fa
context fix(i18n): add functions to retrieve document and pricing page languages (#19142) 6 mesi fa
docker fix: use NextJS basePath and WEB_PREFIX to support custom prefix (#19497) 5 mesi fa
hooks fix: check dsl version when create app from explore template (#18872) 6 mesi fa
i18n fix: auto translate failed when there is a new file in english (#19671) 5 mesi fa
models feat: Add W&B Weave Tracing Integration (#14262) 6 mesi fa
public fix: chatbot reopen behabior on iOS (#19406) 5 mesi fa
service fix: use NextJS basePath and WEB_PREFIX to support custom prefix (#19497) 5 mesi fa
themes fix: premium badge styling (#19609) 5 mesi fa
types fix: cannot regenerate with image(#15060) (#16611) 6 mesi fa
utils Enhance Code Consistency Across Repository with `.editorconfig` (#19023) 6 mesi fa
.dockerignore Enhance Code Consistency Across Repository with `.editorconfig` (#19023) 6 mesi fa
.env.example fix: use NextJS basePath and WEB_PREFIX to support custom prefix (#19497) 5 mesi fa
.gitignore Introduce Plugins (#13836) 8 mesi fa
Dockerfile chore: bump Nodejs in web image from 20 to 22 LTS (#13341) 6 mesi fa
README.md fix: use NextJS basePath and WEB_PREFIX to support custom prefix (#19497) 5 mesi fa
eslint.config.mjs chore: eslint add sonar (#17989) 6 mesi fa
global.d.ts feat: support assistant frontend (#2139) 1 anno fa
jest.config.ts feat/TanStack-Form (#18346) 6 mesi fa
jest.setup.ts feat/TanStack-Form (#18346) 6 mesi fa
middleware.ts chore: remove image csp (#19511) 5 mesi fa
next.config.js fix: use different local may not load image (#19693) 5 mesi fa
package.json chore: upgrade package version to fix security issue (#19594) 5 mesi fa
pnpm-lock.yaml chore: upgrade package version to fix security issue (#19594) 5 mesi fa
postcss.config.js Initial commit 2 anni fa
tailwind-common-config.ts feat: llm support struct output (#17994) 6 mesi fa
tailwind.config.js Introduce Plugins (#13836) 8 mesi fa
tsconfig.json Initial commit 2 anni fa
typography.js Chore: frontend infrastructure upgrade (#16420) 7 mesi fa

README.md

Dify Frontend

This is a Next.js project bootstrapped with create-next-app.

Getting Started

Run by source code

Before starting the web frontend service, please make sure the following environment is ready.

First, install the dependencies:

pnpm install

Then, configure the environment variables. Create a file named .env.local in the current directory and copy the contents from .env.example. Modify the values of these environment variables according to your requirements:

cp .env.example .env.local
# For production release, change this to PRODUCTION
NEXT_PUBLIC_DEPLOY_ENV=DEVELOPMENT
# The deployment edition, SELF_HOSTED
NEXT_PUBLIC_EDITION=SELF_HOSTED
# The base URL of console application, refers to the Console base URL of WEB service if console domain is
# different from api or web app domain.
# example: http://cloud.dify.ai/console/api
NEXT_PUBLIC_API_PREFIX=http://localhost:5001/console/api
NEXT_PUBLIC_WEB_PREFIX=http://localhost:3000
# The URL for Web APP, refers to the Web App base URL of WEB service if web app domain is different from
# console or api domain.
# example: http://udify.app/api
NEXT_PUBLIC_PUBLIC_API_PREFIX=http://localhost:5001/api
NEXT_PUBLIC_PUBLIC_WEB_PREFIX=http://localhost:3000

# SENTRY
NEXT_PUBLIC_SENTRY_DSN=

Finally, run the development server:

pnpm run dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the file under folder app. The page auto-updates as you edit the file.

Deploy

Deploy on server

First, build the app for production:

pnpm run build

Then, start the server:

pnpm run start

If you want to customize the host and port:

pnpm run start --port=3001 --host=0.0.0.0

If you want to customize the number of instances launched by PM2, you can configure PM2_INSTANCES in docker-compose.yaml or Dockerfile.

Storybook

This project uses Storybook for UI component development.

To start the storybook server, run:

pnpm storybook

Open http://localhost:6006 with your browser to see the result.

Lint Code

If your IDE is VSCode, rename web/.vscode/settings.example.json to web/.vscode/settings.json for lint code setting.

Test

We start to use Jest and React Testing Library for Unit Testing.

You can create a test file with a suffix of .spec beside the file that to be tested. For example, if you want to test a file named util.ts. The test file name should be util.spec.ts.

Run test:

pnpm run test

If you are not familiar with writing tests, here is some code to refer to:

Documentation

Visit https://docs.dify.ai/getting-started/readme to view the full documentation.

Community

The Dify community can be found on Discord community, where you can ask questions, voice ideas, and share your projects.