dify-chat  by lexmin0412

AI web app for Dify API, supporting chat and workflow applications

created 8 months ago
482 stars

Top 64.5% on sourcepulse

GitHubView on GitHub
Project Summary

This project provides a React-based AI web application that integrates with Dify APIs, enabling users to interact with various Dify application types, including chatbots, workflows, and agents. It offers flexible modes for single or multiple application management, rich content rendering (images, charts, forms), and a responsive design for both desktop and mobile.

How It Works

The application is built using React v18, Ant Design v5, and Tailwind CSS, structured as a monorepo with distinct packages for core functionality, API client, theming, and UI components. It leverages Dify's API for backend interactions, supporting features like deep thinking, chain-of-thought, and chart rendering. Configuration can be managed via LocalStorage, a custom backend service, or static read-only data, offering flexibility for different deployment scenarios.

Quick Start & Requirements

  • Install: pnpm install
  • Run: pnpm dev
  • Prerequisites: Node.js ^22.5.1, pnpm ^10.8.1. Requires Dify API Base URL and API Key.
  • Docker: docker compose up dify-chat -d to run via Docker.
  • Docs: packages/api/README.md, packages/core/README.md

Highlighted Details

  • Supports single and multi-application modes with configurable application management.
  • Renders rich content including images, videos, Echarts, Mermaid diagrams, and interactive forms.
  • Offers features like conversation history, session renaming, and input parameter configuration.
  • Includes options for customizing submit message text and controlling opening statement display.

Maintenance & Community

The project has a growing community and is actively maintained, with a roadmap indicating ongoing development for features like internationalization, custom themes, and improved session handling.

Licensing & Compatibility

  • License: MIT
  • Compatibility: Suitable for commercial use and integration with closed-source applications.

Limitations & Caveats

The project relies on pnpm workspaces for its monorepo structure, and other package managers may not work correctly. Some sub-packages are still under development ("敬请期待..."). Using static data for application lists is not recommended for production environments.

Health Check
Last commit

4 days ago

Responsiveness

Inactive

Pull Requests (30d)
4
Issues (30d)
5
Star History
282 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.