本地部署企业级多智能体产品 JoyAgent-JDGenie 并实现外部访问

JoyAgent-JDGenie 是京东开源的业界首个 100% 开源的企业级多智能体产品,它基于多智能体协同引擎,在面对复杂任务时,能通过多智能体协作进行规划与执行,并融合大小模型优势,确保任务高效完成。本文将详细介绍如何在 Linux 系统局域网内部署 JoyAgent-JDGenie 并结合路由侠实现外网访问局域网内部署的 JoyAgent-JDGenie 。

第一步,本地部署 JoyAgent-JDGenie

1,本教程使用 Linux Ubuntu 系统进行演示,首先输入以下命令更新软件包列表。

sudo apt update && sudo apt upgrade -y

2,安装 pnpm 。

sudo npm install -g pnpm

3,克隆项目代码并进入项目目录。

git clone https://github.com/jd-opensource/joyagent-jdgenie.git
cd joyagent-jdgenie

4,创建一个新的启动脚本 my_start.sh 。

sudo vim my_start.sh

写入以下内容:

#!/bin/bash

echo "========================================="
echo "🚀 启动 JoyAgent 所有服务"
echo "========================================="

# 1. 启动前端 UI
echo ""
echo "📦 1. 启动前端服务 (端口 3000)"
cd ~/joyagent-jdgenie/ui
if [ -f "package.json" ]; then
    # 检查是否已安装依赖
    if [ ! -d "node_modules" ]; then
        echo "安装前端依赖..."
        pnpm install
    fi
    echo "启动前端开发服务器..."
    pnpm dev --host 0.0.0.0 --port 3000 &
    sleep 3
    echo "✅ 前端服务已启动 (端口: 3000)"
else
    echo "❌ 错误: ui/package.json 不存在"
fi

# 2. 启动后端
echo ""
echo "📦 2. 启动后端服务"
cd ~/joyagent-jdgenie/genie-backend
if [ -f "start.sh" ]; then
    echo "执行后端启动脚本..."
    sh start.sh &
    echo "✅ 后端服务已启动"
elif [ -f "app.jar" ]; then
    echo "启动后端 JAR..."
    java -jar app.jar &
    echo "✅ 后端服务已启动"
elif [ -f "build.sh" ]; then
    echo "编译并启动后端..."
    sh build.sh && sh start.sh &
    echo "✅ 后端服务已启动"
else
    echo "❌ 错误: 找不到后端启动文件"
fi

# 3. 启动工具服务
echo ""
echo "📦 3. 启动工具服务"
cd ~/joyagent-jdgenie/genie-tool
if [ ! -f ".env" ]; then
    if [ -f ".env_template" ]; then
        cp .env_template .env
        echo "⚠️  请编辑 genie-tool/.env 填入你的 API Key"
    fi
fi
if [ -d ".venv" ]; then
    source .venv/bin/activate
else
    python3 -m venv .venv
    source .venv/bin/activate
    pip install uv
    uv sync
fi
python -m genie_tool.db.db_engine
python server.py &
echo "✅ 工具服务已启动"

# 4. 启动客户端
echo ""
echo "📦 4. 启动客户端服务"
cd ~/joyagent-jdgenie/genie-client
if [ -f "start.sh" ]; then
    sh start.sh &
    echo "✅ 客户端服务已启动"
else
    echo "⚠️  客户端服务可能需要手动启动"
fi

echo ""
echo "========================================="
echo "✅ 所有服务启动完成!"
echo "📍 前端访问地址: http://localhost:3000"
echo "========================================="
echo ""
echo "💡 查看运行状态: ps aux | grep -E '(vite|java|python|node)' | grep -v grep"
echo "💡 停止所有服务: pkill -f 'vite|java.*jar|python.*server|node.*client'"

5,编辑环境文件配置 API Key ,填入你的 API 信息。

cd ~/joyagent-jdgenie/genie-tool
cp .env_template .env
sudo vim .env

6,启动 JoyAgent-JDGenie 服务。

sudo chmod +x my_start.sh
./my_start.sh

7,打开浏览器访问地址 http://你的服务器 IP:3000 ,就能看到你部署的 JoyAgent-JDGenie 界面了。

第二步,外网访问本地 JoyAgent-JDGenie

安装路由侠内网穿透。

1,当前未提供网页管理,需要先在任意一台 Windows 机器安装路由侠 Windows 版本,用作跨机器管理。点此下载

2,在路由侠客户端主界面,进入“ 设备管理 ”,点击右下角的“ 添加设备 ”,此时可查看到对应的安装码,此安装码用于将设备添加到对应账号下,可选中后复制。

3,直接下载后导入:

wget https://dl.luyouxia.com:8443/v2/lyx-docker-x86_64.tar
docker load -i lyx-docker-x86_64.tar

4,然后使用该镜像启动容器。

docker run --name lyx -it --restart=always --net=host -e code=这里填写安装码 luyouxia/lyx

5,此时,需要等待下载和安装的过程,如果一切正常,最终可以看到一些输出,并且可以看到如下提示:

[Device] Logged in. Token: ....

这就表示安装成功了。

当前 Linux 终端这边,如果是使用的上面的命令,Docker 是运行在前台,此时可以按住 Ctrl + C ,退出路由侠,容器也将退出。现在可以使用以下命令将其放入后台持续运行:

docker start lyx

注意如果容器删除,重新 docker run , 将创建为新的设备。

需要注意的是,因为容器参数已经添加了 --restart=always ,这样开机就会自动启动,不需要再手动启动路由侠了。

6,现在回到 Windows 这边设备列表,点击右上角的 × 返回主界面,再次进入,就可以找到这个设备,可以修改名称。

7,回到主界面,点击【内网映射】。

8,注意右上角的设备名称下拉框,这里选中刚刚添加的设备名称,此时在这个界面上添加的映射,就属于刚刚这个设备。添加或修改一般需要等待 30 秒,容器中的路由侠进程就会更新并加载。切换好设备后,点击【添加映射】。

9,选择【原生端口】。

10,在内网地址填写你的服务器 IP 和 JoyAgent-JDGenie 端口 3000 后点击【创建】按钮,如下图。

11,创建好后,就可以看到一条映射的公网地址,鼠标右键点击【复制地址】。

12,在外网电脑上,打开浏览器,在地址栏输入从路由侠生成的外网地址,就可以看到内网部署的 JoyAgent-JDGenie 界面了。

以上就是 Linux 系统在局域网内部署 JoyAgent-JDGenie 服务以及利用路由侠的内网穿透平台实现外网访问局域网内部署的 JoyAgent-JDGenie 的全部教程了,如果想要对路由侠有更多的了解,可以进官网详细了解,路由侠官网地址:www.luyouxia.com