在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

【数据结构指南】栈

【数据结构指南】栈

前言:         厨房里叠放的盘子想必大家都见过,新洗好的只能放在最顶层,使用时也必须从最上层开始取。羽毛球桶里的羽毛球也是如此,用过的球只能放回顶层,取用时也必须从最上层拿取。这些日常场景里,其实都藏着一种重要的数据结构:栈。         关于栈的一个笑话:从前有一家客栈,客栈有一条规矩:最早进来的人最晚上菜,最晚进来的人最早上菜。有一天,一个人早早来到客栈吃饭,发现一个比他来的还晚的人已经吃完饭走了,而店主还没上自己的菜。吃完饭后他问店主这是为什么,店主回答:“因为我们是客栈啊。 本文系统讲解栈这一数据结构,从基础概念到实际应用进行全面剖析。通过清晰的逻辑和丰富的实例,即使是数据结构初学者也能轻松掌握核心要点。 一、栈的基本概念          1.1栈的定义         栈  (stack) 是一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作,其核心特性遵循后进先出原则,这种特性可以形象地类比为叠放盘子的过程:最晚放入的盘子  (后进)  会被最先取出  (先出)  ,而最早放入的盘子  (先进)  则最后才能取出  (后出)

By Ne0inhk
LeetCode 42接雨水全解:暴力超时→DP降维打击→双指针极限压缩空间→单调栈栈式凹槽定位,全景式解析算法优化路径

LeetCode 42接雨水全解:暴力超时→DP降维打击→双指针极限压缩空间→单调栈栈式凹槽定位,全景式解析算法优化路径

文章目录 * 本篇摘要 * LeetCode 42 接雨水 详解 * ① 暴力解法(多循环嵌套,卡超时,因此后续使用了两种基于暴力优化的方法) * ② 动态规划解法 * 核心思想 * 步骤(三步走) * 举例说明 * 代码实现思路 * ③ 双指针解法(优化对应的dp的空间复杂度变成O(1)) * 双指针优化思路 * ④单调栈解法 * 单调栈简介 * 核心特点 * 常见用途 * 左边最近比当前数大的数(用单调栈) * 步骤: * 示例: * 最终结果: * 单调栈一般模版 * 关键点 * 注意点 * 单调栈不同选型需求 * 优势 * 引入单调栈 * 本篇小结 本篇摘要 本篇围绕LeetCode 42“接雨水”展开,剖析四种解法:暴力法通过嵌套循环统计每柱接水量,易超时;动态规划预先记录左右最大值,将复杂度降至O(n);双指针边遍历边更新极值,空间优化至O(1

By Ne0inhk
❿⁄₁₁ ⟦ OSCP ⬖ 研记 ⟧ 密码攻击实践 ➱ NTLM哈希传递攻击

❿⁄₁₁ ⟦ OSCP ⬖ 研记 ⟧ 密码攻击实践 ➱ NTLM哈希传递攻击

郑重声明:本文所涉安全技术仅限用于合法研究与学习目的,严禁任何形式的非法利用。因不当使用所导致的一切法律与经济责任,本人概不负责。任何形式的转载均须明确标注原文出处,且不得用于商业目的。 🔋 点赞 | 能量注入 ❤️ 关注 | 信号锁定 🔔 收藏 | 数据归档 ⭐️ 评论 | 保持连接💬 🌌 立即前往 👉晖度丨安全视界🚀 ▶ 信息收集  ▶ 漏洞检测 ▶ 初始立足点  ▶ 权限提升 ▶ 横向移动 ➢ 密码攻击 ➢ NTLM哈希传递攻击🔥🔥🔥 ▶ 报告/分析 ▶ 教训/修复 目录 1.密码破解 1.1 破解Windows哈希实践 1.1.1 NTLM哈希传递攻击概述 1.1.1.1 什么是NTLM哈希传递? 1.1.1.2 攻击应用场景 1.1.

By Ne0inhk

【数学建模】(LeetCode 1227)小鸟回笼/飞机座位问题

题目 有 nnn 只小鸟,各有自己的笼子(编号 1,2,⋯ ,n1, 2, \cdots, n1,2,⋯,n)。第一天,第一只小鸟(编号 1)没有回到自己的笼子(笼 1),而是随机进了其它某个笼子。后续的小鸟每天回来时,如果自己的笼子空着就进自己的笼子,否则从剩下的空笼子中随机选一个。 问:最后一只回笼的小鸟回到自己笼子的概率是多少? 这个问题和经典的飞机座位问题等价(见下),但需要注意的时初始条件不同,下面的问题第一个人位置也是随机的(可能回到自己的位置),而上面小鸟回笼问题则是在没有回到自己的笼子情况下。 有nnn位乘客即将登机,飞机正好有nnn个座位。第一位乘客的票丢了,他随便选了一个座位坐下。剩下的乘客将会:如果他们自己的座位还空着,就坐到自己的座位上;当他们自己的座位被占用时,随机选择其他座位,问: 第nnn位乘客坐在自己的座位上的概率是多少? 解答 **解:**设当所有鸟回到笼子后鸟和笼子编号的映射为 f(n)=m

By Ne0inhk