Linux(kali) 部署 OpenClaw

Linux(kali) 部署 OpenClaw

​​

​官网​

原文链接

主机 MacOS m1

虚拟机 Kali 2025-04

Linux kali 6.16.8+kali-arm64 #1 SMP PREEMPT Kali 6.16.8-1kali1 (2025-09-24) aarch64 GNU/Linux

一、命令行安装

官网一键安装脚本curl -sSL https://openclaw.ai/install.sh | bash​

二、进入安装向导

进入安装向导

◆ I understand this is personal-by-default and shared/multi-user use requires lock-down.
Continue?
│ ● Yes / ○ No

第一步默认个人使用,选Yes​

类似于安装模型吧,选Manual

本地测试的话就选Local gateway

一个默认的工作空间

我这里选择了千问大模型,然后浏览器弹出了千问官网

登录认证后回到命令行,选择第一个

设置网关端口,这里先用默认的18789(安全起见后期自己修改自定义)

类似于网卡的绑定,如果只在本地测试,就选127这个,如果想用其他设备访问就选0.0.0.0,然后是网关认证方式,选Token就行

这是一个远程访问的方式,默认选Off就行

生成token的方式,这个默认就可以,然后默认空值就自动生成​

然后是选择要不要跟一些社交软件联动,这里先选择No,后续有需要可以再修改

是否让大模型联网搜索,这里暂时先跳过

接下来是选择配置一些技能,也可以先跳过

下一步是否需要激活一些hooks,类似于自动的脚本,一样先选择跳过,这里是多选,用空格键选择,然后回车确认

下一步还是默认,然后安装网关服务

下一步是否安装终端的一个工具,能够一键补全命令的

安装完后浏览器弹出界面

三、Web界面

接上一步,这里有一个报错提示

origin not allowed (open the Control UI from the gateway host or allow it in gateway.controlUi.allowedOrigins)

这里是因为之前绑定的0.0.0.0这个网卡,所以默认链接的是这个ip

这个报错需要修改openclaw.json中gateway内容,把这个ip添加到controlUi,然后重启 Gateway,openclaw.json的路径在/root/.openclaw

然后重启gateway服务

就可以访问了

在物理机上访问一下试试​​http://172.16.171.146:18789/#token=​

后续更新一些使用方法……

Read more

【C++藏宝阁】C++入门:命名空间(namespace)详解

【C++藏宝阁】C++入门:命名空间(namespace)详解

🌈个人主页:聆风吟 🔥系列专栏:C++藏宝阁 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 * 📚专栏订阅推荐 * 📋前言:为什么需要命名空间? * 一、命名空间的定义 * 二、命名空间的使用 * 三、命名空间的特性 * 3.1 命名空间的嵌套定义 * 3.2 命名空间的定义可以不连续 * 四、命名空间的本质:独立的作用域 * 4.1 命名空间是C++的一种作用域类型 * 4.2 命名空间作用域的特点 * 4.3 域作用限定符 `::` 的作用 * 4.4 编译器的查找规则 * 五、命名空间的价值 * 5.1 解决命名冲突 * 5.2 模块化组织代码 * 5.3

By Ne0inhk
C/C++ 全局变量跨文件真相:一句话实验与底层原理

C/C++ 全局变量跨文件真相:一句话实验与底层原理

一句话总结:能否跨文件取决于符号的链接属性——外部链接可跨文件,内部链接不可跨文件;static 正是把外部链接改成内部链接的关键字。 目录 1. 三个实验:30 秒看懂全局变量跨文件能力 2. 底层原理:链接属性决定生死 3. 常见误区:#include 到底算不算跨文件? 4. 类静态成员变量:披着“类作用域”外衣的全局变量 1. 三个实验:30 秒看懂全局变量跨文件能力 实验变量定义链接属性extern 能否跨文件访问?结果1️⃣ 普通全局变量int g = 10;外部链接✅ 可以成功链接2️⃣ static 全局变量static int s = 20;内部链接❌ 不行链接报错:undefined reference3️⃣ #include 假装跨文件#include "a.cpp&

By Ne0inhk
软件解耦与扩展:插件式开发方式(基于 C++ 与 C# 的实现)

软件解耦与扩展:插件式开发方式(基于 C++ 与 C# 的实现)

软件解耦与扩展:插件式开发方式 * 🤔 什么是插件式开发? * 🧩 为何选择插件式开发?—— 解耦与扩展的艺术 * 1. 高度解耦 * 2. 极致的扩展性 * 3. 增强可维护性 * 4. 支持动态加载与卸载 * 🏗️ 插件系统的核心架构 * 💻 实践篇:C# 下的插件式开发 * 1. 定义插件契约 * 2. 实现一个具体插件 * 3. 构建宿主程序(插件加载器) * 应用案例:可扩展的日志系统 * ⚙️ 实践篇:C++ 下的插件式开发 * 1. 定义插件契约 * 2. 实现一个具体插件 * 3. 构建宿主程序(插件加载器) * 📊 C# 与 C++ 实现对比 * ⚠️ 挑战与注意事项 * 🎯 总结:何时使用插件式架构? 🚀在软件工程的漫长演进中,我们始终在追求一个核心目标:构建稳定而灵活的系统。一个优秀的软件架构,如同人体的骨骼,既要坚实稳固,又要具备生长与适应的能力。

By Ne0inhk
华为OD技术面八股文_C++_01

华为OD技术面八股文_C++_01

文章目录 * C语言和C++的区别 * C++11引入哪些新特性 * 什么是面向对象?面向对象的三大特性 * malloc和new的区别 * delete和free的区别 * delete和delete[]的区别 * 什么是虚函数?什么是纯虚函数 * 什么是虚函数表?什么是虚函数指针? * 介绍一下虚函数实现机制 * 构造函数和构析函数能不能写为虚函数,为什么 * 说一下构造、析构函数的调用顺序 C语言和C++的区别 1. C++有新增的关键字和语法,还允许自定义命名空间。 2. C++新增类的概念,C语言中只有struct的概念。C++中添加访问权限概念,struct 的默认访问权限和继承权限都是 public,但是 class 的默认访问权限和默认继承权限都是 private. 3. C++引入了类、封装、继承、多态、模板、重载、异常处理机制等特性。而C没有 4.

By Ne0inhk