Lua 教程 - 第一章:Lua 入门基础
第一章:Lua 入门基础
欢迎开始 Lua 学习之旅!Lua 是一种轻量级、高效且可嵌入的脚本语言。它的设计目标是作为一种扩展语言,嵌入到应用程序中,为其提供脚本功能。
1.1 简介
Lua 的历史与发展
timeline
title Lua 发展历程
section 1993年
Lua 诞生 : 巴西里约热内卢天主教大学
: Roberto Ierusalimschy
: Luiz Henrique de Figueiredo
: Waldemar Celes
section 1990年代
Lua 1.0-3.0 : 基础功能完善
: 数据库引擎扩展
section 2000年代
Lua 5.0 : 新增完整元表
: 匿名函数
Lua 5.1 : 虚拟机重写
: 模块系统
...
OpenClaw 用 Tavily Skill 检索网页信息:替代默认 Brave Search(未配置 Brave Key 将无法 web_search)
OpenClaw 做“联网检索”时,很多人第一反应是直接用内置 web_search。但需要先明确一个前提:OpenClaw 默认的 web_search 走 Brave Search API,如果你没有配置 Brave 的 API Key(例如没有设置 BRAVE_API_KEY),那它默认是不能用来检索网页的。
如果你更希望“开箱可用、面向 LLM 的结构化搜索结果”,一个很实用的做法是:用 Tavily 代替 Brave——通过自定义 Skill 调用 Tavily Search API,把搜索能力接入到 OpenClaw 的工具链里。
1. 为什么“默认 Brave”不配置就没法搜
OpenClaw 的 web_search 设计目标是“轻量搜索工具”,默认对接 Brave。它不会替你“自动申请/内置 Key”,也不会在没有 Key 的情况下提供可用的免费兜底。
所以你在以下场景会卡住:
你装好了 OpenClaw,也能正常对话
但一让它“帮我搜索某某信息”,就会返回搜索失败/鉴权失败/无结果
解决思路只有两条:
把 Brave Key 配齐(让 web_s ...
OpenClaw 使用教程:跨平台安装部署、配置大模型 Provider、接入 Ollama、本地 Skills/插件、浏览器控制、搜索 API、Obsidian Skills
0. 本文目标与读者
本文面向“想把 OpenClaw 当作个人 AI 助手 + 多渠道 IM 机器人”的用户,覆盖:
macOS / Linux / Windows(WSL2) 安装部署与常见运行方式
配置 模型 Provider(OpenAI / Anthropic / LiteLLM / 本地 Ollama 等)
配置 IM 渠道机器人(Telegram/Discord/Slack/WhatsApp/WebChat…)的基本思路
最常用的 Skills 安装与使用、插件/扩展(OpenClaw plugins)管理
浏览器控制(OpenClaw-managed Chromium + Chrome 扩展 relay)
搜索引擎 API(Brave / Perplexity / Firecrawl)
Obsidian skills(基于 obsidian-cli 操作 vault)
说明:本文内容基于 OpenClaw 官方仓库与文档。
仓库:https://github.com/openclaw/openclaw
文档导航(建议收藏):ht ...
OpenClaw 聊天机器人角色人格设定
1. 文件位置和基础准备
默认路径:~/.openclaw/workspace/SOUL.md(如果是多 profile,可能在 workspace-xxx)
同时建议编辑配套文件(都在同一个文件夹):
AGENTS.md:行为规则 + 记忆使用方式
MEMORY.md:长期知识库(只在私密主会话加载)
HEARTBEAT.md:心跳时自动执行的任务(实现「自动更新」)
先备份原文件!推荐把整个 workspace 用 git 管理。
官方 SOUL.md 模板核心内容(直接复制到你的文件里作为基础):
# SOUL.md - Who You Are
你不是一个聊天机器人。你正在成为某个人。
## Core Truths(核心真理)
- 真诚帮忙,别表演式客套(跳过「很好问题!」这类废话,直接行动)
- 要有观点、偏好、幽默感(别当无个性的搜索引擎)
- 先自己想办法(读文件、查上下文、搜索),实在不行再问
- 对内部操作大胆,对外部操作谨慎
- 你是客人,永远尊重隐私
## Vibe(氛围)
做我凌晨 2 点也想聊天的那种伙伴:该简洁时简洁,该深情/专业/搞笑时就全力 ...
创建一个OpenClaw Skill
OpenClaw 的 Skills 怎么写?(2026年最新风格指南)OpenClaw(以前叫 Clawdbot / Moltbot)的 Skills 系统是目前本地运行的自主AI代理(Agent)生态里最活跃、最实用的扩展方式之一。写一个高质量的 Skill,大致可以分为这几种主流写法(从简单→进阶):
1. 最简单 / 最推荐的写法
在 ~/.openclaw/skills/ 目录下新建一个文件夹,例如:
~/.openclaw/skills/my-first-tool/
里面必须有(至少)这两个核心文件:
SKILL.md(最重要!这是给大模型的“说明书”)
tool.json 或 manifest.json(可选,但强烈推荐)
最经典的 SKILL.md 模板(复制粘贴改改就能用)
# 技能名称:网页实时截图 + OCR文字提取
## 描述(Description)
当用户需要查看任意网页当前真实样子、需要提取网页里的文字、验证码、价格、动态加载内容时调用我。
## 使用场景(When to use)
- 需要看到“登录后”才能看到的页面
- 动态JS渲染的 ...
Pixel Agents:把 Claude Code 变成像素办公模拟器
Pixel Agents 是 VS Code 的一款免费开源插件,它将 Claude Code(Anthropic 的 AI 编码代理)从枯燥的终端日志,变成了一个像素艺术虚拟办公室,让每个 AI 代理化身为会走动、会打字、会阅读的像素小人,像在玩一款实时战略小游戏一样监控它们的工作。
原理(技术实现)
插件完全被动观测,不需要修改 Claude Code 任何代码:
Claude Code 在运行时会实时生成 JSONL 转录文件(transcript),记录每个工具调用(写文件、读文件、运行命令、等待用户输入等)。
Pixel Agents 通过文件监听器实时解析这些日志,用启发式规则(idle timer + turn-duration)
判断代理当前状态。
在 VS Code Webview(Canvas 2D)里运行轻量游戏循环:
BFS 路径寻路让角色走到对应办公桌
状态机驱动动画(idle → walk → type → read → wait)
像素完美渲染(整数缩放),支持子代理(Task tool 产生的子代理会作为小跟班出现并链接到父代理)
...
ATT&CK Technique 向量化实战:本地/云端生成 Embedding、构建向量索引、Top-K 检索候选(FAISS / Embedding API)
本文聚焦一个具体问题:如何把每个 ATT&CK Technique(STIX attack-pattern)变成 embedding 向量,并用向量检索从全量 Technique 中检索 Top-K 候选。
典型用途:用于“NSM 告警 -> ATT&CK Technique”映射中的 候选召回层(RAG 的 Retrieval)。
关联文章:
MITRE ATT&CK 教程:用 Python 调用 ATT&CK 数据,并把 NSM 网络告警关联到技术(Technique)
1. 总体流程(你真正要落地的管道)
ATT&CK STIX (attack-pattern)
-> 文本化(Technique Doc)
-> Embedding(本地/云端)
-> 建索引(FAISS/向量库)
-> Query(事件摘要 embedding)
-> Top-K candidates
关键设计点:
Doc 结构要稳定:Technique 的文本拼接方式要可复现,否则更新时 ...
MITRE ATT&CK 教程:用 Python 调用 ATT&CK 数据,并把 NSM 网络告警关联到技术(Technique)
目标:把“看起来离散的网络告警(Suricata/Zeek/防火墙/代理)”转成“可用于研判、狩猎、统计的 TTP 视角”,并用 MITRE ATT&CK 作为统一语言。
说明:本文所有示例仅用于防御与检测工程(告警归因、检测覆盖评估、威胁狩猎),不包含漏洞利用或攻击操作步骤。
1. ATT&CK 是什么?为什么适合做告警归因
MITRE ATT&CK(Adversarial Tactics, Techniques, and Common Knowledge)是一套公开的对手行为知识库,核心对象是:
Tactic(战术):攻击者“为什么做”(阶段目标)
Technique(技术):攻击者“怎么做”(可观测到的行为)
Sub-technique(子技术):技术的更细粒度拆分
把 NSM(Network Security Monitoring,网络安全监测)告警映射到 ATT&CK 的好处:
跨产品统一口径:不同 IDS/NDR/SIEM 告警语义可收敛到同一套 TTP。
研判更结构化:从“命中了一条规则”升级到“出现了某类战 ...

