# dialogflow **Repository Path**: dialogflowai/dialogflow ## Basic Information - **Project Name**: dialogflow - **Description**: 单个文件的智能对话机器人。包含意图识别、知识库、AI模型管理、可视化对话机器人编辑器和应答逻辑于一体的工具。 - **Primary Language**: Rust - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: https://dialogflowai.github.io/ - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 1 - **Created**: 2025-05-26 - **Last Updated**: 2025-12-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [简体中文](./README_zh-CN.md) | English # Dialog flow AI **only ONE executable file**, you can use it directly, including intent detection, AI management, a visual process editor and a response system. [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/dialogflowai/dialogflow) ![All in ONE](./doc/assets/allinone.png) ![Dialog flow editor](./doc/assets/screenshots/flow-editor-en.png) ![Dialog flow editor](./doc/assets/screenshots/chat_demo_eng.gif) # ✨ Features * 🛒 **Light** Only ONE executable file, it can run smoothly on laptops without GPUs (data files will be created at runtime automatically). * 🐱‍🏍 **AI powered** Integrated `Huggingface local models (Llama, Phi-3, Gemma, Multilingual E5, MiniLM L6v2, NomicEmbedTextV1_5, etc.)`, `Ollama` and `OpenAI`, this can be used for `Chat`, `Text generation` and `Intent detection`. * 🚀 **Fast** Built on Rust and Vue3. * 😀 **Simple** Use the mouse to drag and drop with our intuitive node-based editor. * 🔐 **Safe** 100% open source, all runtime data is saved locally (Using `OpenAI API` may expose some data). # Give it a try! * 🐋 **Docker** We provided an image on Docker Hub at [dialogflowai/dialogflow](https://hub.docker.com/r/dialogflowai/dialogflow/) * 💻 **Binary releases**, please check [here](https://github.com/dialogflowai/dialogflow/releases) > By default application will listen to `127.0.0.1:12715`, you can use `-ip` and `-port` specify new value, e.g.: `dialogflow -ip 0.0.0.0 -port 8888` # Check out introduction page [https://dialogflowai.github.io/](https://dialogflowai.github.io/) # Function nodes |Node|Name| |----|----| |![DialogNode](./doc/assets/screenshots/dialogNode.png)|Dialog Node| |![LLM chat node](./doc/assets/screenshots/llmChatNode.png)|Large language model chat node| |![](./doc/assets/screenshots/knowledgeBaseAnswerNode.png)|Knowledge base answer node| |![](./doc/assets/screenshots/conditionNode.png)|Conditions node| |![](./doc/assets/screenshots/gotoNode.png)|Goto node| |![](./doc/assets/screenshots/collectNode.png)|Collect node| |![](./doc/assets/screenshots/externalApiNode.png)|External HTTP node| |![](./doc/assets/screenshots/sendEmailNode.png)|Send email node| |![](./doc/assets/screenshots/theEndNode.png)|The end node| Using the different nodes above, to arrange and combine, you can get a conversational bot that can handle problems in different scenarios. # Screenshots ![Homepage](./doc/assets/screenshots/homepage.png) ![Robot detail](./doc/assets/screenshots/robotDetail.png) ### Trying a demo dialog flow ![Demo](./doc/assets/screenshots/demo1.gif) ### Setup a condition branch ![Setup a condition branch](./doc/assets/screenshots/condition1.gif) ### Text generation ![Text generation](./doc/assets/screenshots/textGeneration.gif "Text generation") ### Testing a dialog flow ![Flow testing tool](./doc/assets/screenshots/testing.png "Flow testing tool") # Get started ### Docker image 1. docker pull dialogflowai/demo 2. docker run -dp 127.0.0.1:12715:12715 --name dialogflowdemo dialogflowai/demo 3. Open your browser and visit: http://127.0.0.1:12715/ ### Binary release 1. From [Github release page](https://github.com/dialogflowai/dialogflow/releases), depending on the operating system, download the application. 1. Run it directly, or use the `-ip` and `-port` parameters to perform the listening IP address and port, e.g.: `dialogflow -ip 0.0.0.0 -port 8888`. 1. Open your browser and visit http://localhost:12715 (by default) or http://`new IP`:`new port` to see the application in action 1. Add a main flow and click its name into it 1. Create dialog flow by dragging and drop nodes onto canvas 1. Test it