How albertowang/agentscope-java works
AgentScope Java is a framework for building LLM-powered agents. The main workflow accepts a user message, runs a ReAct agent that reasons with a model and may invoke tools, then returns a response; pipelines support coordinated agent execution. Core layers also cover provider-specific message formatting, memory, planning, retrieval, structured output, hooks and interruption. The README documents additional A2A integration and production capabilities. The tree and excerpts support these subsystem boundaries, but do not establish every runtime call path, so uncertain wiring is omitted.
Main entry points: ReActAgent.java ReAct agent · ChatModelBase.java Chat models · Knowledge.java Knowledge retrieval · GracefulShutdownManager.java Graceful shutdown
Components 23
Agent runtime
- ReAct agent
agentscope-core/src/main/java/io/agentscope/core/ReActAgent.java - Agent pipelines
agentscope-core/src/main/java/io/agentscope/core/pipeline/Pipelines.java - Agent runtime base
agentscope-core/src/main/java/io/agentscope/core/agent/AgentBase.java - Messages
agentscope-core/src/main/java/io/agentscope/core/message/Msg.java - Tool groups
agentscope-core/src/main/java/io/agentscope/core/tool/ToolGroupManager.java
Model integration
- Chat models
agentscope-core/src/main/java/io/agentscope/core/model/ChatModelBase.java - Provider formatters
agentscope-core/src/main/java/io/agentscope/core/formatter/Formatter.java
Agent capabilities
- Memory
agentscope-core/src/main/java/io/agentscope/core/memory/Memory.java - Long-term memory
agentscope-core/src/main/java/io/agentscope/core/memory/LongTermMemory.java - Plan notebook
agentscope-core/src/main/java/io/agentscope/core/plan/PlanNotebook.java - Plan storage
agentscope-core/src/main/java/io/agentscope/core/plan/storage/PlanStorage.java - Knowledge retrieval
agentscope-core/src/main/java/io/agentscope/core/rag/Knowledge.java
Runtime operations
- Hooks and oversight
agentscope-core/src/main/java/io/agentscope/core/hook/Hook.java - Safe interruption
agentscope-core/src/main/java/io/agentscope/core/interruption/InterruptContext.java - Graceful shutdown
agentscope-core/src/main/java/io/agentscope/core/shutdown/GracefulShutdownManager.java - Session state
agentscope-core/src/main/java/io/agentscope/core/session/Session.java
External integrations
- LLM provider
- Dify RAG
agentscope-extensions/agentscope-extensions-rag-dify/src/main/java/io/agentscope/core/rag/integration/dify/DifyRAGClient.java - RAGFlow
agentscope-extensions/agentscope-extensions-rag-ragflow/src/main/java/io/agentscope/core/rag/integration/ragflow/RAGFlowClient.java - A2A registry service
agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/registry/AgentRegistryService.java - Agent registry
- Chat client
Other components
- User
Connections 21
- User → ReAct agent: sends prompt
- ReAct agent → Agent runtime base: runs agent
- ReAct agent → Chat models: requests reasoning
- Chat models → Provider formatters: formats requests
- Chat models → LLM provider: calls model
- ReAct agent → Tool groups: uses tools
- ReAct agent → Memory: uses memory
- Memory → Long-term memory: supports persistence
- ReAct agent → Plan notebook: manages plans
- Plan notebook → Plan storage: stores plans
- ReAct agent → Knowledge retrieval: retrieves knowledge
- Knowledge retrieval → Dify RAG: queries service
- Knowledge retrieval → RAGFlow: queries service
- ReAct agent → Hooks and oversight: emits lifecycle events
- Hooks and oversight → Safe interruption: supports intervention
- Graceful shutdown → Safe interruption: interrupts requests
- Graceful shutdown → Session state: saves state
- Agent pipelines → Agent runtime base: dispatches agents
- A2A registry service → Agent registry: registers agent
- Chat client → ReAct agent: streams requests
- ReAct agent → Messages: returns response