AI创想

标题: 用老 Mac 跑本地 AI:OpenClaw 环境一键搭建 [打印本页]

作者: AI小编    时间: 5 小时前
标题: 用老 Mac 跑本地 AI:OpenClaw 环境一键搭建
作者:一键难忘

五、高级配置

5.1 性能优化
  1. # 创建性能优化脚本cat<<'EOF'|sudotee /usr/local/bin/openclaw-optimize.sh > /dev/null
  2. #!/bin/bash
  3. LOG_FILE="/var/log/openclaw-optimize.log"
  4. log() {
  5.     echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> $LOG_FILE
  6. }
  7. optimize_cpu() {
  8.     log "Optimizing CPU settings..."
  9.    
  10.     # 安装 CPU 频率调节工具
  11.     sudo apt install -y cpufrequtils
  12.    
  13.     # 设置 CPU 调节器
  14.     echo 'GOVERNOR="ondemand"' | sudo tee -a /etc/default/cpufrequtils
  15.    
  16.     # 重启服务
  17.     sudo systemctl restart cpufrequtils
  18.    
  19.     log "CPU optimization completed"
  20. }
  21. optimize_memory() {
  22.     log "Optimizing memory settings..."
  23.    
  24.     # 配置内存优化
  25.     cat << 'EOF' | sudo tee /etc/sysctl.d/99-memory-optimization.conf > /dev/null
  26. # 内存优化
  27. vm.swappiness=10
  28. vm.vfs_cache_pressure=50
  29. vm.dirty_ratio=15
  30. vm.dirty_background_ratio=5
  31. EOF# 应用配置sudo sysctl -p /etc/sysctl.d/99-memory-optimization.conf
  32.    
  33.     log "Memory optimization completed"}optimize_disk(){
  34.     log "Optimizing disk settings..."# 配置磁盘优化cat<<'EOF'|sudotee /etc/sysctl.d/99-disk-optimization.conf > /dev/null
  35. # 磁盘优化
  36. vm.swappiness=10
  37. vm.vfs_cache_pressure=50
  38. vm.dirty_ratio=15
  39. vm.dirty_background_ratio=5
  40. EOF# 应用配置sudo sysctl -p /etc/sysctl.d/99-disk-optimization.conf
  41.    
  42.     log "Disk optimization completed"}optimize_network(){
  43.     log "Optimizing network settings..."# 配置网络优化cat<<'EOF'|sudotee /etc/sysctl.d/99-network-optimization.conf > /dev/null
  44. # 网络优化
  45. net.core.rmem_max = 16777216
  46. net.core.wmem_max = 16777216
  47. net.ipv4.tcp_rmem = 4096 87380 16777216
  48. net.ipv4.tcp_wmem = 4096 65536 16777216
  49. net.ipv4.tcp_window_scaling = 1
  50. EOF# 应用配置sudo sysctl -p /etc/sysctl.d/99-network-optimization.conf
  51.    
  52.     log "Network optimization completed"}main(){
  53.     log "=== OpenClaw Optimization Started ==="
  54.    
  55.     optimize_cpu
  56.     optimize_memory
  57.     optimize_disk
  58.     optimize_network
  59.    
  60.     log "=== OpenClaw Optimization Completed ==="}
  61. main
  62. EOF
  63. sudochmod +x /usr/local/bin/openclaw-optimize.sh
复制代码
5.2 配置备份
  1. # 创建备份脚本cat<<'EOF'|sudotee /usr/local/bin/openclaw-backup.sh > /dev/null
  2. #!/bin/bash
  3. LOG_FILE="/var/log/openclaw-backup.log"
  4. BACKUP_DIR="/backup/openclaw"
  5. log() {
  6.     echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> $LOG_FILE
  7. }
  8. backup_data() {
  9.     log "Backing up OpenClaw data..."
  10.    
  11.     # 创建备份目录
  12.     mkdir -p $BACKUP_DIR
  13.    
  14.     # 备份数据
  15.     tar -czf $BACKUP_DIR/openclaw-data-$(date +%Y%m%d).tar.gz /data/openclaw
  16.    
  17.     # 备份配置
  18.     tar -czf $BACKUP_DIR/openclaw-config-$(date +%Y%m%d).tar.gz /opt/openclaw/openclaw
  19.    
  20.     # 清理旧备份(保留最近 7 天)
  21.     find $BACKUP_DIR -name "*.tar.gz" -mtime +7 -delete
  22.    
  23.     log "Backup completed"
  24. }
  25. main() {
  26.     log "=== OpenClaw Backup Started ==="
  27.    
  28.     backup_data
  29.    
  30.     log "=== OpenClaw Backup Completed ==="
  31. }
  32. main
  33. EOFsudochmod +x /usr/local/bin/openclaw-backup.sh
复制代码
配置定时备份:
  1. crontab -e
  2. # 添加每天凌晨 2 点执行备份02 * * * /usr/local/bin/openclaw-backup.sh
复制代码
六、使用指南

6.1 访问 OpenClaw
  1. # 本地访问curl http://localhost:8080
  2. # 远程访问curl http://your-macbook-ip:8080
复制代码
6.2 测试 AI 功能
  1. # 测试简单对话curl -X POST http://localhost:8080/api/chat \
  2.   -H "Content-Type: application/json"\
  3.   -d '{"message": "Hello, how are you?"}'# 测试代码生成curl -X POST http://localhost:8080/api/chat \
  4.   -H "Content-Type: application/json"\
  5.   -d '{"message": "Write a Python function to calculate Fibonacci numbers."}'# 测试智能问答curl -X POST http://localhost:8080/api/chat \
  6.   -H "Content-Type: application/json"\
  7.   -d '{"message": "What is machine learning?"}'
复制代码
6.3 查看日志
  1. # 查看 OpenClaw 日志docker-compose logs -f openclaw
  2. # 查看系统日志tail -f /var/log/openclaw-install.log
  3. # 查看监控日志tail -f /var/log/openclaw-monitor.log
复制代码
七、故障排查

7.1 常见问题

问题原因解决方案
Docker 安装失败网络问题检查网络连接,重试安装
OpenClaw 启动失败配置错误检查配置文件,修改错误
服务无法访问防火墙阻止配置防火墙规则
性能低下资源不足优化资源配置
内存不足内存占用高清理缓存,优化内存
7.2 故障排查脚本
  1. # 创建故障排查脚本cat<<'EOF'|sudotee /usr/local/bin/openclaw-troubleshoot.sh > /dev/null
  2. #!/bin/bash
  3. LOG_FILE="/var/log/openclaw-troubleshoot.log"
  4. log() {
  5.     echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a $LOG_FILE
  6. }
  7. check_docker() {
  8.     log "Checking Docker..."
  9.    
  10.     if systemctl is-active --quiet docker; then
  11.         log "Docker service is running"
  12.         docker --version
  13.     else
  14.         log "Docker service is not running"
  15.         sudo systemctl start docker
  16.     fi
  17. }
  18. check_openclaw() {
  19.     log "Checking OpenClaw..."
  20.    
  21.     cd /opt/openclaw/openclaw
  22.     docker-compose ps
  23.    
  24.     local health_check=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:8080/api/health)
  25.     log "OpenClaw health check: $health_check"
  26. }
  27. check_network() {
  28.     log "Checking network..."
  29.    
  30.     ping -c 4 8.8.8.8 > /dev/null 2>&1
  31.     if [ $? -eq 0 ]; then
  32.         log "Network connection is normal"
  33.     else
  34.         log "Network connection failed"
  35.     fi
  36. }
  37. check_resources() {
  38.     log "Checking system resources..."
  39.    
  40.     local cpu_usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d'%' -f1)
  41.     log "CPU Usage: ${cpu_usage}%"
  42.    
  43.     local mem_usage=$(free | grep Mem | awk '{printf("%.0f"), $3/$2 * 100.0}')
  44.     log "Memory Usage: ${mem_usage}%"
  45.    
  46.     local disk_usage=$(df -h /data | tail -1 | awk '{print $5}' | cut -d'%' -f1)
  47.     log "Disk Usage: ${disk_usage}%"
  48. }
  49. check_logs() {
  50.     log "Checking logs..."
  51.    
  52.     log "=== OpenClaw Logs ==="
  53.     docker-compose logs --tail=50 openclaw
  54.    
  55.     log "=== System Logs ==="
  56.     tail -50 /var/log/syslog
  57. }
  58. main() {
  59.     log "=== OpenClaw Troubleshoot Started ==="
  60.    
  61.     check_docker
  62.     check_openclaw
  63.     check_network
  64.     check_resources
  65.     check_logs
  66.    
  67.     log "=== OpenClaw Troubleshoot Completed ==="
  68. }
  69. main
  70. EOFsudochmod +x /usr/local/bin/openclaw-troubleshoot.sh
复制代码
八、总结

通过一键搭建脚本,我们可以快速在老 Mac 上部署 OpenClaw 环境,实现本地 AI 服务。
8.1 主要优势

8.2 使用场景

场景适用性说明
个人学习优秀快速搭建 AI 环境
家庭服务器优秀长期稳定运行
开发测试优秀快速部署测试环境
商业应用良好需要额外优化
教育演示优秀简单易用
8.3 后续优化

可以进一步优化:
希望这篇教程能帮助大家成功在老 Mac 上一键搭建 OpenClaw 环境!
(, 下载次数: 0)





原文地址:https://blog.csdn.net/weixin_52908342/article/details/158184107




欢迎光临 AI创想 (http://www.llms-ai.com/) Powered by Discuz! X3.4