How agentscope-ai/agentscope-java works
AgentScope Java is a framework for building long-running, controllable agents, with a separate service product for observing, registering, and orchestrating agents. The principal workflow accepts a user message through a HarnessAgent, runs the ReAct reasoning/tool loop against a configured model, and returns a result; events support streaming and human oversight. The repository also documents permissions, middleware, sandboxed workspaces, multi-agent orchestration, and distributed session recovery. Several subsystem links below are documented capabilities rather than verified calls because their implementations were not sampled.
Main entry points: HarnessAgent.java Harness agent · ReActAgent.java ReAct loop · engine.go Control plane · SessionLog.java Session log
Components 22
Agent runtime
- Harness agent
agentscope-harness/src/main/java/io/agentscope/harness/agent/HarnessAgent.java - ReAct loop
agentscope-core/src/main/java/io/agentscope/core/ReActAgent.java - Agent API
agentscope-core/src/main/java/io/agentscope/core/agent/Agent.java - Runtime context
agentscope-core/src/main/java/io/agentscope/core/agent/RuntimeContext.java - Messages
agentscope-core/src/main/java/io/agentscope/core/message/Msg.java - Model interface
agentscope-core/src/main/java/io/agentscope/core/model/Model.java - Model provider
agentscope-extensions/agentscope-extensions-model/agentscope-extensions-model-dashscope/src/main/java/io/agentscope/extensions/model/dashscope/DashScopeHttpClient.java
Execution controls
- Typed events
agentscope-core/src/main/java/io/agentscope/core/event/AgentEvent.java - Permission engine
agentscope-core/src/main/java/io/agentscope/core/permission/PermissionEngine.java - Middleware
agentscope-core/src/main/java/io/agentscope/core/middleware/MiddlewareChain.java - Workspace and sandbox
agentscope-harness/src/main/java/io/agentscope/harness/agent/workspace/WorkspaceManager.java - Subagent orchestration
agentscope-core/src/main/java/io/agentscope/core/agent/SubagentEventBus.java
Sessions and state
- Session log
agentscope-core/src/main/java/io/agentscope/core/session/SessionLog.java - Atomic storage API
agentscope-core/src/main/java/io/agentscope/core/session/AtomicSessionStorage.java - SQLite storage
agentscope-harness/src/main/java/io/agentscope/harness/agent/session/SqliteSessionStorage.java
Agent service
- Control plane
agentscope-service/service-controlplane/internal/orchestration/engine.go - Runtime host
agentscope-service/service-controlplane/internal/runtimehost/engine.go - Service dashboard
agentscope-service/frontend/src/main.tsx - Session event log
agentscope-service/service-common/src/main/java/io/agentscope/builder/web/managed/service/SessionEventLog.java
Other components
- User
- Model service
- Distributed storage
Connections 19
- User → Harness agent: submits message
README.md - Harness agent → ReAct loop: runs agent
agentscope-harness/src/main/java/io/agentscope/harness/agent/HarnessAgent.java - ReAct loop → Model interface: requests completion
- Model interface → Model provider: uses provider
- Model provider → Model service: calls model
- Harness agent → Messages: accepts input
README.md - Harness agent → Runtime context: uses context
README.md - ReAct loop → Typed events: streams events
README.md - ReAct loop → Permission engine: gates tools
README.md - ReAct loop → Middleware: supports interception
README.md - Harness agent → Workspace and sandbox: uses workspace
README.md - ReAct loop → Subagent orchestration: supports orchestration
README.md - Harness agent → Session log: persists sessions
README.md - Session log → Atomic storage API: uses storage contract
- Atomic storage API → SQLite storage: implemented by
agentscope-harness/src/main/java/io/agentscope/harness/agent/session/SqliteSessionStorage.java - Distributed storage → Session log: enables recovery
README.md - Service dashboard → Control plane: uses service
- Control plane → Runtime host: coordinates runtime
- Control plane → Session event log: supports observation