ngrok 快速入门:将本地服务安全暴露到公网
前言平时开发时,经常遇到需要把本地服务分享给外部测试或调用 Webhook 的场景,但公司的开发机没有公网 IP,防火墙限制也无法自行开放端口。ngrok 就是来解决这个问题的——一条命令,把本地端口映射到公网 HTTPS 地址。
同时它现在已升级为 AI & API Gateway 平台,不只是隧道,还提供流量策略、WAF、API 路由等企业级功能。
ngrok 是什么ngrok 是一个云端网络平台,核心能力有三个:
安全隧道 — 把本地服务暴露到公网,无需开放防火墙端口
AI & API 网关 — 统一管理多个 AI API 的路由、认证和流量控制
Traffic Policy — 用 CEL 表达式配置流量规则,替代复杂的 nginx 配置
快速开始安装1234567# macOSbrew install ngrok# Linuxcurl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/nullecho ...
阿里云ECS(国内)Docker部署Redis+Nginx完整文档
阿里云ECS(国内)Docker部署Redis+Nginx完整文档一、文档说明本文档适配阿里云国内ECS服务器,已提前部署Docker环境,重点解决国内Docker拉取官方镜像慢、失败的问题,提供Redis(带安全配置、数据持久化、开机自启)和Nginx(带配置挂载、日志持久化、开机自启)的完整部署流程,所有命令可直接复制粘贴执行,生产环境可直接复用。
核心优势:采用国内可靠公共镜像(DaoCloud、网易),无需额外配置复杂环境,全程命令行操作,步骤清晰,解决国内镜像拉取痛点。
二、前置准备
环境:阿里云国内ECS服务器(CentOS/Ubuntu均可),已安装Docker。
权限:执行命令时需具备sudo权限(或直接使用root用户)。
工具:Xshell、Putty等SSH连接工具,用于连接ECS服务器执行命令。
安全:提前准备阿里云ECS安全组配置权限(后续需开放对应端口)。
三、Docker国内镜像加速配置(一劳永逸)为解决所有Docker镜像(包括Redis、Nginx)拉取慢、失败的问题,先配置国内镜像加速,优先使用DaoCloud、网易镜像源,稳定性最高。
3.1 ...
AI 交互范式的演进:从提示词工程到驾驭工程
这是 AI 与人交互方式演进的三代范式:
1. 提示词工程(Prompt Engineering)核心: 如何写好一个 prompt
这是最早被广泛关注的层次,关注点是:
如何措辞能让 LLM 理解你的意图
Few-shot / Zero-shot 技巧
Chain-of-Thought(思维链)引导
输出格式控制
本质: 把 LLM 当成一个强的对话引擎,优化输入文本来获得好输出
2. 上下文工程(Context Engineering)核心: 如何组织给 LLM 的上下文
随着 context window 越来越大(100K+ tokens),问题变成了:
什么信息值得放进 context
如何结构化(System prompt / User msg / Examples 的分层)
RAG(检索增强生成)— 动态从外部知识库拉取相关内容注入 context
Context 过长时的注意力稀释问题
本质: 不只是写好一句话,而是设计好整个”上下文容器”
3. 驾驭工程(Harnessing Engineering / Agent Engineering)核心: 如何让 ...
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],…, ...




