Mac mini 4 docker 安装openclaw

mac 通过docker 本地安装openclaw 教程

OpenClaw 不仅仅是一个聊天机器人,而是一个功能强大的 AI 智能体执行框架。你可以把它想象成一个能自主思考、调用工具、并替你完成复杂任务的数字员工。

1.环境准备

1.1安装Docker Desktop for mac

官网 下载安装即可

docker 中设置加速地址

 "registry-mirrors": [ "https://docker.m.daocloud.io", "http://hub-mirror.c.163.com", "https://mirror.baidubce.com", "https://docker.mirrors.sjtug.sjtu.edu.cn" ]

1.2 拉取openclaw 镜像

这里会使用腾讯托管的镜像服务器 拉取最新版本

docker pull sgccr.ccs.tencentyun.com/openclaw/openclaw:latest 

2.启动容器

docker run -d \ --name openclaw \ -p 18789:18789 \ -v openclaw-data:/data \ sgccr.ccs.tencentyun.com/openclaw/openclaw:latest \ openclaw gateway run --bind lan --port 18789 --allow-unconfigured 

参数解释:

  • -d:后台运行容器。
  • --name openclaw:给容器命名,方便后续操作。
  • -p 18789:18789:将容器的 18789 端口映射到本机,用于访问 Web 控制台。
  • -v openclaw-data:/data:创建一个 Docker 卷 openclaw-data,挂载到容器内的 /data 目录,用于持久化配置和状态。
  • openclaw gateway run ...:容器启动后执行的命令,以网关模式运行,监听所有网络接口(--bind lan),端口 18789,允许未完全配置的状态下启动(--allow-unconfigured)。
     

3.首次访问并获取token

在浏览器中访问 http://localhost:18789,你会看到 OpenClaw 的仪表板页面,但状态显示为“Disconnected”,并提示需要 Token

docker exec openclaw openclaw config get gateway.auth.token 

3.1 获取token

使用默认token 会打印出一长串数字

例如 ed0904424aca*******0562a93847c142684339138a7),复制保存,后续需要用到。

在浏览器内输入上面的token,然后点击connect

此时可能会遇到两种错误:

  • pairing required:表示设备需要配对,见下一节。
  • control ui requires device identity:确保你使用的是 http://localhost:18789 而非 IP 地址,否则浏览器会因安全策略阻止连接。

3.2 解决配对问题

进入容器,确保docker 内openclaw 运行中

docker exec -it openclaw sh 

然后输入

openclaw devices list

会出现一个等待配对请求,其中包含一个本地ip请求 类似下面

Pending (2) ┌──────────────────────────────────────┬───────────────────────────────────┬──────────┬──────────────┐ │ Request │ Device │ Role │ IP │ ├──────────────────────────────────────┼───────────────────────────────────┼──────────┼──────────────┤ │ a66fb94c-***-***2c4c21241c72 │ d53730f4722d2f9867ff6f0bbb70d2f8... │ operator │ 192.168.65.1 │ 

使用

openclaw devices approve 请求id(上面的第一列)或设备id(上面的第二列)

后容器自动停止,需要手动启动

3.3 添加ai 模型提供商

desktop 内启动openclaw

然后终端中运行 下面命令进入openclaw

docker exec -it openclaw sh 

openlaw 常用命令

openclaw # 启动 OpenClaw openclaw onboard # 初始化向导 openclaw dashboard # 打开网页控制台 openclaw config # 查看/修改配置 openclaw skills # 管理技能 openclaw --help # 查看帮助 

然后使用

openclaw onboard

配置选择模型即可,

成功后即可聊天玩耍起来了

参考

https://libin9ioak.blog.ZEEKLOG.net/article/details/157876493

https://blog.ZEEKLOG.net/weixin_41905135/article/details/158346643

https://github.com/MaoTouHU/OpenClawChinese/blob/main/docs/INSTALL_GUIDE.md

Read more

Web 服务基石 Nginx

NGINX Nginx是一款由俄罗斯程序员 Igor Sysoev 开发的 轻量级、高性能的 HTTP 和反向代理服务器,同时也是一个 IMAP/POP3/SMTP 代理服务器。自 2004 年首次发布以来,Nginx 凭借其 高并发处理能力、低内存消耗和稳定性,成为全球最受欢迎的 Web 服务器之一,广泛应用于静态资源服务、反向代理、负载均衡、API 网关等场景 NGINX安装 源码编译 #解压压缩包 tar zxf nginx-1.24.0.tar.gz cd nginx-1.24.0 #编译 ./configure --prefix=/usr/local/nginx --user=

By Ne0inhk
【Spring AI】第二弹:Prompt 优化技巧、AI 应用开发、实战 Spring AI 特性 (自定义Advisor、结构化输出、对话记忆持久化、PromptTemplate模板、多模态)

【Spring AI】第二弹:Prompt 优化技巧、AI 应用开发、实战 Spring AI 特性 (自定义Advisor、结构化输出、对话记忆持久化、PromptTemplate模板、多模态)

本节重点 熟悉 Prompt‏ 工程和优化技巧,并设计开发一款 A‏I 恋爱大师应用,实战 Spring‏ AI 调用大模型、对话记忆、Adv‏isor、结构化输出、自定义对话记忆‌、Prompt 模板等特性。 具体内容包括: * Prompt 工程基本概念 * Prompt 优化技巧 * AI 恋爱大师应用需求分析 * AI 恋爱大师应用方案设计 * Spring AI ChatClient / Advisor / ChatMemory 特性 * 多轮对话 AI 应用开发 * Spring AI 自定义 Advisor * Spring AI 结构化输出 - 恋爱报告功能 * Spring AI 对话记忆持久化 * Spring

By Ne0inhk
《MySQL 亿级数据表平滑分表实践:基于时间分片的架构演进》

《MySQL 亿级数据表平滑分表实践:基于时间分片的架构演进》

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[[email protected]] 📱个人微信:15279484656 🌐个人导航网站:www.forff.top 💡座右铭:总有人要赢。为什么不能是我呢? * 专栏导航: 码农阿豪系列专栏导航 面试专栏:收集了java相关高频面试题,面试实战总结🍻🎉🖥️ Spring5系列专栏:整理了Spring5重要知识点与实战演练,有案例可直接使用🚀🔧💻 Redis专栏:Redis从零到一学习分享,经验总结,案例实战💐📝💡 全栈系列专栏:海纳百川有容乃大,可能你想要的东西里面都有🤸🌱🚀 目录 * 《MySQL 亿级数据表平滑分表实践:基于时间分片的架构演进》 * 引言 * 一、为什么我们需要分表? * 1.1 单表数据量过大的问题 * 1.2 分表方案选型 * 二、

By Ne0inhk
VS code 安装依赖包出现的一系列报错:node.js

VS code 安装依赖包出现的一系列报错:node.js

场景: VS code安装依赖包的一系列报错 问题描述 问题1:VS code使用npm install 安装包的时候,出现 **npm:无法将“npm项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符:1 +npm i +CategoryInfo:ObjectNotFound:(npm:String) (],CommandNotFoundException 4FullyQualifiedErrorId :CommandNotFoundException** 因为没有安装node.js,所以识别不了,下面安装node.js: 参考https://blog.ZEEKLOG.net/weixin_42182741/article/details/152072795 感谢大佬提供的详细教程! 安装之后,

By Ne0inhk