家用低功耗住宅主机7×24小时跑AI中转
为什么选择低功耗住宅主机跑AI中转
很多人想通过中转服务统一管理多个AI接口,比如One API、New API等。
买云服务器太贵,用主力电脑又费电。
其实一台几百元的低功耗主机(如Intel NUC、树莓派5或旧笔记本)就能7×24小时稳定跑AI中转,每月电费不到10块钱。
本文从零开始,教你一步步搭建。
选一台合适的低功耗主机
推荐配置:CPU TDP ≤ 15W,内存≥4GB(建议8GB),硬盘≥64GB。
具体可选:
- Intel NUC (如NUC5/6/7代,二手约200-500元)
- 树莓派 4B/5(4GB以上版本)
- 旧笔记本(移除电池长期插电)
- 京东云无线宝等改刷Linux的设备
系统选择:推荐Ubuntu Server 22.04 LTS(树莓派用Raspberry Pi OS Lite)。
低功耗主机多为ARM或老旧x86,Ubuntu兼容性最好。
安装系统与基础设置
- 制作启动U盘(使用Rufus或balenaEtcher),插入主机开机。
- 按提示安装Ubuntu,分区选默认(整个磁盘)。
- 设置SSH远程访问:安装后运行
sudo apt update && sudo apt install openssh-server -y,然后用ip a查看IP,通过SSH客户端(如Putty、Termius)连接。
重要:确保主机连接网线或用稳定的WiFi,不要在SSH中直接配置睡眠模式。
安装Docker并部署AI中转服务
我们以One API为例(它是目前最流行的AI接口中转面板之一),用Docker部署最省心。
# 安装Docker(一键脚本)
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USER
# 退出SSH重新登录,使组生效
然后启动One API容器:
sudo docker run -d --restart=always --name one-api -p 3000:3000 \
-v /etc/one-api:/data \
-e TZ=Asia/Shanghai \
justsong/one-api:latest
参数说明:
--restart=always确保容器随Docker启动而自动运行。-v /etc/one-api:/data持久化配置数据。-p 3000:3000映射端口,之后通过http://主机IP:3000访问面板。
首次访问:用默认账号root密码123456登录,立即修改密码,然后在“渠道”中添加你的AI API Key(如OpenAI、Claude等),再创建令牌供外部调用。
让服务7×24小时不中断的优化技巧
1. 开机自启与断电恢复
Docker已配置--restart=always,但系统断电重启后Docker需自动运行。
我们用systemd设置:
sudo systemctl enable docker
sudo systemctl restart docker
验证:sudo systemctl is-enabled docker 输出 enabled 即可。
2. 降低功耗的关键设置
- 关闭图形界面:如果安装了桌面版,运行
sudo systemctl set-default multi-user.target && sudo reboot切换到命令行模式,减少CPU和内存占用。 - CPU频率调节:安装
cpufrequtils,设置成powersave或ondemand:
sudo apt install cpufrequtils -y
echo 'GOVERNOR="powersave"' | sudo tee /etc/default/cpufrequtils
sudo systemctl restart cpufrequtils
- 禁用蓝牙和WiFi(如果用有线):在BIOS中关闭,或者通过
sudo rfkill block bluetooth临时关闭。 - 硬盘休眠:对于SSD,可以配置
hdparm的省电参数,但通常不需要。
3. 内网穿透(如需外网访问)
如果你在外网需要使用这台中转,推荐用frp或cloudflare tunnel。
以frp为例:
- 在云服务器上部署frp服务端,在低功耗主机上运行frp客户端,将3000端口映射出去。
- 或者使用Cloudflare Tunnel(免费,无需公网IP),安装cloudflared并配置。
避坑指南:新手常见问题
- 主机自动进入睡眠/休眠:检查BIOS中的电源管理,关闭“Suspend”、“Hibernate”、“Wake on LAN”之外的所有省电选项。在Ubuntu中运行
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target彻底禁用休眠。 - 内存不足:Docker容器内存占用约200-500MB,如果只有4GB内存,建议开启swap:
sudo fallocate -l 2G /swapfile && sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile并写入/etc/fstab永久生效。 - 网络不稳定导致API超时:使用
--restart=always和--network=host可减少NAT转换;如果可能,用有线网络替换WiFi。 - 日志占用磁盘满:定期清理Docker日志,使用
docker system prune -f或者限制日志大小(在容器启动时加--log-opt max-size=10m)。
效果验证:确认中转服务正常运行
- 登录One API面板(
http://主机IP:3000),检查“令牌”页是否能成功调用测试。 - 使用curl测试一个令牌:
curl http://localhost:3000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 你的令牌" \
-d '{"model":"gpt-3.5-turbo","messages":[{"role":"user","content":"Hello"}]}'
看到返回JSON即成功。
- 检查资源占用:
htop或docker stats,CPU应长期在5%以下,内存使用在2GB内。 - 重启主机测试:验证系统重启后,服务是否自动恢复。运行
sudo reboot,等2分钟后SSH再次连接,访问面板应该正常。
总结
用低功耗住宅主机跑AI中转,成本低、电费省,适合个人或小团队。
按本文步骤:选机→装系统→Docker部署One API→优化电源→验证测试,即使零基础也能完成。
记住最重要的三条:禁用休眠、设置容器自动重启、定期备份配置(/etc/one-api目录)。
如果你遇到容器崩溃或面板无法访问,先用docker logs one-api查看日志,多半是网络或配置问题。
祝你一晚上搞定!