Skip to content

Releases: agentscope-ai/agentscope-java

v1.0.1

08 Dec 07:42

Choose a tag to compare

What's Changed

  • feat: add checkRunning parameter to control concurrent agent calls by @AlbumenJ in #111
  • fix: installation docs by @AlbumenJ in #117
  • feat: add ChatUsage to Msg metadata for token usage tracking by @AlbumenJ in #118
  • refactor: reuse ObjectMapper to avoid repeated construction overhead. by @yangl in #121
  • feat: enhance GenerateOptions with topK, seed and additional HTTP params by @AlbumenJ in #119
  • feat: add build-in file operationg tool by @fang-tech in #89
  • refactor: split examples by @AlbumenJ in #122
  • refactor: move embedding to rag-simple by @AlbumenJ in #133
  • feat(session): add support redis session storage by @jianjun159 in #142
  • fix modifications to PostActingEvent in Hook not taking effect as expected by @LearningGp in #154
  • fix: all-in-one should shade extensions by @AlbumenJ in #153

New Contributors

Full Changelog: v1.0.0...v1.0.1

v1.0.0

30 Nov 15:21

Choose a tag to compare

The first stable release of AgentScope Java - an agent-oriented programming framework for building LLM applications.

Installation

Requires JDK 17+

<dependency>
    <groupId>io.agentscope</groupId>
    <artifactId>agentscope</artifactId>
    <version>1.0.0</version>
</dependency>

Highlights

  • Multi-Model Support - DashScope, OpenAI, Anthropic, Gemini out of the box
  • ReAct Agent - Built-in reasoning and acting loop with tool calling
  • Annotation-based Tools - Define tools with simple @Tool annotations
  • MCP Protocol - Native Model Context Protocol support
  • Multimodal - Text, image, audio, and video content handling
  • RAG - Knowledge retrieval with local vector store or Bailian integration
  • Long-term Memory - Cross-session memory via Mem0 extension
  • Multi-Agent Pipelines - Sequential, fanout, and message hub patterns
  • Streaming & Hooks - Real-time output with execution lifecycle hooks
  • AgentScope Studio - Visual debugging interface

Extensions

  • agentscope-extensions-mem0 - Long-term memory
  • agentscope-extensions-rag-simple - Local RAG
  • agentscope-extensions-rag-bailian - Bailian knowledge base
  • agentscope-extensions-studio - Visual debugger

v0.2.1

18 Nov 08:45

Choose a tag to compare

AgentScope Studio Integration

  • Real-time Visualization: Added AgentScope Studio integration with real-time visualization capabilities for monitoring agent execution (#57)

RAG Support

  • Comprehensive RAG Framework: Introduced full-featured RAG (Retrieval-Augmented Generation) support including:
    • Embedding model integration
    • Vector store implementations
    • Document retrieval capabilities (#55)

Performance

  • Non-blocking I/O: Improved model execution performance by using boundedElastic scheduler to prevent blocking I/O threads (#56)

v0.2.0

06 Nov 07:06

Choose a tag to compare

We're excited to announce the release of AgentScope Java v0.2.0, a major milestone that brings production-ready features, comprehensive multi-agent capabilities, and full alignment with the Python version.

Multi-Agent System

  • MsgHub & Pipeline (#39, #36): Message broadcasting and orchestration for multi-agent collaboration
  • PlanNotebook (#40): Structured multi-step task planning and execution
  • Werewolf Game Example (#51): Complete multi-agent game with i18n support demonstrating advanced agent interactions

Advanced Tool System

  • MCP (Model Context Protocol) Integration (#16): Connect to external tools and services
  • Tool Streaming (#14): Real-time progress updates during tool execution
  • Meta Tools & Tool Groups (#17, #42): Hierarchical tool organization with access control
  • Parallel Tool Execution (#11): Concurrent tool calls for improved performance

Model Capabilities

  • Multimodal Support (#25): Vision (Image) and Audio support for DashScope and OpenAI models
  • Thinking Mode (#22, #24): Support for o1-style reasoning with ThinkingBlock
  • Structured Output (#26, #37, #45, #46, #47): JSON schema-based response formatting with tool choice integration
  • Timeout & Retry (#33, #35): Three-layer timeout architecture with exponential backoff retry

Agent Enhancements

  • Agent Interruption (#15): Graceful agent interruption mechanism
  • Context Summarization (#27): Auto-summarize when max iterations reached
  • Stream API (#32): Reactive event streaming for real-time agent monitoring
  • UserAgent Refactoring (#29): Comprehensive user interaction agent with builder pattern

Architecture Improvements

  • Fully Reactive Execution (#28): Async-first architecture using Project Reactor
  • Event-Driven Hooks (#13, #20, #41): Unified hook system aligned with Python implementation
  • Sealed ContentBlock (#30): Type-safe message content using Java sealed classes
  • SessionManager (#50): Automatic component naming and session management
  • Formatter Restructuring (#45): Cleaner separation between DashScope and OpenAI formatters

v0.1.0

24 Sep 10:22
89f7381

Choose a tag to compare

Please note that this is an early version, so the APIs and dependencies in the current version do not guarantee long-term stability. Future versions might bring breaking changes.

🚀 Quickstart

Installation

AgentScope Java requires jdk 17 or higher.

<dependency>
    <groupId>io.agentscope</groupId>
    <artifactId>agentscope-core</artifactId>
    <version>0.1.0</version>
</dependency>

Hello AgentScope!

Start with a basic ReActAgent that replies to user queries!

public static void main(String[] args) {
    Model model = DashScopeChatModel.builder()
		.apiKey(System.getenv("DASHSCOPE_API_KEY"))
		.modelName("qwen-max")
		.build();

    ReActAgent agent = ReActAgent.builder()
    .name("hello-world-agent")
    .sysPrompt("You are a helpful AI assistant. Be concise and friendly. " +
               "When thinking through problems, use <thinking>...</thinking> tags to show your reasoning.")
    .model(model)
    .memory(new InMemoryMemory())
    .formatter(new DashScopeChatFormatter())
    .build();

    Msg userMessage = Msg.builder()
        .role(MsgRole.USER)
        .textContent("Hello, please introduce yourself.")
        .build();
    Msg response = agent.reply(userMessage).block();

    System.out.println("Agent Response: " + response.getTextContent());
}