在github codespaces部署开源个人智能体OpenClaw(Clawdbot/Moltbot)使用教程

openClaw官方仓库:https://github.com/openclaw/openclaw

OpenClaw 是什么?

OpenClaw(原名 Clawdbot,后更名为 Moltbot,现正式命名为 OpenClaw)是一个运行在你本地环境的高权限 AI 智能体。它的核心特性包括:

  • 本地部署:运行在你的服务器或电脑上,数据完全自主可控
  • 多平台支持:支持飞书、WhatsApp、Telegram、Discord、Slack 等主流聊天工具
  • 浏览器控制:可以浏览网页、填写表单、提取数据
  • 系统访问:读写文件、执行 Shell 命令、运行脚本
  • 持久化记忆:记住你的偏好和上下文,成为真正属于你的 AI
  • 插件扩展:支持社区技能插件,甚至可以自己编写插件

无论是邮件管理、日程安排、数据查询还是代码编写,OpenClaw 都能成为你的得力助手。

进入github

创建一个新仓库openclawd

为项目创建codesapce

打开codespace

在命令行查看操作系统和node版本

# 使用官方脚本安装 curl -fsSL https://openclaw.bot/install.sh | bash # 备用方案 pnpm add -g openclaw@latest

执行成功后界面如上图所求,3分钟后

选择yes

选quickStart快速开始

选择Qwen

Error: Qwen OAuth timed out waiting for authorization.

不好意思,失败,重新安装,全部选skip

openclaw status openclaw gateway openclaw gateway --allow-unconfigured #重新安装,再一遍 openclaw onboard --install-daemon #重启 openclaw gateway --port 18789 --verbose 1008报错 openclaw dashboard --no-open openclaw status

都无法访问,直接重装。在端口里可以添加18789进行转发

启动正常,进入界面

接入国产大模型
1 深度求索(DeepSeek)
获取APIkey:https://platform.deepseek.com/api_keys
在apiKey处输入你的apikey即可

openclaw config set 'models.providers.deepseek' --json '{   "baseUrl": "https://api.deepseek.com/v1",   "apiKey": "",   "api": "openai-completions",   "models": [     { "id": "deepseek-chat", "name": "DeepSeek Chat" },     { "id": "deepseek-reasoner", "name": "DeepSeek Reasoner" }   ] }'


 
设置 models.mode 为 merge

openclaw config set models.mode merge


设置默认模型(以deepseek-chat为例)

openclaw models set deepseek/deepseek-chat

查看状态 openclaw status

接下来会提示选择 channel,这里先跳过,后续再添加

继续下面选择 skills,也是选择 No,如下图


继续下面选择 hooks,也是使用空格选择 No,如下图

也可以全部选中,不是自己的机器无所谓

然后等待安装完成,最后会出现以下选项,这里选择 TUI

如果看到 TUI 聊天界面,说明安装成功,可以尝试输入 Hello 进行测试。

然后直接使用 ctrl+c 先关闭,后面我们再来设置

查看服务

可以使用下面的命令来查看

openclaw dashboard

有任何问题欢迎留言讨论

discord账号创建

开始配置OpenClaw

首次登入服务器后,输入并回车运行如下命令开始配置:

openclaw onboard

运行 clawdbot onboard 后,需要通过键盘来完成后续配置动作,关键操作:方向键控制选项,回车表示选择并确认。

企业微信创建webhook

腾讯云部署成功的配置文件。需要wxcom插件的留言

{ "meta": { "lastTouchedVersion": "2026.1.30", "lastTouchedAt": "2026-02-04T15:22:13.503Z" }, "wizard": { "lastRunAt": "2026-02-04T15:22:13.490Z", "lastRunVersion": "2026.1.30", "lastRunCommand": "onboard", "lastRunMode": "local" }, "models": { "mode": "merge", "providers": { "hunyuan": { "baseUrl": "https://api.hunyuan.cloud.tencent.com/v1", "apiKey": "sk-VLWz4jTTsNKdlzWbukXXXX", "api": "openai-completions", "models": [ { "id": "hunyuan-turbos-latest", "name": "混元 TurboS Latest", "reasoning": false, "input": [ "text" ], "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "contextWindow": 200000, "maxTokens": 8192 } ] } } }, "agents": { "defaults": { "model": { "primary": "hunyuan/hunyuan-turbos-latest" }, "workspace": "/root/.openclaw/workspace", "compaction": { "mode": "safeguard" }, "maxConcurrent": 4, "subagents": { "maxConcurrent": 8 } } }, "messages": { "ackReactionScope": "group-mentions" }, "commands": { "native": "auto", "nativeSkills": "auto" }, "channels": { "wecom": { "enabled": true, "token": "rRCJiQM31gl", "encodingAESKey": "Si7yiho6YHIjBXXXX" } }, "gateway": { "port": 18789, "mode": "local", "bind": "lan", "auth": { "mode": "token", "token": "011b07d4591794cdd776f726e9e06e06bafc2d99ac75116f" }, "tailscale": { "mode": "off", "resetOnExit": false } }, "skills": { "install": { "nodeManager": "npm" } }, "plugins": { "entries": { "feishu": { "enabled": true }, "qqbot": { "enabled": true }, "dingtalk": { "enabled": true }, "wecom": { "enabled": true } }, "installs": { "feishu": { "source": "npm", "spec": "@m1heng-clawd/feishu", "installPath": "/root/.openclaw/extensions/feishu", "version": "0.1.7", "installedAt": "2026-02-04T06:59:58.306Z" }, "qqbot": { "source": "npm", "spec": "https://github.com/sliverp/qqbot.git", "installPath": "/root/.openclaw/extensions/qqbot", "version": "1.3.0", "installedAt": "2026-02-04T07:01:02.258Z" }, "dingtalk": { "source": "archive", "sourcePath": "/tmp/tmp.XgWu7SxhWr/dingtalk.tgz", "installPath": "/root/.openclaw/extensions/dingtalk", "version": "0.2.0", "installedAt": "2026-02-04T07:01:41.777Z" }, "wecom": { "source": "archive", "sourcePath": "/tmp/tmp.lsxanbsiQ5/wecom.tgz", "installPath": "/root/.openclaw/extensions/wecom", "version": "2026.1.30", "installedAt": "2026-02-04T07:02:50.962Z" } } }, "hooks": { "internal": { "enabled": true, "entries": { "session-memory": { "enabled": true } } } } } 

Read more

C++进阶:(十六)从裸指针到智能指针,C++ 内存管理的 “自动驾驶” 进化之路

C++进阶:(十六)从裸指针到智能指针,C++ 内存管理的 “自动驾驶” 进化之路

目录 前言 一、裸指针的 “血泪史”:为什么我们需要智能指针? 1.1 内存泄漏:最常见的 “噩梦” 1.2 二次释放:致命的 “双重打击” 1.3 野指针:潜伏的 “幽灵” 1.4 异常安全:被忽略的 “隐形杀手” 1.5 智能指针的核心使命 二、智能指针的 “三驾马车”:unique_ptr、shared_ptr、weak_ptr 2.1 unique_ptr:独占所有权的 “独行侠” 2.1.1 unique_ptr 的核心原理

By Ne0inhk

C/C++命名规范:提升代码可读性的关键

C/C++命名规范:提升代码可读性的关键 在大型C++项目中,比如我们正在维护和扩展的 IndexTTS 语音合成系统,代码的可读性往往比算法本身更影响长期开发效率。一个变量叫 bufsz 还是 audio_buffer_size,可能看起来只是风格差异,但在三个月后回看代码时,这种“微小”选择会直接决定你是轻松定位问题,还是陷入无尽的调试深渊。 真正高效的团队不靠记忆,而靠命名直觉工作。本文总结了一套经过实战验证的命名策略,既符合工业级工程标准,又能无缝融入现代C++(尤其是模板、智能指针、RAII等特性)的编码习惯。 核心原则:命名即契约 好的命名不是为了炫技,而是建立一种团队共识——看到某个标识符,就能大致推断出它的生命周期、作用域和职责。这背后有三个关键词: * 描述性优先:宁可长一点,也不要让人猜。 * 一致性压倒一切:哪怕你个人不喜欢某种风格,只要项目定了就统一执行。 * 工具友好:命名要利于IDE自动补全、静态分析和文档生成。 举个真实例子:在

By Ne0inhk
【C++前缀和】1878. 矩阵中最大的三个菱形和|1897

【C++前缀和】1878. 矩阵中最大的三个菱形和|1897

本文涉及的基础知识点 C++算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 LeetCode 1878. 矩阵中最大的三个菱形和 难度分:1897 给你一个 m x n 的整数矩阵 grid 。 菱形和 指的是 grid 中一个正菱形 边界 上的元素之和。本题中的菱形必须为正方形旋转45度,且四个角都在一个格子当中。下图是四个可行的菱形,每个菱形和应该包含的格子都用了相应颜色标注在图中。 注意,菱形可以是一个面积为 0 的区域,如上图中右下角的紫色菱形所示。 请你按照 降序 返回 grid 中三个最大的 互不相同的菱形和 。如果不同的和少于三个,则将它们全部返回。 示例 1: 输入:grid = [[3,4,5,1,

By Ne0inhk
初学二叉搜索树踩坑多?C++ 从原理到代码,搞定增删查全流程

初学二叉搜索树踩坑多?C++ 从原理到代码,搞定增删查全流程

🎬 个人主页:Vect个人主页 🎬 GitHub:Vect的代码仓库 🔥 个人专栏: 《数据结构与算法》《C++学习之旅》《计算机基础》 ⛺️Per aspera ad astra. 文章目录 * 1. 二叉搜索树相关概念 * 2. 二叉搜索树的操作 * 2.1. 查找节点 * 2.2. 插入节点 * 2.3. 删除节点 * 3. 二叉搜索树的实现 * 4. 二叉搜索树的应用 * 4.1. K模型 * 4.2. KV模型 1. 二叉搜索树相关概念 如下图所示,二叉搜索树(binary search tree)满足下列条件: 1. 对于根节点,左子树中所有节点的值<根节点的值&

By Ne0inhk