AI agent framework
Project description
[!WARNING] Documentation Outdated / 文档已过期
This project is currently under rapid development. The content in this README is outdated and may not reflect the latest features or architecture. Please refer to the code or wait for upcoming documentation updates.
本项目当前处于快速迭代开发阶段。本 README 中的内容已经过时,可能无法反映最新的功能或架构变更。请以最新代码为准或等待文档更新。
Dingent
A powerful, yet user-friendly LLM Agent framework designed to streamline the entire development lifecycle of intelligent applications.
English · 简体中文
Dingent is an agent framework whose core goal is to simplify the process of creating any application powered by Large Language Models (LLMs). We provide a concise yet powerful toolkit... to build applications capable of automating complex workflows, interacting with various services, and performing intelligent analysis. For any custom logic or integration, Dingent offers a flexible framework that developers can easily extend by writing custom code.
Chat Interface
| Chat View 1 | Chat View 2 |
|---|---|
Admin Dashboard
| Dashboard - Overview | Dashboard - Workflows |
|---|---|
| Dashboard - Settings | Dashboard - Logs |
| Dashboard - Assistants | Dashboard - Market |
🎯 Why Choose Dingent?
When building LLM applications, developers often spend a significant amount of time on "glue code": creating backend services, wrapping APIs, setting up frontend-backend communication... These tasks are tedious and repetitive.
Dingent's core value lies in:
- No More Repetition: We package the best practices for backend services (LangGraph), data interfaces (Plugin System), a chat interface (CopilotKit), and a full-featured admin dashboard into a single command. You no longer need to build everything from scratch and can start writing your core business logic immediately.
- Configuration via UI: Forget manually editing complex configuration files. With Dingent's integrated admin dashboard, you can manage assistants, build workflows, and configure settings through an intuitive graphical interface.
- Extensible and Versatile: While Dingent began with a focus on data retrieval, it has evolved into a powerful general-purpose framework. Its modular architecture and robust plugin system allow you to build any type of agent—from simple task automation bots to complex multi-agent systems. Dingent provides the solid foundation, you bring the vision.
- Core Features Built-In: We believe a simple and easy-to-use agent shouldn't require users to spend a lot of time maintaining plugins. Therefore, we are committed to integrating features the community deems important directly into the framework. If you think a feature is crucial, we encourage you to open an Issue or PR. This directly reflects our core mission of "making Agents simpler for users."
- Smooth Learning Curve: You only need a basic understanding of Python to build powerful, general-purpose agents, without needing to be an expert in LangGraph or FastAPI. At the same time, we retain the flexibility to expand functionalities, ensuring the framework can fully support custom development when needed.
✨ Features
- Instant Project Setup: Simply run
dingent devin any directory to initialize a new project. - Integrated Admin Dashboard: A powerful, React-based web interface to visually manage your assistants, workflows, plugins, and settings.
- Bundled Frontend: A pre-built, standalone Next.js chat interface is included out-of-the-box. No need for manual setup or compilation.
- Lightweight and Easy to Use: A clean design and a gentle learning curve let you focus on business logic rather than tedious configuration.
- Guest Mode Support: Allow unauthenticated users to chat with AI agents without requiring registration. See Guest Mode Documentation for details.
🚀 Quick Start
Create and run a fully functional agent project in just a few minutes.
1. Prerequisites
Before you begin, ensure your development environment has the following installed:
- uv: A very fast Python package installer and resolver.
# On macOS and Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# On Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
2. Initialize and Run Your Project
Navigate to an empty directory where you want to create your project and run the development server.
mkdir my-awesome-agent
cd my-awesome-agent
# Run the development server
uvx dingent dev # or uvx dingent run
The first time you run this command, Dingent will ask if you want to create a
dingent.toml configuration file, officially turning the directory into a
Dingent project root.
The dev command will start all necessary services:
- Frontend Chat: Accessible at http://localhost:3000
- Backend API: Running at http://localhost:8000
- Admin Dashboard: Accessible at http://localhost:8000/admin
Your project is now live! You can now:
- Configure your application: Open the admin dashboard at
http://localhost:8000/adminto create assistants, build workflows, and configure your LLM settings. - Add custom tools: Place your custom MCP server plugins into the
plugins/directory. - Interact with your agent: Start chatting with your agent through the
frontend at
http://localhost:3000.
🏛️ Project Architecture
A Dingent project has a simple and intuitive structure, managed automatically for you:
my-awesome-agent/
├── 📄 dingent.toml # Main project config (ports, model, etc.). Marks the project root.
├── 📁 config/ # Stores all application configurations managed by the dashboard.
│ ├── 📁 assistants/
│ ├── 📁 plugins/
│ └── 📁 workflows/
└── 📁 plugins/ # Directory for your custom tool plugins (e.g., MCP servers).
dingent.toml: The single source of truth for your project's core settings. The presence of this file tells Dingent commands that they are in a project directory.config/: This directory holds the configuration for your assistants, plugins, and workflows. You typically won't need to edit these files manually, as they are managed through the Admin Dashboard.plugins/: This is where you add your own functionality. Place any MCP-compatible server in this directory, and Dingent will automatically discover and integrate it.
🗺️ Roadmap
-
✅ 1. Documentation & Tutorials
- Basic Docs: Installation and configuration guides.
- Core Concepts: In-depth explanations of key features and design.
- Plugin Dev Guide: How to build your own plugins.
- End-to-End Tutorials: Complete, step-by-step project examples.
-
⏳ 2. Admin Dashboard
- Core UI: Fully functional dashboard for managing assistants, workflows, and settings.
- Plugin Management: Add/remove plugins directly from the UI.
- Advanced Workflow Editor: More powerful tools for building complex agent behaviors.
-
💡 3. Plugin System
- Auto-Discovery: Automatically loads plugins from the
plugins/directory. -
Plugin CLI: Install and manage plugins via the command line.(Superseded by UI management in the Admin Dashboard) - Plugin Marketplace: Discover, search, and download community plugins.
- Auto-Discovery: Automatically loads plugins from the
-
📦 4. Core Plugins
- Database Plugin: Connect to mainstream databases.
- Knowledge Base Q&A Plugin: Quickly build a Q&A application on your documents.
🤝 How to Contribute
We created this project to make Agents simpler for users, not to build yet another complex development framework. Therefore, we warmly welcome and heavily rely on community contributions to shape the future of Dingent.
If a feature is important to you, we strongly encourage you to discuss it by opening a GitHub Issue or contributing code directly through a Pull Request. Our core philosophy is that the developer community should decide which features are built into the software, rather than leaving users to maintain their own plugins!
If you share our vision and wish to contribute code, please follow these steps:
- Fork this repository.
- Create a new feature branch (
git checkout -b feature/YourAmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push your branch to GitHub (
git push origin feature/YourAmazingFeature). - Create a Pull Request and clearly describe the value of your feature.
We believe that through our collective efforts, Dingent can become a truly powerful and "out-of-the-box" tool.
📄 License
This project is licensed under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dingent-0.5.3.tar.gz.
File metadata
- Download URL: dingent-0.5.3.tar.gz
- Upload date:
- Size: 5.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f576d4f337cccdba37ca904cafb1985174602f73459b8ae7f42d1d78af30fee
|
|
| MD5 |
5ffe5952b7f3bee987e1448ef3d29135
|
|
| BLAKE2b-256 |
2955911bb1c78743f199e8b0a39530566b837b2b03c574086c326b94ed3d5b77
|
Provenance
The following attestation bundles were made for dingent-0.5.3.tar.gz:
Publisher:
publish-pypi.yml on saya-ashen/Dingent
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dingent-0.5.3.tar.gz -
Subject digest:
6f576d4f337cccdba37ca904cafb1985174602f73459b8ae7f42d1d78af30fee - Sigstore transparency entry: 808819556
- Sigstore integration time:
-
Permalink:
saya-ashen/Dingent@2938f54754e7b697c0bcb5fa798dafc4667aece4 -
Branch / Tag:
refs/tags/0.5.3 - Owner: https://github.com/saya-ashen
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@2938f54754e7b697c0bcb5fa798dafc4667aece4 -
Trigger Event:
release
-
Statement type:
File details
Details for the file dingent-0.5.3-py3-none-any.whl.
File metadata
- Download URL: dingent-0.5.3-py3-none-any.whl
- Upload date:
- Size: 114.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
55d335371a7a36745be25b0bb6af555bf2bf77d10538827959a89caed253c8ae
|
|
| MD5 |
a697543b9c5b77b59948b73b40dc9e84
|
|
| BLAKE2b-256 |
1832eefcc01c2a961e1dc320c056470bcb595425b929d47bd71de26561897ea2
|
Provenance
The following attestation bundles were made for dingent-0.5.3-py3-none-any.whl:
Publisher:
publish-pypi.yml on saya-ashen/Dingent
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dingent-0.5.3-py3-none-any.whl -
Subject digest:
55d335371a7a36745be25b0bb6af555bf2bf77d10538827959a89caed253c8ae - Sigstore transparency entry: 808819563
- Sigstore integration time:
-
Permalink:
saya-ashen/Dingent@2938f54754e7b697c0bcb5fa798dafc4667aece4 -
Branch / Tag:
refs/tags/0.5.3 - Owner: https://github.com/saya-ashen
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@2938f54754e7b697c0bcb5fa798dafc4667aece4 -
Trigger Event:
release
-
Statement type: