gogo-agent

项目如何启动&快速开始

配置修改 找到项目中的application.yml,搜索 记得改成你自己的 这句话,他前面的配置你需要改成你自己的。 用途 配置项 获取方式 是否必改 DashScope API Key agentscope.dashscope.…

TL;DR

配置修改 找到项目中的application.yml,搜索 记得改成你自己的 这句话,他前面的配置你需要改成你自己的。 用途 配置项 获取方式 是否必改 DashScope API Key agentscope.dashscope.…

配置修改

找到项目中的application.yml,搜索# 记得改成你自己的 这句话,他前面的配置你需要改成你自己的。 | 用途 | 配置项 | 获取方式 | 是否必改 | | --- | --- | --- | --- | | DashScope API Key | agentscope.dashscope.api-key | aliyun.com/product/bailian | 是 | | MySQL | spring.datasource.url | 自己部署或者用云服务 | 是 | | Redis | spring.data.redis.host | 自己部署或者用云服务 | 是 | | 百炼记忆库(长期记忆) | agentscope.bailian.* | 百炼控制台创建 | 不提供无法查询用户偏好 | | 百炼景点查询知识库(RAG) | agentscope.bailian.memory-library-id | 百炼控制台创建 | 不提供无法查询城市有哪些景点 | | NewsData.io API Key | app.news-api-key | https://newsdata.io | 不提供无法查询城市有哪些新闻 | | weather MCP Endpoint | app.weather-mcp.endpoint | https://market.aliyun.com/detail/cmapi00074002#sku=yuncode6800200004 | 不提供无法查询城市天气 | | Orizn Visa API Key | app.orizn-mcp.api-key | https://visa.orizn.app | 不提供无法查询签证信息 |

运行时需要提供的配置(跑 Skill 才需要)

agent运行时会要求你提供。需要的时候去申请即可。 | 依赖 | Skill 需求 | 备注 | | --- | --- | --- | | tuniu-cli | 机票 / 酒店 / 火车 统一入口 | https://open.tuniu.com/mcp/docs/apidoc/mcp/hotelMCP.html | | flyai | 备用机票、酒店 Skill | https://h5.133.cn/webapp/pages/mcpApiKey?zhuti=HBGJ&uid=H5GNoxOAM9AizyUeYkP-IIso |

其他你也可以改的配置

配置项 位置 场景
服务端口 server.port 8080 已被占用时改
Sa-Token 有效期 sa-token.timeout 默认 30 天
日志级别 logging.level.com.gogo.travel (强烈建议)
工具熔断白名单 app.circuit-breaker.monitored-tool-names 新增易失败工具时追加
Skill 目录 travel.skill.path 默认
MCP 白名单 app.weather-mcp.enabled-tools 控制暴露给 LLM 的工具,降 token

初始化数据库

建库

CREATE

执行 DDL 与初始化数据

在 MySQL 中执行代码中的SQL:src/main/resources/db/schema.sql 脚本会创建 11 张表并写入: - 5 个测试用户档案 user_profile(u_001 / u001 / u002 / u003 / u004) - 5 个登录账号 user_account(明文密码 123456,仅用于本地开发) - 12 条差旅政策 travel_policy_rule(4 职级 × 3 城市等级) | 账号 | 密码 | 姓名 | 角色 | | --- | --- | --- | --- | | admin | 123456 | 系统管理员 | ADMIN | | alice | 123456 | 张三 | USER | | bob | 123456 | 李四 | USER | | charlie | 123456 | 王五 | USER | | david | 123456 | 赵六 | USER |

初始化百炼记忆库和知识库

百炼知识库(可选)

可以用百炼知识库,或者Dify、以及其他的自己提供的RAG也行,百炼使用方式如下: 创建一个知识库配置如下 从代码中找到我们提供的数据集上传 : /src/main/resources/dataset/tourist_attraction.docx 知识库相关的配置如何获取: - accessKeyId - accessKeySecret 过个人中心的AccessKey创建对应的accessKeyId和accessKeySecret - workspaceId - indexId

记忆库(建议配置)

然后把这个知识库id配置到agentscope.bailian.memory-library-id 即可。

启动后端

方式 A:IntelliJ IDEA(推荐)

  1. 打开项目根目录,等 Maven 索引完成
  2. Project Structure → SDK 选 JDK 21
  3. 右键 GogoTravelApplication.java → Run 'GogoTravelApplication' 看到以下日志代表启动成功:
Started GogoTravelApplication in x.xxx seconds
Tomcat started on port 8080 (http)

查看日志(强烈建议改成DEBUG)

代码中我打了很多用于调试的日志,方便你了解agent的运行流程。但是需要你把日志级别改成DEBUG才行,默认使用INFO:

logging:
  level:
    com.gogo.travel: DEBUG

方式 B:命令行 Maven

cd

## 首次或依赖有变更
mvn -DskipTests clean

## 启动(会阻塞在前台,Ctrl+C 停止)
mvn spring-boot:run

看到以下日志代表启动成功:

Started GogoTravelApplication in x.xxx seconds
Tomcat started on port 8080 (http)

方式 C:可运行 Jar

mvn -DskipTests clean package

## 生成 target/gogo-agent-1.0.0-SNAPSHOT.jar
java -jar target/gogo-agent-1.0.0-SNAPSHOT.jar

生产/Docker 场景推荐这种方式,配合 -D 或环境变量覆盖配置。

启动前端

安装依赖

cd
npm

配置后端地址(可选)

前端默认走 http://localhost:8080(见 src/api/auth.ts 等)。如果后端跑在别的地址,创建 frontend/.env.local:

VITE_API_BASE

启动开发服务器

npm

看到:

VITE v8.x  ready in xxx ms
➜  Local:   http://localhost:5173/

浏览器打开 http://localhost:5173,进入登录页。

生产构建

npm
npm

第一次跑通

按以下顺序验证核心链路:

Step 1 — 登录

  • 浏览器打开 http://localhost:5173
  • 输入 alice / 123456 登录 → 进入主对话页

Step 2 — 发起对话

输入几个逐层验证的问题: | 输入 | 期望结果 | 验证点 | | --- | --- | --- | | 你好 | 短回复 + 推荐问题 | 基础 LLM 通路 | | 我明天从北京去上海出差 3 天,帮我看下政策 | InfoAgent + PolicyTools 联合回答 | RAG + 政策工具 | | 我要请假出差,帮我建个差旅单 | Human-in-the-Loop 表单弹出 | UserInteractionTools |

Step 3 — 观察 SSE 事件

  • 打开浏览器 DevTools → Network → 筛选 respond
  • 会看到 text/event-stream 连接持续接收:thinking / progress / travel_data / message / suggestions / done

Step 4 — 验证会话持久化

  • 在左侧 Sidebar 看到会话已保存,标题由 ConversationTitleService 异步生成
  • 刷新页面重新登录 → 点开历史会话 → 消息列表完整回显

Step 5 — 后台数据核对

USE
SELECT
SELECT
SELECT

看到上述表有数据即说明多轮记忆与会话历史都已落库。

常见问题(FAQ / 故障排查)

后端启动失败

现象 排查
Public Key Retrieval is not allowed JDBC URL 加
Communications link failure MySQL 未起 / 网络不通 / 密码错
Redis 连接超时 REDIS_HOST/PORT/PASSWORD
Unknown initial character set index '255' MySQL < 8.0,建议升级
DashScope 401 / 403 DASHSCOPE_API_KEY
orizn-visa-mcp npx
端口 8080 被占 export SERVER_PORT=8081

前端相关

现象 排查
登录报网络错误 检查后端是否已跑起来 +
SSE 只收到几条就停 反向代理未关闭 buffering;开发环境直连 Vite 不受此影响
401 Unauthorized Token 过期或未在请求头带
npm install 切换国内镜像:

对话相关

现象 排查
回复很慢 / 一直转圈 观察后端
搜索卡片不显示 对应 Skill CLI 未安装(如
Agent 中断不生效 Redis 未连通,
熔断误伤
版本提示

模型、框架与接口会持续变化。涉及版本号、参数与生产配置时,请在实践前对照对应官方文档。

LLMentor系统化学习大模型应用工程

内容来自个人课程知识库备份,并经过结构化整理。技术版本持续演进,生产使用前请结合官方文档验证。