AgentChat pages its API documentation as a Google search
AgentChat is an LLM-based agent communication platform with a built-in default agent and support for custom agents. Through multi-turn dialogue and task collaboration, agents can understand and help complete complex tasks. It integrates LangChain, function calling, the MCP protocol, RAG, memory, HITL, skills, Milvus and Elasticsearch for efficient knowledge retrieval and tool calling, with a high-performance FastAPI backend.
At a glance
- What is it?
- AgentChat is a Chinese-language agent chat platform built on FastAPI and Vue, with retrieval, MCP server support, a data dashboard and three-layer memory. The parts worth reading are the changelog entries, which read as a bug list: a blank settings page, a button that did nothing, a Docker network failure and a missing model configuration on first launch.
- Who is it for?
- AgentChat is worth trying if you want a full stack rather than a library: FastAPI behind a Vue interface, retrieval, an MCP layer, sub-agent collaboration and a dashboard that breaks token usage down by agent, model and date range. The parts to check first are the version line and the deployment surface.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 28 days ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on November 14, 2026, and from our analysis. They are not legal advice.
Star history
- Shy2593666979/AgentChat934 ★ · +43
| Repository | 2026-09-11 | 2026-11-14 |
|---|---|---|
| Shy2593666979/AgentChat | 891 | 934 |
43 Stars in the last 64 days, measured from the daily GitHub snapshot. Compare with other projects
Editorial analysis
Memory went from five turns to three layers
The most substantial change in the 2026-4-12 entry is context management, and it is described as a refactor rather than a tweak. The previous strategy was described plainly as the most recent five turns of conversation. It is now a three-layer architecture.
Short-term memory keeps the most recent 3000 tokens of conversation, which is what preserves immediate continuity. Anything older than that window is not dropped but summarized, with key information extracted into a running summary. Long-term memory persists user preferences, habits and other important details so that later sessions start from something like a profile rather than from nothing.
The same entry also records a dependency conflict fix, specifically around Pydantic, LangChain and FastAPI compatibility, which is the sort of change that tells you the LangChain upgrade landed in the same release window. A first-run fix sits next to it: missing model configuration used to throw an error at startup, and the entry describes added configuration checks and friendlier prompts to walk a new user through initialisation.
The version table gates on LangChain 1.0 with nothing to pin
There is a compatibility table, and it is the one place the project tells you which LangChain it expects. From v2.2.0 onward LangChain has moved to 1.0, and the note calls it a major update with substantial API changes. v2.1.x and below stay on the 0.x API, described as the old version using the old LangChain API surface. The accompanying bullets say that some tool and agent configuration styles have changed and point at a migration guide.
The catch is that the repository publishes no GitHub releases at all. So the two rows of that table cannot be selected with a version pin, because there is no tag, no changelog entry on a release page, and nothing to roll back to. What a reader has instead is a date. The most recent changelog entry is dated 2026-4-12, an earlier one 2026-3-8, and the last push to the default branch was 2026-08-27.
For a project that upgrades a core framework across a breaking boundary, that is the practical difference between a table you can use and a table you can only read.
The older changelog is a bug list with names attached
The 2026-3-8 entry is more revealing than a feature list, because it is mostly fixes. Docker deployments frequently failed to connect agentchat-frontend to agentchat-backend over the network, and that is now fixed. A Windows one-click deployment script was missing and has been added as start_win.bat. The custom tool page previously did nothing when clicked, and now accepts a Swagger or OpenAPI upload so you can build a tool from your own API description. The system settings page rendered blank and has been removed entirely.
The object storage entry is the one with credit given: MinIO local object storage joined OSS as a supported backend, documented separately for Windows installation, and two contributors are named for raising it as an issue.
Two of those five items are user-visible breakages that existed in a released state, which sets a reasonable expectation for how much testing precedes a version. The same entry also adds Skill support, described as creating a skill bound to an agent that progressively loads prompts teaching the model how to do something.
HITL generation turns an OpenAPI document into an MCP server
The headline feature in the 2026-4-12 entry is conversational generation of an MCP server from OpenAPI information, with human involvement at the decision points. The description says the key decisions during generation support human intervention and confirmation, giving dynamic configuration and real-time interaction, with the stated benefit that the user keeps control through an otherwise automated flow.
That is a coherent design for MCP, where a generated server has to expose exactly the tools you intend and nothing more, and where a wrong guess about a parameter name is expensive to discover later. The same entry appears in the core highlights list as human-machine collaborative generation with intervention available at key nodes.
MCP support is otherwise described as full protocol coverage with dynamic loading at runtime, so a server can be added to a running instance rather than at startup. Custom tools go through a different door: the Swagger or OpenAPI upload described above, which produces a tool rather than an MCP server, and the README is careful to present the two as separate features.
Three different answers to which database stores your vectors
The storage story is stated three times and does not agree. The project description lists Milvus and ElasticSearch among the integrated technologies. The technology stack section lists the backend as FastAPI with Python 3.12+, LangChain, MySQL, Redis and ChromaDB, with no Milvus and no Elasticsearch anywhere in it. The advanced deployment section then says the system supports multiple vector databases, Milvus or ChromaDB, and search engines, Elasticsearch, with the details in the deployment documentation.
So ChromaDB is the default, Milvus and Elasticsearch are optional, and the one line a new user is most likely to read does not mention them at all. MySQL and Redis are listed as unconditional parts of the stack, and the system requirements section matches that: Python 3.12+, Node.js 18+, MySQL 8.0+, Redis 7.0+ and Docker 20.10+.
The frontend is named with versions, Vue 3.4+, Element Plus, Pinia, Vite 5 and TypeScript, which is a reasonable amount of precision for a Vue application of this size.
The Docker fence closes with four backticks
The quick start gives two deployment routes, and the Docker one is three steps: clone the repository, edit docker/docker_config.yaml, then cd into docker and start the compose stack.
git clone https://github.com/Shy2593666979/AgentChat.git
cd AgentChat
vim docker/docker_config.yaml
cd docker
docker-compose up --build -dThe fence around that block in the page is closed with four backticks instead of three, which is a small thing that breaks rendering and breaks copy and paste for anyone following the page literally.
The local route has a related problem of a different kind. The backend block is marked as shell but contains numbered list items, including a line that reads as the first step of installing uv, so pasting the block into a terminal does not do what the block looks like it does. The two install options are genuinely different, though: pip install -r requirements.txt, or pip install uv followed by uv sync, with the latter described as preferred. The frontend side is plain npm install and npm run dev.
A start_win.bat exists per the changelog for Windows users who do not want to assemble any of this themselves.
The API docs link is a search for a filename
The documentation section has two entries and one of them is not a documentation link. The API documentation entry points at a Google search for docs/reference/agentchat.md, which means the intended path is a filename rather than a rendered page. The development guide entry is the usable one: start the backend and open /docs for the Swagger interface.
The surrounding structure is otherwise more considered. The documentation set is hosted on GitHub Pages with a quick start page, a deployment guide, and an online demo at agentchat.cloud, which is also the repository's declared homepage. There is a Chinese README at the root and an English one beside it, and the docs directory holds at least the Windows MinIO installation page referenced from the changelog.
The feature surface is broad: an AI dialogue engine with streaming, context memory and thinking visualisation, multi-agent collaboration with workflow orchestration, a knowledge base with semantic chunking and vector retrieval, more than ten built-in tools, runtime MCP loading, user management with fine-grained permissions, and a dashboard that filters call counts and token usage by agent, model and time range. The repository is MIT licensed and not archived.
Editorial conclusion
AgentChat is worth trying if you want a full stack rather than a library: FastAPI behind a Vue interface, retrieval, an MCP layer, sub-agent collaboration and a dashboard that breaks token usage down by agent, model and date range. The parts to check first are the version line and the deployment surface. There is no GitHub release, so the LangChain compatibility table that distinguishes v2.1.x from v2.2.0 is advice you cannot act on by pinning a tag, and the project is only pinned to a date: the last push was 2026-08-27. Second, the storage layer is described three different ways, ChromaDB in the stack, Milvus and ChromaDB in the deployment notes, and both Milvus and Elasticsearch in the project description, so confirm which one you are configuring before you fill in docker_config.yaml.
Frequently asked questions
How do I deploy AgentChat with Docker?
Clone the repository, edit docker/docker_config.yaml, then run docker-compose up --build -d from the docker directory. The stated requirements are Python 3.12+, Node.js 18+, MySQL 8.0+, Redis 7.0+ and Docker 20.10+.
How much conversation memory does AgentChat keep?
Three layers: short-term memory holding the most recent 3000 tokens, automatic summaries of older conversation with key details extracted, and long-term memory persisting user preferences and habits. This replaced an earlier strategy that kept only the most recent five turns.
Which LangChain version does AgentChat need?
From v2.2.0 onward it uses LangChain 1.0, while v2.1.x and below use the 0.x API. The project publishes no GitHub releases, so there is no tag to pin either version line to.
Where are the AgentChat API docs?
After starting the backend, Swagger is served at /docs. The API documentation link in the README points at a Google search for docs/reference/agentchat.md rather than at a rendered page.
Can I build my own tool for AgentChat?
Yes, by uploading a Swagger or OpenAPI document through the custom tool page. Earlier versions had a button that did nothing when clicked, which the changelog records as fixed, and MinIO local object storage was added alongside OSS.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/shy2593666979-agentchat)Star history chart for your README
[](https://hysenlabs.com/projects/shy2593666979-agentchat)Was this useful?