部署示例
下面是在 Linux x86_64 上部署 主服务器 + 连接器服务器 的示例。Web 客户端与服务端同源,由反向代理统一对外。
1. 主服务器
先将下载页的 keragi-wasmx-linux-x64.tgz、keragi-resx.tgz、keragi-msgx.tgz、keragi-userx.tgz 放到当前目录:
npm install -g ./keragi-wasmx-linux-x64.tgz
wasmx init /opt/clientx --preset main --offline .
cd /opt/clientx
cp .env.example .env
编辑 /opt/clientx/.env:
WASMX_ADDR=127.0.0.1:3001
WASMX_DB=sqlite://data/keragi.db
JWT_SECRET=请替换为至少32位随机字符串
BOOTSTRAP_ADMIN_CREDENTIAL=admin@example.com
BOOTSTRAP_ADMIN_PASSWORD=请替换为强密码
USERX_ADMIN_URL=http://127.0.0.1:3001/userx
USERX_PUBLIC_URL=http://127.0.0.1:3001/userx
USERX_ADMIN_CREDENTIAL=admin@example.com
USERX_ADMIN_PASSWORD=请替换为强密码
--preset main 会安装 resx、msgx、userx。需要 AI 时再追加:
wasmx add ../keragi-agix.tgz
wasmx stop
wasmx start
2. 连接器服务器(可选,独立机器)
连接器需要运行在能访问本机 AI CLI 的机器上:
npm install -g ./keragi-wasmx-linux-x64.tgz
wasmx init /opt/keragi-connector --preset connector --offline .
cd /opt/keragi-connector
cp .env.example .env
编辑 /opt/keragi-connector/.env:
- 使用不同的
WASMX_ADDR(例如0.0.0.0:3002)和独立的WASMX_DB USERX_ADMIN_URL/USERX_PUBLIC_URL指向主服务器的userxJWT_SECRET与主服务器保持一致
启动:
wasmx start
wasmx status
3. 验证服务端
curl http://127.0.0.1:3001/status # 主服务器(resx 提供 /status)
curl http://127.0.0.1:3002/conn/health # 连接器服务器(conn 提供健康检查)
4. 部署 Web 客户端
从下载页获取 keragi-app-web.tar.gz:
mkdir -p /var/www/clientx
tar xzf keragi-app-web.tar.gz -C /var/www/clientx
cp /var/www/clientx/config.example.json /var/www/clientx/dist/config.json
同源部署时,config.json 使用相对路径:
{
"meta": { "version": "0.1.0", "mode": "private" },
"services": {
"userx": "/userx",
"msgx": "/msgx",
"agix": "/agix",
"conn": "/conn"
},
"capabilities": { "connector": true }
}
5. 反向代理
/userx/*、/msgx/*、/agix/*、/status→ 主服务器(127.0.0.1:3001)/conn/*→ 连接器服务器(127.0.0.1:3002)/var/www/clientx/dist作为 Web 客户端根目录;未匹配的前端路由回退到index.html