Skip to content

Repository files navigation

AgentLab Learner Demo

通过聊天完成 Agent Demo 构建:AI 推荐开源项目、生成本地 Docker 部署包、生成测试问答、录制演示视频,并把会话、消息和产物记录到 MySQL。

Architecture

backend/                  Spring Boot 3 + Spring AI 后端
  config/                  Web 静态资源配置
  controller/              REST API
  domain/                  MySQL 持久化实体
  dto/                     API / AI 结构化输出 DTO
  repository/              Spring Data JPA Repository
  service/                 AI 编排、会话存储、部署包、录频
chrome-extension/          Manifest V3 浏览器插件
src/                       React 聊天式前端
output/                    部署包、视频、封面、字幕

Requirements

  • JDK 17+
  • Node.js 18+
  • Docker 可选,用于启动 MySQL
  • 一个 OpenAI-compatible API Key,例如 DeepSeek / Qwen / OpenAI

MySQL

cd backend
docker compose -f docker-compose.mysql.yml up -d

默认连接信息:

MYSQL_URL=jdbc:mysql://localhost:13306/agentlab_demo?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true
MYSQL_USER=agentlab
MYSQL_PASSWORD=agentlab

Spring Data JPA 会维护业务表:

  • ai_conversation
  • ai_message
  • ai_artifact

Spring AI JDBC Chat Memory 也已接入 MySQL,并启用 schema 初始化。

AI Config

默认使用 OpenAI-compatible 配置:

set AI_BASE_URL=https://api.deepseek.com
set AI_API_KEY=your-api-key
set AI_MODEL=deepseek-chat

也可以换成其他兼容 OpenAI 协议的模型服务。

GitHub Search

当用户在聊天中要求“推荐项目”时,后端会先让 AI 生成 GitHub 搜索计划,然后调用 GitHub Repository Search API:

GET https://api.github.com/search/repositories

候选项目会按以下信息综合打分:

  • GitHub Stars
  • Forks
  • 最近 push / update 时间
  • 与用户需求、AI 搜索关键词和场景的匹配度
  • 是否出现 WebUI / Docker / compose / chatbot 等部署和演示相关信号

推荐回答仍由 AI 生成,但只能基于后端刚刚搜索并打分得到的 GitHub 候选项目。

可选配置:

set GITHUB_TOKEN=your-github-token

不配置也可以搜索公开仓库,但 GitHub Search API 的限流会更紧。

Start

npm install
npm run dev

服务地址:

单独启动:

npm run start:backend
npm run dev:web

Chat Flow

前端只保留聊天主入口。可以直接说:

  • 我想做一个 PDF 智能问答 Agent,帮我推荐项目
  • 为当前推荐项目生成 Docker 部署包
  • 生成适合录制 Demo 的测试问答
  • 录制一段可以直接分享的演示视频

后端会通过 Spring AI 判断动作并生成回答。录制完成后,返回的 videoUrl 会直接在聊天气泡中用 <video controls> 播放。

点击推荐项目卡片后,前端会自动发送“选择该项目并生成部署包”的消息,进入后续部署流程。

Verification

npm run build
cd backend
mvnw.cmd -q package

当前后端使用 Spring AI 1.1.5。实现参考了 Spring AI 官方 ChatClient 和 JDBC Chat Memory 文档。

About

自动化部署录制

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages