Skip to content

Haohao-end/openagent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

121 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenAgent Logo

An end-to-end AI agent platform for building, orchestrating, publishing, and operating AI applications.
Flask + LangChain/LangGraph backend, Vue 3 workspace, visual workflows, datasets, tools, and OpenAPI delivery.

Visit Website · API Docs · 中文文档 · GitHub

Python 3.11+ Flask Vue 3 Docker Compose Weaviate Ask DeepWiki

Table of Contents

About The Project

OpenAgent Product Overview

OpenAgent is a full-stack platform for teams building AI applications rather than a single chat demo. The repository combines a Flask backend, Celery workers, a Vue 3 frontend, visual workflow authoring, dataset and document management, public app and workflow publishing, and OpenAPI-based delivery.

What the current codebase already supports:

  • Use the home assistant to route user requests to published public agents through A2A, or turn natural-language requirements into new AI app creation flows.
  • Build and manage AI apps from a dedicated workspace with draft, publish, analysis, version comparison, and prompt comparison flows.
  • Design workflows visually with nodes for LLMs, tool calls, dataset retrieval, code execution, HTTP requests, branching, text processing, template transforms, and structured parameter extraction.
  • Manage datasets, upload documents, inspect segments, and connect retrieval to agents and workflows.
  • Browse public apps, tools, and workflows through store-style views.
  • Expose published apps over REST and SSE through POST /api/openapi/chat.

Architecture

Basic chatbot architecture

Click the diagram to view the full-resolution architecture image.

Built With

  • AI framework and orchestration: LangChain, LangGraph, workflow orchestration, tool calling, A2A delegation, skills, memory
  • Knowledge and retrieval: RAG, semantic retrieval, full-text retrieval, hybrid retrieval, Weaviate, FAISS
  • Backend: Python, Flask, SQLAlchemy, Celery, Flask-SocketIO, Redis, PostgreSQL
  • Frontend: Vue 3, JavaScript / TypeScript, Vite, TailwindCSS, Pinia, Vue Flow, Arco Design
  • Infrastructure and delivery: Docker Compose, Nginx, OpenAPI, SSE
  • Model integrations: OpenAI, DeepSeek, Grok, Google, Moonshot, Tongyi, Wenxin, Ollama, Zhipu

(back to top)

Getting Started

Prerequisites

  • Docker 20.10+
  • Docker Compose 2.x
  • 8 GB+ RAM recommended for the full stack
  • Access to at least one supported model provider API key

Installation

  1. Clone the repository.

    git clone https://github.com/Haohao-end/openagent.git
    cd openagent
  2. Create the runtime environment file.

    cp api/.env.example api/.env
  3. Review the minimum required settings in api/.env.

    • JWT_SECRET_KEY
    • POSTGRES_PASSWORD
    • REDIS_PASSWORD
    • WEAVIATE_API_KEY
    • VITE_API_PREFIX
    • At least one provider key such as OPENAI_API_KEY, DEEPSEEK_API_KEY, or DASHSCOPE_API_KEY
  4. Start the Docker stack.

    cd docker
    docker compose up -d --build
  5. Open the local services.

    Service URL Notes
    Frontend http://localhost:3000 Vue 3 web UI
    API http://localhost:5001 Flask REST API
    Nginx http://localhost Reverse proxy

Local Development

Backend:

cd api
pip install -r requirements.txt
flask run --port 5001

Frontend:

cd ui
npm install
npm run serve

Vite serves the frontend on port 5173 by default. The frontend configuration resolves the API base from VITE_API_PREFIX, and local development commonly proxies /api to the Flask backend.

Useful commands:

cd api
pytest
cd ui
npm run type-check
npm run lint
npm run build
npm run test:unit -- --run

(back to top)

Usage

1. Home Assistant Experience

OpenAgent Home Assistant

Use the home page as the default assistant entry point to route user questions to the most relevant published public agents through A2A, or describe a new idea in natural language and trigger AI app creation. The same surface also supports multi-turn chat, suggested prompts, image upload, and audio input.

2. App Workspace

OpenAgent Apps Workspace

Manage app drafts, published versions, analysis views, prompt comparisons, copies, and publishing actions from the app workspace.

3. Visual Workflow Editor

OpenAgent Workflow Editor

Author workflows with nodes such as LLM, tool, dataset retrieval, code, HTTP request, template transform, text processor, variable assigner, parameter extractor, if/else, start, and end.

4. Dataset and Retrieval

OpenAgent Dataset Management

Create datasets, upload documents, inspect segments, and wire retrieval nodes into workflows or AI apps for knowledge-enabled behavior.

5. OpenAPI Delivery

OpenAgent OpenAPI

Publish an app and call it over POST /api/openapi/chat with standard or streaming responses, including support for multi-turn conversation identifiers.

(back to top)

Project Structure

.
├── api/          # Flask backend, services, handlers, tasks, migrations, tests
├── ui/           # Vue 3 frontend, routes, views, components, tests
├── docker/       # Docker Compose stack, nginx, postgres init, deployment config
├── README.md     # English project overview
└── README_ZH.md  # Chinese project overview

Documentation

Testing

The repository already includes automated backend and frontend tests.

  • Backend: cd api && pytest
  • Frontend unit tests: cd ui && npm run test:unit -- --run
  • Frontend type check: cd ui && npm run type-check
  • Frontend build validation: cd ui && npm run build

Contact

Acknowledgments

  • Special thanks to Rui Yang and Haoyu Wang (Johns Hopkins University) for responsibly reporting a Host Header poisoning issue in the built-in tool icon URL construction and helping improve the security of this project.

(back to top)

About

AI Agent Development Platform - Supports multiple models (OpenAI/DeepSeek/Wenxin/Tongyi), knowledge base management, workflow automation, and enterprise-grade security. Built with Flask + Vue3 + LangChain, featuring one-click Docker deployment.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors