Model or dataset
Haohao-end/openagent avatar
Haohao-end/openagent

OpenAgent: a Flask and LangGraph harness for shipping vertical agents

What if OpenAI Deep Research and Dify were one platform? OpenAgent — harness architecture for rapidly building vertical AI agents, with deep reasoning loops, visual workflows, RAG, and A2A delegation.

755 stars78 forksPythonMIT

At a glance

What is it?
OpenAgent packages a Flask API, Celery workers, a Vue 3 workspace and visual workflow authoring into one repository, with Deep Research loops and A2A delegation as the headline features. The useful question is whether the harness saves you more time than the stack it commits you to.
Who is it for?
Adopt OpenAgent if you want a self-hosted workspace where non-engineers build workflows and engineers publish them over the documented POST /api/openapi/chat endpoint, and you accept Docker Compose, Weaviate and a provider key as the entry price. Do not adopt it if you need a small embeddable library or cannot run PostgreSQL, Redis and Weaviate alongside it.
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 received new commits within the last day.
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.

From daily snapshots

Star history

  • Haohao-end/openagent755 ★ · -51
Star history
Repository2026-09-112026-11-14
Haohao-end/openagent806755

-51 Stars in the last 64 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

The problem OpenAgent addresses is the gap between a demo agent and an operated one

Most agent repositories stop at a loop and a prompt. OpenAgent's README frames the project as an end-to-end platform for building, orchestrating, publishing and operating AI applications, and the repository layout backs that framing: there is an api directory with a Flask app and a requirements.txt, a ui directory with a Vue 3 frontend, and a docker directory holding a Compose stack. The audience is teams that already know they want agents but do not want to assemble publishing, versioning, datasets and a chat API themselves. The README lists draft, publish, analysis, version comparison and prompt comparison as workspace flows, which is the shape of a product aimed at people running several agents rather than one. If you only need a single agent behind a function call, this is more surface area than the problem requires.

Flask, Celery and LangGraph split the work across three runtime roles

The architecture section names LangChain and LangGraph for orchestration, Celery for background execution, and Flask with SQLAlchemy for the request path. That split matters. Long Deep Research runs cannot occupy a request thread, so they belong in Celery workers, while the Flask API stays responsive for chat and management calls. The README also lists Flask-SocketIO, which suggests live updates are pushed rather than polled, though the documentation does not spell out which events travel over the socket. Retrieval is declared twice: Weaviate and FAISS both appear under knowledge and retrieval, and the README describes RAG with semantic, full-text and hybrid modes. A2A delegation is described as routing user requests from the home assistant to published public agents, so delegation happens between published artifacts rather than between arbitrary in-process objects.

Getting the stack up takes one environment file and one Compose command

The README gives a short path. Clone the repository, then copy api/.env.example to api/.env. The minimum settings it lists are JWT_SECRET_KEY, POSTGRES_PASSWORD, REDIS_PASSWORD, WEAVIATE_API_KEY and VITE_API_PREFIX, plus at least one provider key from OPENAI_API_KEY, ATLASCLOUD_API_KEY, DEEPSEEK_API_KEY or DASHSCOPE_API_KEY. From the docker directory, docker compose up -d --build starts everything. The documented local URLs are the frontend on port 3000, the Flask API on port 5001 and Nginx on port 80. For development outside Docker, the README shows pip install -r requirements.txt followed by flask run --port 5001 in api, and npm install with npm run serve in ui, with Vite defaulting to port 5173 and the frontend resolving its API base from VITE_API_PREFIX. Prerequisites are Docker 20.10+, Docker Compose 2.x, 8 GB+ RAM recommended, and one provider key. That 8 GB figure is the README's own recommendation for the full stack, not a measurement.

The workflow node set is the part that decides whether the harness fits

Visual authoring is only useful if the node vocabulary covers your problem. The README lists nodes for LLMs, tool calls, dataset retrieval, code execution, HTTP requests, branching, text processing, template transforms and structured parameter extraction. That is broad enough for retrieval-augmented flows with conditional routing, and the presence of an HTTP request node means external systems can be reached without writing a custom tool. If your workflows are long-running and failure recovery matters, check from the code how workflow state is persisted between nodes and whether a failed run can resume, and how a published workflow is versioned relative to the draft the workspace shows, since version comparison is listed as a workspace feature.

Both retrieval engines in the dependency list is a decision you inherit

Weaviate and FAISS solve different problems. Weaviate is a service you run and reach over the network, which fits a multi-tenant platform where datasets are shared across agents and workflows. FAISS is a library that keeps indexes in process, which fits a single service with a fixed corpus. The README lists both without saying when each is used, so a deployment inherits the operational cost of the service and the memory cost of the library. The Compose stack requires WEAVIATE_API_KEY, so Weaviate is part of the default path. The practical consequence is that a small team running OpenAgent for one internal agent still operates a vector database. That is the clearest case where the platform is heavier than the task.

Dify and LangGraph take different positions on the same problem

Dify is the closest comparison the README itself invites, and the difference is where the agent logic lives. Dify presents a hosted workspace where workflows and agents are configured through its own abstractions, and the platform owns the execution model. OpenAgent keeps the orchestration in LangGraph and LangChain inside a Flask codebase you can read and modify, with the Vue workspace sitting on top of an API you also control. LangGraph on its own is the opposite trade: a library with no workspace, no publishing layer and no dataset management, so you write the product around it. OpenAgent sits between those two positions, which is its main argument. The cost of that position is that you maintain a Compose stack, a Celery deployment and a provider configuration rather than a library version.

Maintenance load tracks the v1.1.x cadence and the MIT licence

The repository is not archived, the default branch is main, and the three most recent releases are v1.1.2, v1.1.3 and v1.1.4, published between 2026-05-26 and 2026-06-15. That is roughly one release every two to three weeks across that window, which tells you the surface is still moving and that pinning a version is worth considering for production. The licence is MIT, which permits commercial use and modification; this is not legal advice, and you should read the LICENSE file and your provider terms separately, particularly for the model vendors listed in the README. Upgrade cost is dominated by the environment file and the Compose stack rather than Python dependencies, because schema changes to PostgreSQL or Weaviate would surface there. The README does not describe a migration path between versions, so back up the database before pulling a new tag.

Editorial conclusion

Adopt OpenAgent if you want a self-hosted workspace where non-engineers build workflows and engineers publish them over the documented POST /api/openapi/chat endpoint, and you accept Docker Compose, Weaviate and a provider key as the entry price. Do not adopt it if you need a small embeddable library or cannot run PostgreSQL, Redis and Weaviate alongside it. Before committing, verify the api/.env.example keys against your deployment, confirm which retrieval backend your RAG path actually uses given that both Weaviate and FAISS appear in the stack, and read the last few release notes to judge how much the v1.1.x line changes between versions.

Frequently asked questions

What is OpenAgent, the platform?

A full-stack platform for building, orchestrating, publishing and operating AI applications, with a Flask backend, Celery workers, a Vue 3 workspace, visual workflow authoring, dataset and document management, and delivery of published apps over REST and SSE through POST /api/openapi/chat.

What does the Deep Research mode in OpenAgent actually do?

The page states that the term Deep Research maps to the deep thinking mode behind enable_deep_thinking in the current codebase. It is described as letting an app break work into steps and coordinate bound capabilities across a longer execution chain, and nothing on the page describes what the setting switches on internally.

What does OpenAgent need configured before it starts?

After copying api/.env.example to api/.env, the page lists a JWT signing secret, a Postgres password, a Redis password, a Weaviate API key, the VITE_API_PREFIX variable, and at least one provider key from a list including OpenAI, Atlas Cloud, DeepSeek and DashScope. The running stack wants Docker 20.10 or newer with Compose 2.x and 8 GB of memory.

Can I run OpenAgent outside Docker Compose?

The page gives a development path that installs the backend with pip install -r requirements.txt and runs flask run on port 5001, and the frontend with npm install and npm run serve on the Vite port. It does not say how to provide the Postgres, Redis and Weaviate instances the mandatory configuration list assumes, so those have to come from somewhere else.

Who sponsors OpenAgent?

Atlas Cloud, described as a model provider on OpenRouter and integrated through its own key and base URL variables, and Bloome, an agent instant messaging platform. The page discloses both, and both links are tracked: the Bloome link carries a referral code and a campaign string naming the repository and a date in June 2026.

Official sources

  1. Haohao-end/openagent on GitHub
  2. License: MIT
  3. Project website
  4. README
  5. Releases
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.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/haohao-end-openagent.svg)](https://hysenlabs.com/projects/haohao-end-openagent)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/haohao-end-openagent.svg)](https://hysenlabs.com/projects/haohao-end-openagent)

Was this useful?