AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
Build distributed, enterprise-grade agents
Translation pending
Developer toolsJava · GoGitHub @agentscope-aiOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Build distributed, production-grade, long-running agents.
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
AgentScope Java 2.0 is a production-ready framework for building distributed, enterprise-grade agents, providing essential abstractions that work with rising model capability and built-in support for long-running, safely-controlled agent execution.Read the full README ↗AgentScope Java 2.0 is a production-ready framework for building distributed, enterprise-grade agents, providing essential abstractions that work with rising model capability and built-in support for long-running, safely-controlled agent execution.
agent_spawn / agent_send and real-time event forwarding.v2.0.0 GA: First production-ready release! Dual-layer agent architecture, event stream, permission system, middleware, workspace sandbox, multi-agent orchestration, and distributed deployment all ready. Docs | Release Notesv2.0.0-RC5: Model provider modularization; unified DataBlock multimodal support; native structured output; Channel IM integration; Tencent Cloud COS state persistence. Release Notesv2.0.0-RC4: Async tool execution and scheduled wakeup dispatching; subagent cross-replica routing and session recovery. Release Notesv2.0.0-RC3: Unified call() / streamEvents() execution core; AgentResultEvent, CustomEvent, HintBlockEvent new event types. Release Notesv2.0.0-RC2: Fully stateless agent; one-line DistributedBackend; subagent event forwarding; Channel module (DingTalk, Feishu, WeCom); A2A / AG-UI protocol support. Release Notesv2.0.0-RC1: First 2.0 RC — harness engineering, enterprise distributed deployment, event stream / message model / middleware / HITL full redesign. Release NotesWelcome to join our community on
| Discord | DingTalk | |
|---|---|---|
AgentScope Java requires JDK 17 or higher.
<dependency>
<groupId>io.agentscope</groupId>
<artifactId>agentscope-harness</artifactId>
<version>2.0.3</version>
</dependency>
Model providers are shipped as separate extension modules in 2.0. Add the one you need — for example, DashScope:
<dependency>
<groupId>io.agentscope</groupId>
<artifactId>agentscope-extensions-model-dashscope</artifactId>
<version>2.0.3</version>
</dependency>
Other options: agentscope-extensions-model-openai, agentscope-extensions-model-anthropic, agentscope-extensions-model-gemini, agentscope-extensions-model-ollama. See the Model docs for details.
For typed text and image classification, see OpenAI Decisions, available in 2.1.0-SNAPSHOT builds containing the extension.
To use the reasoning and tool APIs of ReActAgent and compose application capabilities yourself, depend on agentscope-core and your model extension.
Configure a shared Builder at startup, then use builder.build() to create and close an Agent for each request. The same identity and persistent storage keep the conversation across instances. Set DASHSCOPE_API_KEY before running:
import io.agentscope.core.agent.RuntimeContext;
import io.agentscope.core.event.TextBlockDeltaEvent;
import io.agentscope.core.event.ToolCallStartEvent;
import io.agentscope.core.message.UserMessage;
import io.agentscope.harness.agent.HarnessAgent;
import java.nio.file.Paths;
public class FirstAgent {
// Configure once at startup; requests only call build().
private static final HarnessAgent.Builder AGENT_BUILDER = HarnessAgent.builder()
.name("assistant")
.agentId("assistant")
.sysPrompt("You are a helpful AI assistant.")
.model("dashscope:qwen-plus")
.workspace(Paths.get(".agentscope/workspace"));
public static void main(String[] args) {
try (HarnessAgent agent = AGENT_BUILDER.build()) {
RuntimeContext ctx = RuntimeContext.builder()
.sessionId("demo").userId("alice").build();
agent.call(new UserMessage("Hello!"), ctx).block();
}
// COMMENT_Summarize today in three bullets.
try (HarnessAgent agent = AGENT_BUILDER.build()) {
RuntimeContext ctx = RuntimeContext.builder()
.sessionId("demo").userId("alice").build();
agent.streamEvents(new UserMessage("Summarize today in three bullets."), ctx)
.doOnNext(event -> {
switch (event.getType()) {
case TEXT_BLOCK_DELTA -> System.out.print(
((TextBlockDeltaEvent) event).getDelta());
case TOOL_CALL_START -> System.out.println(
"\n[tool] " + ((ToolCallStartEvent) event).getToolCallName());
default -> { }
}
})
.blockLast();
}
}
}
Start with call / streamEvents for ordinary replies, multi-turn chat and workflow steps; follow the Quick Start. Both also record Harness conversation history by default. Introduce AgentSession when work must continue after a page closes, queue while busy or resume after interruption. The recoverable chat example shows the full integration.
AgentScope Service — an Agent as a Service platform for business applications. Publish capabilities such as proposal writing, document verification, and exception investigation through APIs. Users start work, handle decisions, and review delivery inside their existing product.
Choose an integration in Use cases, then complete a call with the API quickstart.
AgentScope Java 2.0 is a major step up from a "build an agent" toolkit toward a complete platform for running agents in production. The improvements fall into three focus areas:
A bare ReAct loop solves one reasoning turn. HarnessAgent layers engineering infrastructure on top of ReActAgent via Middleware and Toolkit channels — the reasoning core stays untouched, capabilities layer on:
MEMORY.md + on-disk fact log, with auto-compaction to bound the promptagent_spawn / agent_send at runtime, sync or background delegationProduction agents must serve many tenants, run untrusted code safely, and survive rolling restarts. AgentScope 2.0 is built for stateless horizontal scaling:
session / user / agent / org dimension isolation, RuntimeContext keys flow through workspace paths, KV namespaces, and sandbox state slotsAgentStateStore (in-memory / JSON file / MySQL / Redis / PostgreSQL) backs zero-downtime rolling deploysMessages, events, and the extension model are smaller, more orthogonal — HITL and event streaming are part of how the framework runs, not add-ons:
ContentBlock, role-strict validation at constructiononAgent / onReasoning / onActing / onModelCall / onSystemPrompt / onAgentStateReady six stages replace v1's flat hooksFor the complete architecture overview, see the documentation.
We welcome contributions from the community! Please refer to our CONTRIBUTING.md for guidelines on how to contribute.
AgentScope is released under Apache License 2.0.
All thanks to our contributors:
v1.1.0: Introduced agentscope-harness and HarnessAgent; Workspace (persona / memory / skills / subagents); pluggable filesystem (local / shared store / sandbox); session persistence with cross-process resume; layered memory and context compaction; declarative subagent orchestration. Release Notes