智造申报 Agent

面向智能工厂申报的 Harness Agent 应用。用户创建企业项目并上传可用材料Agent 完成材料检验与建设规划确认后自主调用知识库、Skill 和受控工作区生成带 Word 原生批注的 DOCX 审阅稿。

技术栈

  • Spring Boot 3.5.16、JDK 21、AgentScope Java 2.0.1、AG-UI
  • Vue 3.5、Vite、Element Plus、Vue Element Plus X
  • PostgreSQL 17、Flyway

本地启动

docker build -t smart-factory-agent-runtime:0.1.0 -f sandbox/Dockerfile sandbox
docker compose up -d postgres
mvn -q -f server/pom.xml spring-boot:run
npm --prefix web-ui install
npm --prefix web-ui run dev

本地开发服务器默认使用 Vite 配置的端口。容器化部署固定从 http://127.0.0.1:5173 访问。

模型连接只能在“模型配置”页面新增并持久化到 PostgreSQLAPI Key 会使用 APP_MASTER_KEY 环境变量提供的主密钥加密后保存。dashscope_key.txt 仅供百炼知识库使用,不参与模型配置。

启动后端前必须设置模型密钥加密主密钥:

$env:APP_MASTER_KEY = '<使用独立生成的高强度密钥>'

Docker Compose 部署

部署包含 Nginx 前端、Spring Boot 后端、Agent Runtime 镜像和 PostgreSQL。Agent Runtime 不是常驻 API 服务:镜像在开发机预先构建并导入服务器,服务器上的 agent-runtime 服务只校验 镜像存在,随后以状态码 0 退出;后端再通过 Docker Socket 为每个 Agent Session 动态创建隔离容器。

  1. 在开发机构建并导出 Agent Runtime 镜像:

    docker build -t smart-factory-agent-runtime:0.1.0 -f sandbox/Dockerfile sandbox
    docker save -o smart-factory-agent-runtime-0.1.0.tar smart-factory-agent-runtime:0.1.0
    

    将 Tar 文件传到服务器后导入。Compose 设置了 pull_policy: never,若镜像不存在会直接报错, 不会在服务器自动拉取或构建:

    docker load -i smart-factory-agent-runtime-0.1.0.tar
    docker image inspect smart-factory-agent-runtime:0.1.0
    
  2. 复制环境变量模板并替换其中的三个必填密码/密钥;生产环境建议使用密码管理系统生成随机值。

    cp .env.example .env
    
  3. 确认 MANUAGENT_DATA_ROOT 是 Docker 宿主机上的绝对路径。这个路径会以完全相同的路径挂载到 后端容器,供动态 Agent Runtime 继续挂载项目材料、工作目录和产物。Linux 默认值为 /srv/manuagent/data

  4. 构建前后端并启动完整服务:

    docker compose -f docker-compose.yml up -d --build
    docker compose -f docker-compose.yml ps
    
  5. 打开 http://127.0.0.1:5173,使用 .env 中的 APP_ADMIN_USERNAMEAPP_ADMIN_PASSWORD 登录。查看日志或停止服务:

    docker compose -f docker-compose.yml logs -f backend
    docker compose -f docker-compose.yml down
    

默认端口映射为 0.0.0.0:5173:80。若 Windows 的动态端口排除范围占用了 5173可仅在本机 验证时临时执行 $env:FRONTEND_PORT = '15173'Linux 服务器部署应保留默认的 5173。

PostgreSQL 数据保存在 postgres-data 命名卷中项目材料、Agent 工作区、快照和生成文件保存在 MANUAGENT_DATA_ROOTdocker compose down 不会删除它们,只有显式增加 --volumes 才会删除 PostgreSQL 卷。后端挂载 Docker Socket 等价于授予其管理宿主机容器的高权限,应只在受信任的 Docker 主机上运行,并限制 5173 端口的网络访问范围。通过 HTTPS 反向代理部署时,请将 SESSION_COOKIE_SECURE 设为 true

验证

mvn -q -f server/pom.xml test
npm --prefix web-ui run test
npm --prefix web-ui run build
docker compose -f docker-compose.yml config --quiet

产品、数据库与验收设计见 docs。内置 Skill 与资源由 Flyway 种子迁移写入数据库,无需额外导入文件。

Description
智能工厂申报自动化 Agent
Readme 950 KiB
Languages
Java 71.8%
Vue 13.7%
TypeScript 7.1%
CSS 4.4%
Python 2.2%
Other 0.7%