MCPcopy Index your code
hub / github.com/agentscope-ai/agentscope-java

github.com/agentscope-ai/agentscope-java @v1.0.12

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0.12 ↗ · + Follow
19,597 symbols 133,502 edges 1,516 files 6,053 documented · 31%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

AgentScope Logo

用 Java 构建生产级 AI 智能体

📖 文档  |  English  |  Discord

License JDK 17+ Maven Central Ask DeepWiki


AgentScope Java 是一个面向智能体的编程框架,用于构建基于大语言模型的应用。它提供了构建智能体所需的一切:ReAct 推理、工具调用、记忆管理、多智能体协作等。

核心亮点

🎯 自主且可控

AgentScope 采用 ReAct(推理-行动)范式,使智能体能够自主规划和执行复杂任务。与僵化的工作流方式不同,ReAct 智能体可以动态决定使用哪些工具以及何时使用,实时适应不断变化的需求。

然而,在生产环境中,没有控制的自主性是一种隐患。AgentScope 提供了完整的运行时介入机制:

  • 安全中断 - 在任意时刻暂停智能体执行,同时完整保留上下文和工具状态,支持无损恢复
  • 优雅取消 - 终止长时间运行或无响应的工具调用,不会破坏智能体状态,支持立即恢复和重定向
  • 人机协同 - 通过 Hook 系统在任意推理步骤注入修正、补充上下文或指导,保持人类对关键决策的监督

🛠️ 内置工具

AgentScope 内置了生产就绪的工具,解决智能体开发中的常见挑战:

  • PlanNotebook - 结构化的任务管理系统,将复杂目标分解为有序、可追踪的步骤。智能体可以创建、修改、暂停和恢复多个并发计划,确保多步骤工作流的系统化执行。

  • 结构化输出 - 自纠错的输出解析器,保证类型安全的响应。当 LLM 输出偏离预期格式时,系统自动检测错误并引导模型产生有效输出,直接映射到 Java POJO,无需手动解析。

  • 长期记忆 - 跨会话的持久化记忆存储,具备语义搜索能力。支持自动管理、智能体主动记录或混合模式。支持多租户隔离,满足企业级部署中智能体独立服务多用户的需求。

  • RAG(检索增强生成) - 与企业知识库无缝集成。支持自建的基于 Embedding 的检索服务,也支持阿里云百炼等托管服务,让智能体的回答基于权威数据源。

🔌 无缝集成

AgentScope 设计上能够与现有企业基础设施集成,无需大规模改造:

  • MCP 协议 - 集成任意 MCP 兼容的服务,即刻扩展智能体能力。连接日益丰富的 MCP 工具和服务生态——从文件系统、数据库到浏览器、代码解释器——无需编写自定义集成代码。

  • A2A 协议 - 通过标准服务发现实现分布式多智能体协作。将智能体能力注册到 Nacos 或类似注册中心,使智能体之间的相互发现和调用如同调用微服务一样自然。

🚀 生产就绪

为企业级部署需求而构建:

  • 高性能 - 基于 Project Reactor 的响应式架构确保非阻塞执行。GraalVM 原生镜像编译实现 200ms 冷启动,使 AgentScope 适用于 Serverless 和弹性伸缩环境。

  • 安全沙箱 - AgentScope Runtime 为不可信的工具代码提供隔离执行环境。内置 GUI 自动化、文件系统操作和移动设备交互的预置沙箱,防止未授权访问系统资源。

  • 可观测性 - 原生集成 OpenTelemetry,实现智能体执行全链路的分布式追踪。AgentScope Studio 提供可视化调试、实时监控和完整日志,支持开发和生产环境。

快速开始

环境要求: JDK 17+

<dependency>
    <groupId>io.agentscope</groupId>
    <artifactId>agentscope</artifactId>
    <version>1.0.12</version>
</dependency>
ReActAgent agent = ReActAgent.builder()
    .name("Assistant")
    .sysPrompt("You are a helpful AI assistant.")
    .model(DashScopeChatModel.builder()
        .apiKey(System.getenv("DASHSCOPE_API_KEY"))
        .modelName("qwen-max")
        .build())
    .build();

Msg response = agent.call(Msg.builder()
        .textContent("Hello!")
        .build()).block();
System.out.println(response.getTextContent());

更多示例请参阅文档

贡献

欢迎贡献!请参阅 CONTRIBUTING_zh.md 了解详情。

社区

Discord DingTalk WeChat

许可

Apache License 2.0 - 详见 LICENSE

论文

如果 AgentScope 对您有帮助,请引用我们的论文:

贡献者

Extension points exported contracts — how you extend this code

