gitwtfhub

wtf is tagent?

pengmoubuaixuexi/tagent — explained in plain English

Analysis updated 2026-05-18

90JavaAudience · developerComplexity · 5/5Setup · hard

TL;DR

Spring Boot study project combining Auto and Flow style AI agents with MCP tools, hybrid RAG over pgvector and Elasticsearch, memory, and observability.

Mindmap

mindmap
  root((TAgent))
    Inputs
      User chat tasks
      MCP tool calls
      Knowledge documents
    Outputs
      Streamed agent responses
      Observability traces
      Memory updates
    Use Cases
      Study DDD agent platform
      Run hybrid RAG searches
      Build MCP-driven workflows
    Tech Stack
      Java
      Spring Boot
      MySQL
      Postgres
      Elasticsearch
      Redis
      Jaeger

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Study a DDD-style Spring Boot agent platform end to end

REASON 2

Compare Auto Agent planning against Flow Agent DAG execution

REASON 3

Run hybrid RAG with pgvector semantic search and Elasticsearch BM25

REASON 4

Build MCP server integrations with SSE or stdio transports

What's in the stack?

JavaSpring BootMySQLPostgresElasticsearchRedisJaeger

How it stacks up

pengmoubuaixuexi/tagentzjuncher/xiaoyan-ai-dev-assistantopenysmdev/openysm
Stars909285
LanguageJavaJavaJava
Setup difficultyhardhardmoderate
Complexity5/54/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · hard Time to first run · 1day+

Local stack needs MySQL, Postgres with pgvector, Redis, Elasticsearch, Logstash, and a Jaeger OTLP endpoint before the jar will boot.

Wtf does this do

TAgent is a Java study project built on Spring Boot and organised in a Domain-Driven Design layout. The README, written in Chinese, presents it as a learning platform for AI agents that strings together model calls, agent orchestration, MCP tools, retrieval-augmented generation, a memory system, observability, and cost tracking into one runnable example. The repository is described as a cleaned public version of an internal project, with logs, conversation history, private documents, backup SQL, browser state, and real keys removed, sensitive settings are read from environment variables. It offers two styles of agent. Auto Agent analyses an incoming task, plans the steps, calls tools, runs a quality check, and writes a summary. Flow Agent runs a fixed sequence of steps and supports parallel execution as a directed acyclic graph. A routing layer in front of them picks which style to use based on intent. For knowledge work, the project supports RAG with three retrieval modes: semantic search through Postgres with pgvector, keyword search through Elasticsearch using BM25, and a hybrid mode with a re-ranking step. The memory system covers short-term session memory, long-term memory, episodic memory, and a working-memory extension. External tools are plugged in through the Model Context Protocol over either SSE or stdio. There is also a security layer that handles approval for sensitive tools, PII masking, output review, idempotent request handling, and rate limiting. The codebase is split into a set of Maven modules following the DDD pattern: an api module for outward-facing DTOs, an app module with the Spring Boot entry point and MyBatis mappings, a domain module that holds the agent and routing logic, an infrastructure module for data access, a trigger module for HTTP controllers, and a types module for common types and scheduling primitives. Example MCP servers ship in their own modules. Running it requires MySQL, PostgreSQL with pgvector, Redis, Elasticsearch, Logstash, and a Jaeger OTLP endpoint, all at preset local ports. After mvn package, you start the jar from the app module on port 8099 and reach the chat page, an agent configuration page, and an observability page over HTTP, with the Auto Agent endpoint streaming responses over Server-Sent Events.

Yoink these prompts

Prompt 1
Walk me through the DDD module layout of TAgent and what each Maven module is responsible for
Prompt 2
Explain the routing layer in TAgent that decides between Auto Agent and Flow Agent for an incoming task
Prompt 3
Show how the hybrid RAG mode in TAgent merges pgvector semantic results with Elasticsearch BM25 plus a re-ranker
Prompt 4
Add a new MCP tool to TAgent that queries the company wiki over SSE

Frequently asked questions

wtf is tagent?

Spring Boot study project combining Auto and Flow style AI agents with MCP tools, hybrid RAG over pgvector and Elasticsearch, memory, and observability.

What language is tagent written in?

Mainly Java. The stack also includes Java, Spring Boot, MySQL.

How hard is tagent to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is tagent for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.