# agentscope-java-demo **Repository Path**: youhei/agentscope-java-demo ## Basic Information - **Project Name**: agentscope-java-demo - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-12 - **Last Updated**: 2026-03-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # agentscope-java-demo(教学可运行版) 本仓库是根据《Java开发者的大模型入门:AgentScope Java组件全攻略》整理的**可直接运行**示例工程,覆盖: - 基础 Agent(`BaseAgent` / `ChatClient` / Message) - 工具调用(`@Tool` / `ToolManager`) - 多智能体协作(`MessageHub`) - 记忆(`Memory` / `ConversationMemory`) - ReAct(`ReActAgent` 思考-行动-观察循环) - 工作流(`Pipeline` / `SequentialPipeline` / `ConditionalPipeline`) ## 为什么没有直接依赖官方 AgentScope Java? 你的当前环境 Maven 被私有仓库镜像强制接管,无法解析 `com.alibaba.agentscope:*` 依赖。为了做到“任何人 clone 后都能编译运行”,本仓库提供了一套**最小可用的 AgentScope 教学实现**(包名保持为 `com.alibaba.agentscope.*`,便于对照文章理解)。 > 如果你后续在网络/仓库条件允许的环境中想切回官方依赖,也很容易:删掉本仓库的 `com/alibaba/agentscope` 目录并在 `pom.xml` 加回官方依赖即可。 ## 环境要求 - JDK 17+ - Maven 3.8+ ## 快速开始 ### 1)可选:启用真实大模型(DashScope) 不配置也能跑(会使用 `MockChatClient` 返回示例文本)。 如需真实调用通义千问,请在系统环境变量设置: - **Windows(PowerShell)** ```bash $env:DASHSCOPE_API_KEY="sk-xxx" ``` ### 2)启动项目 ```bash mvn spring-boot:run ``` 启动后默认端口 `8080`。 ## 示例接口一览 ### 1)Hello Agent(基础对话) - `GET /chat?message=你好` ### 2)Java 导师 - `GET /tutor/ask?question=什么是多态?` ### 3)带记忆聊天 - `GET /memory-chat?message=我叫小明` - `GET /memory-chat?message=我叫什么名字?` ### 4)工具调用(时间 / 天气 / 计算器) 工具由 `@Tool` 自动注册到 `ToolManager`(见 `com.example.demo.tool.*`)。 - `GET /tool/ask?question=现在几点了?` - `GET /tool/ask?question=上海天气怎么样?` - `GET /tool/ask?question=计算123+456` > 说明:为了确保离线也能演示,本 demo 的“工具是否调用”更偏规则/示例化;你配置 DashScope 后也可用于真实对话。 ### 5)多智能体旅游规划(MessageHub + 定时工人) - `GET /plan-trip?destination=我想去上海旅游3天` 流程:主管 `travel_supervisor` 通过 `MessageHub` 分发任务到 `weather_worker / hotel_worker / itinerary_worker`,工人定时拉取消息处理并回传结果。 ### 6)ReAct 代码助手(自我纠错 + 工具) - `GET /react/code?task=请写一个Python函数计算斐波那契数列的第10项,并运行它` 会触发 `executeCode` 工具的多轮尝试,展示 ReAct 的“观察→修正→再行动”。 ### 7)工作流:智能客服路由(Pipeline) - `GET /workflow/customer-service?question=我的订单什么时候发货?` - `GET /workflow/customer-service?question=这款手机有什么颜色?` - `GET /workflow/customer-service?question=你好` 流程:`classifier` 输出 `order/product/other`,再路由到对应 Agent。 ## 代码结构 - `src/main/java/com/example/demo/*`:业务示例(Agent / Tool / Controller / Config) - `src/main/java/com/alibaba/agentscope/*`:AgentScope 教学版最小实现(便于对照文章) ## 打包 ```bash mvn -q test mvn -q package ``` 产物在 `target/`。