AguiEvent (Interface)
Sealed interface for all AG-UI protocol events. All events in the AG-UI protocol implement this interface and provi [38 …
agentscope-extensions/agentscope-extensions-agui/src/main/java/io/agentscope/core/agui/event/AguiEvent.java
AgentCardResolver (Interface)
The Resolver for AgentCard of A2A. [8 implementers]
agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-client/src/main/java/io/agentscope/core/a2a/agent/card/AgentCardResolver.java
EmbeddingModel (Interface)
Interface for embedding models supporting multimodal content. This interface provides a unified API for generating v [14 …
agentscope-extensions/agentscope-extensions-rag-simple/src/main/java/io/agentscope/core/embedding/EmbeddingModel.java
RewardCalculator (Interface)
Reward Calculator Interface Calculate reward value based on shadow Agent's execution results [6 implementers]
agentscope-extensions/agentscope-extensions-training/src/main/java/io/agentscope/core/training/reward/RewardCalculator.java
MessagePart (Interface)
Interface for all message parts. [56 implementers]
agentscope-extensions/agentscope-extensions-studio/src/main/java/io/agentscope/core/tracing/telemetry/model/MessagePart.java
RedisClientAdapter (Interface)
Adapter interface for Redis client operations. This interface provides a unified abstraction over different Redis cl [6 …
agentscope-extensions/agentscope-extensions-session-redis/src/main/java/io/agentscope/core/session/redis/RedisClientAdapter.java
LongTermMemory (Interface)
Abstract base class for long-term memory implementations. This class provides a time-series memory management system [9 …
agentscope-core/src/main/java/io/agentscope/core/memory/LongTermMemory.java
AgentScheduler (Interface)
Core interface for scheduling agents to run at specified times or intervals. This interface defines the fundamental [4 …
agentscope-extensions/agentscope-extensions-scheduler/agentscope-extensions-scheduler-common/src/main/java/io/agentscope/extensions/scheduler/AgentScheduler.java

Core symbols most depended-on inside this repo

build
called by 7461
agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/transport/TransportWrapperBuilder.java
of
called by 2514
agentscope-core/src/main/java/io/agentscope/core/state/SimpleSessionKey.java
get
called by 2116
agentscope-core/src/main/java/io/agentscope/core/session/Session.java
contains
called by 2090
agentscope-core/src/main/java/io/agentscope/core/tool/ContextStore.java
name
called by 1402
agentscope-extensions/agentscope-quarkus-extensions/agentscope-quarkus-extension/src/main/java/io/agentscope/quarkus/runtime/AgentScopeConfig.java
builder
called by 1344
agentscope-core/src/main/java/io/agentscope/core/message/Msg.java
get
called by 1304
agentscope-extensions/agentscope-extensions-session-redis/src/main/java/io/agentscope/core/session/redis/RedisClientAdapter.java
builder
called by 1179
agentscope-core/src/main/java/io/agentscope/core/message/TextBlock.java

Shape

Method 16,913
Class 2,348
Function 182
Interface 106
Enum 48

Languages

Java99%
TypeScript1%
Python1%
Kotlin1%

Modules by API surface

agentscope-core/src/main/java/io/agentscope/core/model/ollama/OllamaOptions.java129 symbols
agentscope-extensions/agentscope-extensions-agui/src/main/java/io/agentscope/core/agui/event/AguiEvent.java106 symbols
agentscope-core/src/test/java/io/agentscope/core/tool/mcp/McpClientBuilderTest.java100 symbols
agentscope-extensions/agentscope-extensions-agui/src/test/java/io/agentscope/core/agui/event/AguiEventTest.java95 symbols
agentscope-core/src/main/java/io/agentscope/core/formatter/openai/dto/OpenAIRequest.java94 symbols
agentscope-examples/werewolf-hitl/src/main/java/io/agentscope/examples/werewolf/localization/MessageSourceGameMessages.java92 symbols
agentscope-examples/werewolf-hitl/src/main/java/io/agentscope/examples/werewolf/localization/GameMessages.java90 symbols
agentscope-core/src/main/java/io/agentscope/core/ReActAgent.java86 symbols
agentscope-examples/werewolf/src/main/java/io/agentscope/examples/werewolf/localization/MessageSourceGameMessages.java83 symbols
agentscope-core/src/test/java/io/agentscope/core/model/tts/DashScopeRealtimeTTSModelTest.java83 symbols
agentscope-examples/werewolf/src/main/java/io/agentscope/examples/werewolf/localization/GameMessages.java81 symbols
agentscope-extensions/agentscope-extensions-rag-simple/src/test/java/io/agentscope/core/rag/store/MilvusStoreTest.java80 symbols

Datastores touched

(mysql)Database · 1 repos
dbDatabase · 1 repos
mydbDatabase · 1 repos

For agents

$ claude mcp add agentscope-java \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact