AI智能体搭建接单:零基础服务器部署与交付流程
想用AI智能体搭建接单,实际要做的是把一套能对话、能调用工具的服务稳定跑在服务器上,再把访问方式和维护说明交给客户。
本文按零基础可执行的方式,讲清从买服务器到验证交付的完整流程。
接单前先明确交付形态
客户说的“智能体”通常指一个能通过网页或API对话的机器人,可能带知识库或外部工具。
接单前要确认三件事:
- 访问方式:网页对话、嵌入网站,还是只提供API接口。
- 模型来源:客户提供API Key,还是由你代购;API Key不要写进公开仓库。
- 交付物:可访问地址、管理员账号、配置文件说明、备份方式。
本文示例采用一台Linux云服务器,用Docker运行服务,模型通过环境变量配置API地址和密钥。
具体镜像名称和端口以你选用的项目文档为准,不要照抄不确定的参数。
服务器准备与基础环境
建议配置:2核4G起步,Ubuntu 22.04或Debian 12,开放22、80、443端口。
登录服务器后先更新软件包:
sudo apt update && sudo apt upgrade -y
安装Docker和Compose插件:
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USER
执行后退出SSH重新登录,让用户组生效,然后验证:
docker --version
docker compose version
两条命令都能输出版本号,说明环境就绪。
如果提示权限不足,检查是否已重新登录。
部署智能体服务并配置密钥
在服务器上建目录并写环境变量文件,密钥只放在服务器本地:
mkdir -p /opt/agent && cd /opt/agent
nano .env
在.env中按项目文档填写,常见键名如下(以你使用的项目为准):
MODEL_API_KEY=你的密钥
MODEL_BASE_URL=模型接口地址
PORT=3000
保存后设置权限,避免其他用户读取:
chmod 600 .env
启动容器。
以下命令只作结构示例,镜像名和端口要替换成项目实际值:
docker run -d --name agent \
--env-file /opt/agent/.env \
-p 3000:3000 \
你的镜像名:标签
启动后查看日志:
docker logs -f agent
看到服务监听端口且无报错,说明进程已起来。
如果日志提示连接模型失败,先检查MODEL_BASE_URL是否带协议头、密钥是否复制完整。
开放访问与反向代理
直接暴露3000端口不利于交付。
建议用Nginx做反向代理并配置域名。
安装Nginx后新建站点配置:
sudo apt install nginx -y
sudo nano /etc/nginx/sites-available/agent
写入以下结构,把域名和端口替换成实际值:
server {
listen 80;
server_name 你的域名;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
启用配置并检查语法:
sudo ln -s /etc/nginx/sites-available/agent /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
nginx -t输出语法正确后再重载。
云服务器安全组只放行80和443,3000端口不要对公网开放。
验证交付与常见坑
验证分三步:浏览器访问域名能看到对话界面;
发一条测试消息能返回内容;
重启容器后服务仍可用。
用curl快速检查接口:
curl -I http://你的域名
返回200或302说明代理通了。
对话接口的路径因项目而异,按项目文档调用,不要猜测。
交付前重点检查:
- 密钥泄漏:确认
.env不在网站根目录,权限为600。 - 端口暴露:安全组不要开放3000等内部端口。
- 数据备份:把
.env和对话数据目录定期备份到对象存储或另一台机器。 - 日志轮转:Docker日志长期不清理会占满磁盘,可配置日志大小上限。
接单报价时把服务器费用、模型调用费用和维护范围分开写,避免后续因用量产生争议。
交付时附一份重启、备份和查看日志的说明,客户能自己处理简单问题,你的维护成本也会低很多。
如果客户要求嵌入已有网站,先确认对方站点是否支持iframe或API调用,再决定交付方式;
不确定的能力不要口头承诺。