OpenClaw 安装教程 - 你的私人 AI 助手
OpenClaw 安装教程OpenClaw 是一个强大的开源 AI 助手框架,可以帮你接管消息、管理日程、自动化各种任务。这篇教程将带你一步步完成安装和配置。
什么是 OpenClaw?你可以把 OpenClaw理解为:
🤖 私人 AI 秘书 — 帮你处理各种消息
🔄 自动化中枢 — 连接飞书、微信、Telegram 等平台
🧠 可定制智能体 — 按需求打造专属助手
系统要求
Node.js: 24.x(推荐)或 22.x LTS
系统: macOS / Linux / Windows (WSL2)
内存: 最少 2GB,推荐 4GB+
安装方式方式一:一键安装脚本(推荐)1curl -fsSL https://openclaw.ai/install.sh | bash
这个脚本会自动:
检测并安装 Node.js(如需要)
下载安装 OpenClaw
启动新手引导
如果只想安装 CLI,跳过新手引导:
1curl -fsSL https://openclaw.ai/install.sh | bash -s -- --no-onboard
方式二:npm / pnp ...
博客操作说明文档
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment
使用LangGraph构建智能聊天机器人技术解析
🚀 使用LangGraph构建智能聊天机器人技术解析
本文将带您逐步实现一个具备多模态能力的智能聊天机器人,涵盖状态管理、工具调用、持久化记忆和人机协作等核心功能。以下是完整技术方案解析:
📚 目录
架构概述
环境配置
基础对话实现
增强搜索能力
记忆持久化
人工审核机制
状态热更新
部署建议
🏗️ 架构概述
本系统实现以下核心能力:
✅ 多轮次对话状态管理
✅ 实时网络搜索集成
✅ 对话历史持久化
✅ 人工审核介入机制
✅ 运行时状态热更新
⚙️ 环境配置依赖安装1234%%capture --no-stderr%pip install -U langgraph langsmith%pip install -U langchain_anthropic%pip install -U tavily-python
API密钥设置12345678910111213import getpassimport osdef _set_env(var: str): if not os.environ.get(var): os.environ[var] = ...
LEFT JOIN 中 `ON` 与 `WHERE` 过滤条件的区别分析
LEFT JOIN 中 ON 与 WHERE 过滤条件的区别分析假设有两表:
表 a
x
y
z
1
2
4
2
3
5
表 b
x
z
1
4
2
3
SQL1: a LEFT JOIN b ON a.x = b.x AND b.z = 3逻辑:
左连接过程中,同时匹配 a.x = b.x 且 b.z = 3 的行。
结果特点:
保留表 a 所有行(无论是否匹配到 b)。
b 表的匹配行需满足 b.z = 3,否则填充 NULL。
结果示例:
1234a.x | a.y | a.z | b.x | b.z-----------------------------1 | 2 | 4 | NULL| NULL -- b.z=4 不满足条件,填充NULL2 | 3 | 5 | 2 | 3 -- 匹配成功
SQL2: a LEFT JOIN b ON a.x = b.x WHERE b.z = 3逻辑:
先执行左连接(仅匹配 a.x = b.x,不限制 ...
局域网访问wsl上的服务
局域网访问 wsl 上的服务背景在 windows 的子系统(ubuntu)中启动了一个服务,但是在 windows 上可以使用 localhost 进行访问,但是没办法通过 windows 的 ip 进行访问,
例如:
windows 的 ip 为:172.19.2.xxx
wsl 上的 ip 为:172.29.131.8
在 wsl 上启动的服务端口为:9090 我在 windows 上使用 172.19.2.xxx:9090 无法访问,
但是可以使用:http://localhost:9090/ 和 http://172.29.131.8/ 进行访问,
在局域网的其他电脑不能使用 http://172.29.131.8/ 进行访问,也不能使用 http://172.19.2.xxx:9090 访问
如果我是在 windows 上启动这个服务,就可以使用 http://172.19.2.xxx:9090 访问,并且局域网也能使用 http://172.19.2.xxx:9090 访问
需求如何在宿主机 window 上或局域网其他电脑,使用 http://172.19.2.xxx: ...
本地部署视频转文字模型
本地部署视频转文字模型背景获取品牌资产种草的作品,对应的视频、图片、文本的内容,根据这些内容判断种草的作品是否合格
环境准备
ubuntu(我的),也支持 windows,macOS
python(我用的 python12)
依赖包
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106addict==2.4.0aiohappyeyeballs==2.4.6aiohttp==3.11.12aiosignal==1.3.2aliyun-python-sdk-core==2.16.0aliyun-python-sdk-kms==2.16.5altair==5.5.0antlr4-python3-runtime==4.9.3att ...
【Leetcode刷题】两个非重叠子数组的最大和
题目地址:https://leetcode.cn/problems/maximum-sum-of-two-non-overlapping-subarrays/description/
我的思路
实现比较麻烦,计算复杂
先计算出 firstLen 长度的最大和的子集,再从剩余的数组中计算 secondLen 长度的最大和的子集 ,然后相加
再计算出 secondLen 长度的最大和的子集,再从剩余的数组中计算 firstLen 长度的最大和的子集 ,然后相加
比较两个结果,取最大值
官方思路
动态规划 + 滑动窗口
首先题目给出一个长度为 n 的数组 nums。现在我们需要返回两个长度分别为 firstLen 和 secondLen 的非重叠的子数组的最大和,firstLen+secondLen≤n,其中这两段子数组的前后顺序没有要求。
由于两段子数组的前后顺序没有区别,所以现在不妨设长度为 firstLen 的子数组在长度为 secondLen 的子数组前来计算此时的两段子数组的最大和。首先我们用 nums[i,j] 来表示 nums[i],nums[i+1],…, ...
【Leetcode刷题】最近的房间
题目路径1847. 最近的房间
个人解法
关键点:
排序
TreeSet(二分查找)
数据结构
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100public class ClosestRoom { public int[] closestRoom(int[][] rooms, int[][] queries) { return main(rooms , que); } /** * 满足条件的房间 id * 例子:rooms = [[2,2],[1,2],[3,2]] * queries = [[3,1],[3,3],[5,2]] ...
【Leetcode刷题】K 次乘运算后的最终数组 I
题目路径:3264. K 次乘运算后的最终数组 I
个人解法1234567891011121314151617181920public class Solution { public int[] getFinalState(int[] nums, int k, int multiplier) { for (int i=0;i<k;i++){ fun1(nums,multiplier); } return nums; } // 获取最小值并乘以 multiplier public void fun1(int[] nums, int multiplier) { int index = 0; for (int i = 1; i < nums.length; i++) { if (nums[index] > nums[i]) { i ...
数据库datetime类型的数据查询出来相差8小时
背景说明一个JAVA项目,从MYSQL数据库中查询数据时,发现数据库表中显示的Date类型字段的数据,与查询出来的数据相差8小时
排查过程
查看执行的SQL日志:SQL日志中显示,查询出来的数据与数据库一致
查看接口返回的数据:发现返回的数据与数据库中相差8小时
修复过程
【无效】给数据库连接添加了:serverTimezone=Asia/Shanghai
【无效】在项目的启动类main方法,添加如下的代码:TimeZone.setDefault(TimeZone.getTimeZone(“GMT+8”));
【无效】将Date类型的引入的包从:import java.util.Date; 改成 import java.sql.Date;
【有效】在对应实体类的Date类型的字段添加注解:@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”, timezone = “GMT+8”)
【有效】使用全局配置: 12spring.jackson.date-format=yyyy-MM-dd HH:mm:ssspring.jackson.time-zone ...







