How cheny813/yunxi-agent-platform works
yunxi is an enterprise multi-agent platform built on AgentScope. Its principal workflow accepts chat requests, resolves identity and context, runs a configurable intent pipeline to select an agent, executes it synchronously or as a stream, and returns the result while retaining conversation state. The README also documents MCP tools, RAG and memory, skills/MUSE, file and session capabilities, A2A collaboration, and Aistio governance. Workflow links follow the README; sampled code confirms selected service behavior, but many runtime connections are documented rather than inspected directly.
Main entry points: AgentExecutionEngine.java Execution engine · ChatAppService.java Chat service · AgentService.java Agent runtime · ConversationDomainService.java Conversation state
Components 21
Chat workflow
- Chat API
agent-core/src/main/java/io/yunxi/platform/controller/AgentController.java - Chat service
agent-core/src/main/java/io/yunxi/platform/conversation/ChatAppService.java - Conversation state
agent-core/src/main/java/io/yunxi/platform/conversation/ConversationDomainService.java
Intent and execution
- Execution engine
agent-core/src/main/java/io/yunxi/platform/execution/AgentExecutionEngine.java - Intent pipeline
agent-core/src/main/java/io/yunxi/platform/intent/DefaultIntentEngine.java - Intent stages
agent-core/src/main/java/io/yunxi/platform/intent - Agent runtime
agent-core/src/main/java/io/yunxi/platform/agent/service/AgentService.java - Model factory
agent-core/src/main/java/io/yunxi/platform/agent/model/ModelFactory.java
Knowledge and state
- RAG retrieval
agent-core/src/main/java/io/yunxi/platform/execution/interceptors/RagRetrievalInterceptor.java - Memory system
agent-core/src/main/java/io/yunxi/platform/memory - Persistence
agent-core/src/main/java/io/yunxi/platform/persistence/PersistenceManager.java - Conversation store
agent-core/src/main/java/io/yunxi/platform/persistence/repository/ConversationRepository.java - File upload
agent-core/src/main/java/io/yunxi/platform/controller/FileUploadController.java - File processing
agent-core/src/main/java/io/yunxi/platform/file/FileUploadService.java
Tools and collaboration
- MCP integration
agent-core/src/main/java/io/yunxi/platform/agent/mcp - A2A collaboration
agent-core/src/main/java/io/yunxi/platform/a2a/A2AClient.java - Skills and MUSE
agent-core/src/main/java/io/yunxi/platform/agent/spi/MuseToolRegistrar.java
Governance and insight
- Aistio governance
agent-core/src/main/java/io/yunxi/platform/aistio/controller/AistioContractController.java - Trace and metrics
agent-core/src/main/java/io/yunxi/platform/controller/TraceController.java - OTel collector
Other components
- User
Connections 21
- User → Chat API: submits chat
- Chat API → Chat service: dispatches
- Chat service → Conversation state: manages state
- Chat service → Execution engine: executes request
- Execution engine → Intent pipeline: runs pipeline
- Intent pipeline → Intent stages: classifies and routes
- Execution engine → RAG retrieval: retrieves context
- Execution engine → Memory system: loads memory
- Execution engine → Agent runtime: invokes agent
- Agent runtime → Model factory: calls model
- Execution engine → MCP integration: uses tools
- Execution engine → Skills and MUSE: loads skills
- Execution engine → Conversation state: updates conversation
- Conversation state → Persistence: persists state
- Persistence → Conversation store: reads and writes
- File upload → File processing: uploads file
- File processing → RAG retrieval: provides file context
- Agent runtime → A2A collaboration: collaborates remotely
- Aistio governance → Execution engine: exposes governance
- Execution engine → Trace and metrics: records execution
- Trace and metrics → OTel collector: exports telemetry