必须先确认端口冲突再修改:查配置文件定位默认端口(如grep -n "port" /opt/aionclaw/conf/app.properties),用sudo ss -tulnp | grep ':端口号'定位占用进程并评估是否可终止,再改配置或启动参数切换端口,最后检查空闲、开放防火墙、重启服务并curl验证。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

修改AionClaw本地运行端口是为了避开系统中已被占用的端口,避免服务启动失败或被默认扫描器盯上。你必须先确认当前端口是否冲突,再针对性修改配置,否则改完仍无法启动。
确认AionClaw当前监听端口
打开终端,执行:grep -n "port\|server.port" /opt/aionclaw/conf/app.properties。如果返回结果为空,说明配置可能在YAML格式文件里,改查/etc/aionclaw/config.yaml;若两者都无,直接运行aionclaw --help | grep -i port看启动参数默认值。
注意:AionClaw默认端口不是固定值,不同安装包版本可能设为18789、9000或8080,不能凭经验跳过这一步。
定位并评估端口占用进程
假设查得当前端口为18789,执行:sudo ss -tulnp | grep ':18789'。若有输出,末尾会显示类似12345/java或6789/nginx的PID与程序名。
【必须先判断该进程是否可终止】。如果是Nginx、Docker容器或企业微信Agent等关键服务,强行kill会导致业务中断;如果是残留的python3 -m http.server 18789或调试用的Java进程,可直接kill -9 12345清理。
修改端口的两种方式
方法一:改配置文件(推荐,适用于完整安装版)
编辑/opt/aionclaw/conf/app.properties,找到server.port=18789这一行,把18789改为未被占用的端口,例如server.port=38472。保存前务必检查等号前后无多余空格,且整行未被#注释——YAML格式虽不在此处使用,但properties文件对空格不敏感,错写成server.port = 38472(等号两侧加空格)也能正常识别。
方法二:启动时传参覆盖(适合临时调试或容器部署)
若AionClaw以Java jar包方式运行,原命令是java -jar aionclaw.jar,则改为:java -jar aionclaw.jar --server.port=38472。Go二进制版常见参数是--port=38472或-p 38472,具体以./aionclaw --help输出为准。
验证新端口可用性并重启服务
第一步:检查端口是否空闲
执行sudo ss -tulnp | grep ':38472',确认无任何输出——有输出说明该端口已被其他程序占用,需换一个数字重试。
第二步:开放系统防火墙(仅Linux/macOS需操作)
Ubuntu/Debian执行:sudo ufw allow 38472;CentOS/RHEL执行:sudo firewall-cmd --permanent --add-port=38472/tcp && sudo firewall-cmd --reload。
第三步:停止旧服务并启动新配置aionclaw gateway stop → aionclaw gateway start。等待约8秒,服务初始化完成。
第四步:curl验证响应
执行curl -I http://localhost:38472/health,返回HTTP/1.1 200 OK即表示服务已在新端口正常监听。











