You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gcgj-dify-1.7.0/web
QuantumGhost 10b738a296
feat: Persist Variables for Enhanced Debugging Workflow (#20699)
This pull request introduces a feature aimed at improving the debugging experience during workflow editing. With the addition of variable persistence, the system will automatically retain the output variables from previously executed nodes. These persisted variables can then be reused when debugging subsequent nodes, eliminating the need for repetitive manual input.

By streamlining this aspect of the workflow, the feature minimizes user errors and significantly reduces debugging effort, offering a smoother and more efficient experience.

Key highlights of this change:

- Automatic persistence of output variables for executed nodes.
- Reuse of persisted variables to simplify input steps for nodes requiring them (e.g., `code`, `template`, `variable_assigner`).
- Enhanced debugging experience with reduced friction.

Closes #19735.
10 months ago
..
.husky chore: merge lint dependency group into dev group of python packages (#18088) 1 year ago
.storybook Introduce Plugins (#13836) 1 year ago
.vscode Enhance Code Consistency Across Repository with `.editorconfig` (#19023) 1 year ago
__mocks__ feat: regenerate history switch navigation (#8749) 2 years ago
app feat: Persist Variables for Enhanced Debugging Workflow (#20699) 10 months ago
assets fix: missing files (#2291) 2 years ago
bin Feat/embedding (#553) 3 years ago
config feat: add config for max-tree-depth (#21291) 10 months ago
context chore: remove redundant code (#21211) 10 months ago
docker feat: add config for max-tree-depth (#21291) 10 months ago
hooks Fix/webapp access scope (#20109) 11 months ago
i18n fix: update auto translations for days of the week(#21279) (#21287) 10 months ago
models fix(workflow_run): sequence_number race. (#21228) 10 months ago
public feat: Embedded chat window supports userVariables configuration. (#20983) 10 months ago
service feat: add config for max-tree-depth (#21291) 10 months ago
themes style(dark): Adjust chat bubble background color (langgenius#20990) (#21264) 10 months ago
types feat: add config for max-tree-depth (#21291) 10 months ago
utils Feat: add check before install plugin (#20014) 10 months ago
.dockerignore Enhance Code Consistency Across Repository with `.editorconfig` (#19023) 1 year ago
.env.example feat: add config for max-tree-depth (#21291) 10 months ago
.gitignore Introduce Plugins (#13836) 1 year ago
Dockerfile chore: update pnpm version to 10.11.1 (#20573) 11 months ago
README.md revert https://github.com/langgenius/dify/pull/19497 (19497) (#19807) 12 months ago
eslint.config.mjs E-300 (#19726) 11 months ago
global.d.ts feat: support assistant frontend (#2139) 2 years ago
jest.config.ts feat/TanStack-Form (#18346) 1 year ago
jest.setup.ts feat/TanStack-Form (#18346) 1 year ago
middleware.ts Revert "♻️ refactor(middleware): remove duplicate CSP header assignment" (#20592) 11 months ago
next.config.js fix: use different local may not load image (#19693) 12 months ago
package.json chore: bump version to 1.4.3 (#21045) 11 months ago
pnpm-lock.yaml chore: upgrade package version to fix security issue (#19594) 12 months ago
postcss.config.js Initial commit 3 years ago
tailwind-common-config.ts feat: llm support struct output (#17994) 1 year ago
tailwind.config.js Introduce Plugins (#13836) 1 year ago
tsconfig.json Initial commit 3 years ago
typography.js Chore: frontend infrastructure upgrade (#16420) 1 year ago

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
# 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

# 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.