OpenClaw vs Hermes Agent 深度对比:两种设计哲学的碰撞
OpenClaw vs Hermes Agent 深度对比:两种设计哲学的碰撞 2026 年最热门的两个开源 AI Agent 框架,一个以网关架构和工程可靠性见长,一个以研究导向和自学习能力取胜。 一、项目概况 OpenClaw 由社区驱动开发,采用 Node.js 技术栈,定位为"AI 助手网关"——通过一个长期运行的 Gateway 进程统一管理所有消息通道、工具调用和 Agent 生命周期。它强调的是工程完备性:热重载、类型安全协议、精细的安全审批、50+ CLI 子命令,覆盖从安装到运维的全生命周期。 Hermes Agent 由 Nous Research(知名 AI 研究组织,Hermes、Nomos、Psyche 等模型背后的团队)于 2026 年 2 月开源,两个月内 GitHub 星标突破 40k。采用 Python 技术栈,定位为"可自我进化的 AI Agent 框架"。它强调的是研究闭环:Agent 不仅能执行任务,还能将执行轨迹用于 RL 训练,训练出下一代更好的 tool-calling 模型。这是一个"Agent 用自己的经验让自己变强"的飞轮。 两者都兼容 agentskills.io 开放标准,都支持多消息平台、多模型提供商、技能系统和记忆系统,但解决问题的思路截然不同。 二、架构:网关 vs 编排引擎 OpenClaw:集中式网关 OpenClaw 的核心是一个 Gateway 守护进程,通过 WebSocket 管理所有连接。CLI、macOS 菜单栏应用、Web UI、移动 Node 都是 Gateway 的客户端。这种架构的优势是: 单一管控点:所有通道状态、Agent 状态、会话数据集中管理 热重载:配置变更自动生效,无需重启(hybrid/hot/restart/off 四种模式) 控制平面分离:管理界面和运行时解耦,支持远程管理 配置格式为 JSON5(~/.openclaw/openclaw.json),支持 $include 拆分配置文件、环境变量替换、SecretRef 密钥引用。整个配置体系经过严格的 Schema 校验——未知字段或错误类型会导致 Gateway 拒绝启动,杜绝了"配错了但不知道"的问题。 ...
OpenClaw 完整配置教程:从安装到深度定制
OpenClaw 完整配置教程:从安装到深度定制 一站式 AI 助手网关,连接你的所有聊天平台,驱动你的智能工作流 什么是 OpenClaw OpenClaw 是一个开源的 AI 助手网关(Gateway),它将大语言模型与你日常使用的聊天平台连接起来。通过一个统一的 Gateway 进程,你可以让 AI 助手同时在线 Telegram、WhatsApp、Discord、飞书、Slack 等多个平台,并赋予它执行命令、浏览网页、生成图片等能力。 核心架构: 一个长期运行的 Gateway 进程管理所有消息通道,控制平面客户端(macOS 应用、CLI、Web UI)通过 WebSocket 连接到 Gateway。 一、安装 系统要求 项目 要求 Node.js 24(推荐)或 22.14+ 操作系统 macOS / Linux / Windows(原生 + WSL2) 包管理器 npm(默认)/ pnpm / bun 推荐安装方式 macOS / Linux / WSL2: curl -fsSL https://openclaw.ai/install.sh | bash Windows (PowerShell): iwr -useb https://openclaw.ai/install.ps1 | iex 安装脚本会自动检测操作系统、安装 Node(如需要)、安装 OpenClaw 并启动引导流程。 其他安装方式 # npm 全局安装 npm install -g openclaw@latest openclaw onboard --install-daemon # pnpm pnpm add -g openclaw@latest pnpm approve-builds -g openclaw onboard --install-daemon # 从源码 git clone https://github.com/openclaw/openclaw.git cd openclaw pnpm install && pnpm ui:build && pnpm build pnpm link --global openclaw onboard --install-daemon 验证安装 openclaw --version # 确认 CLI 可用 openclaw doctor # 检查配置问题 openclaw gateway status # 验证 Gateway 运行状态 二、目录结构 OpenClaw 的所有状态和配置集中在 ~/.openclaw/ 目录下: ...
Bun vs npm:为什么我们需要另一个 JavaScript 运行时和包管理器?
先说结论 如果你只用过 Node.js + npm,觉得"够用了",这很正常。Bun 的核心卖点是速度——它把 JavaScript 生态里最慢的几个环节(安装依赖、运行脚本、启动服务器、跑测试)全部重写了一遍,速度提升通常是 3-30 倍。 但速度只是表象。Bun 更深层的野心是:把 Node.js 生态里需要五六个工具才能搞定的事,用一个工具全包了。 npm 是什么? npm(Node Package Manager)从 2010 年随 Node.js 诞生,干两件事: 包管理器:安装、管理第三方依赖(npm install) 脚本运行器:执行 package.json 里定义的脚本(npm run dev) 它是 JavaScript 生态的基石。截至 2026 年,npm 仓库有超过 300 万个包,是全球最大的软件注册表。 npm 的问题 老实说,npm 本身没什么大问题,但它慢: npm install 一个中型项目可能要 10-30 秒 冷启动一个 Node.js 服务通常需要几百毫秒到几秒 跑测试需要额外装 Jest 或 Vitest 打包需要额外装 Webpack/Vite/esbuild TypeScript 需要额外配置 ts-node 或 tsc 这些"额外安装"才是真正的痛点。 Bun 是什么? Bun 是 2022 年由 Jarred Sumner 创建的一个 JavaScript/TypeScript 运行时,用 Zig 语言编写。注意,Bun 不是 npm 的替代品那么简单,它是一个"全家桶": ...
OpenClaw 2026.3.31 升级后疯狂弹审批?改这两个配置就够了
问题 升级 OpenClaw 2026.3.31 后,执行命令频繁弹出 /approve 要求手动审批。关掉 ask 之后命令还是报 exec denied: allowlist miss,依然跑不了。 原因 OpenClaw 2026.3.31 把执行权限拆成了两层: 审批层(ask)—— 决定要不要弹窗让你批准 执行层(security)—— 决定命令有没有资格执行 很多人只改了第一层,第二层没动,所以审批没了但命令还是死。不弹窗 ≠ 放行。 解决方案 打开 ~/.openclaw/openclaw.json,确保 tools.exec 同时配置这两项: { "tools": { "exec": { "ask": "off", "security": "full" } } } ask: "off" —— 不再弹审批 security: "full" —— 放开执行权限 改完后执行: openclaw config validate openclaw gateway restart 用一个最轻的命令验证: pwd 能直接返回路径就说明生效了。 注意事项 这套配置适合单人使用、追求效率的场景。如果你的 OpenClaw 是多人共享或挂在群聊里,security: "full" 风险较大,建议用 allowlist 模式精细控制。
iPhone 输入法横评:7款主流iOS输入法深度对比
iPhone 输入法横评:7款主流iOS输入法深度对比 数据来源:Apple App Store(中国区),2026年3月29日实时查询 一、硬数据总览 输入法 App Store 评分 评分数量 安装包大小 最近更新 搜狗输入法 ⭐ 4.84 824 万 267 MB 2026-03-26 微信输入法 ⭐ 4.74 12.7 万 402 MB 2026-02-06 百度输入法 ⭐ 4.70 40 万 363 MB 2026-03-29 讯飞输入法 ⭐ 4.25 439 370 MB 2026-03-28 手心输入法 ⭐ 3.81 278 109 MB 2026-03-26 豆包输入法 ⭐ 3.70 1900 264 MB — 苹果自带键盘 — — 0(系统内置) 数据说明: 评分和安装包大小来自 iTunes Search API 实时查询 苹果自带键盘无独立评分,作为对照列入 讯飞输入法评分数量仅 439 条,可能是新版替换了旧版 App,评分被重置 豆包输入法 2025年11月底才上架 iOS,评分数据较少 二、评分分析 评分反映的是用户综合满意度。824万条评分的搜狗拿到 4.84,可信度非常高。微信输入法 12.7万条评分拿到 4.74,同样优秀。百度 40万条 4.70,稳定。 ...
WinGet vs Chocolatey vs Scoop 全面对比指南
WinGet vs Chocolatey vs Scoop 全面对比指南 Windows 包管理器深度对比 · 2026年3月 一、引言 Linux 有 apt/yum,macOS 有 Homebrew,Windows 呢?目前有三个主流选择:微软官方的 WinGet、老牌的 Chocolatey、轻量的 Scoop。本文从设计理念、实际使用、进阶技巧到选型建议,帮你全面了解它们的差异。 二、一句话认识三者 包管理器 一句话概括 类比 WinGet 微软官方的包管理器,Windows 11 预装 类似 iPhone 自带 App Store Chocolatey 社区驱动的老牌包管理器,企业方案成熟 类似 Red Hat 的 yum,成熟但重 Scoop 为开发者设计的轻量安装器,无需管理员权限 类似 macOS 的 Homebrew 三、安装与首次体验 WinGet Windows 11 已预装。Windows 10 需确认 App Installer 已安装: winget --version 如果提示找不到命令,在 PowerShell 中执行: Add-AppxPackage -RegisterByFamilyName -MainPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe Chocolatey 以管理员身份打开 PowerShell,执行: Set-ExecutionPolicy Bypass -Scope Process -Force [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072 iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) Scoop 普通用户权限即可,打开 PowerShell: ...
Claude Code + clangd 实战笔记:大代码项目的高效 AI 辅助开发
一、问题:代码量大,AI 上下文装不下 当项目代码量很大时,Claude Code 直接从头到尾阅读代码很容易超过上下文窗口限制。解决方案是让 Claude Code 通过 LSP(Language Server Protocol) 精准定位代码,而不是全文阅读。 有无 LSP 的区别 无 LSP 有 LSP(clangd) 以文本形式解析代码,用 Grep 模糊搜索 直接调用语言服务器,获取精确语法结构 查找引用/定义需反复搜索,Token 消耗高 单次查询到位,Token 消耗降低 40%+ 不理解类型信息 能获取类型签名、跨文件引用 没有 LSP,Claude Code 是"聪明的文本搜索";有了 LSP,才具备 IDE 级别的代码理解能力。 二、clangd 是什么 clangd 是 LLVM/Clang 项目提供的 C/C++ 语言服务器,它能: 精确的代码补全(比 VS 原生 IntelliSense 在复杂模板代码中更准) 跨文件的符号查找(定义、引用、调用关系) 实时诊断(类型错误、未使用变量等) 代码导航(跳转到定义、查找所有引用) clangd 的局限 clangd 不是实时分析的,它依赖一个 compile_commands.json 文件来了解每个文件的编译参数(包含路径、宏定义、编译选项等)。没有这个文件,clangd 就无法正确工作。 三、轻量方案:手动创建 .clangd 配置文件 如果你的项目结构比较简单,或者不想安装额外工具生成 compile_commands.json,可以手动创建一个 .clangd 配置文件来告诉 clangd 需要检索的包含目录。 在项目根目录创建 .clangd 文件(YAML 格式): ...
Ubuntu一键安装及卸载LAMP
一键安装LAMP服务: sudo tasksel install lamp-server 一键卸载LAMP: sudo tasksel remove lamp-server 补充: LAMP = Linux+Apache+MySQL+PHP 通过上面的命令卸载Lamp时不免把Linux系统本身的东西卸载掉了,因此, 在卸载LAMP后一定记着更新一下系统: sudo apt-get update sudo apt-get upgrade 上面两条都要执行,切记! 参考资料:Ubuntu Skills
声明模板类为友元类
如题,要将模板类(template class)声明为友元类,需要注意两点: (1)模板类本身的声明要足够早,我指的是在被声明为友元类之前就进行了模板类的声明。 比如: template<typename T> class AA { public: …… private: …… }; class BB { public: template<typename T> friend class AA; …… }; (2)友元类声明时的格式,应该是这样: template<typename T> friend class AA; AA是之前已经声明的模板类。 格式必须是这样,不然一定出错。 下面列出源代码,及源代码下载: //friend.h #include <iostream> using namespace std; template<typename T> class AA { public: AA(T vl):val(vl){}; void funcA(); private: T val; }; class BB { public: BB(int d=0):tmp(d){}; template<typename T> friend class AA; private: void funcB(); int tmp; }; template<typename T> void AA<T>::funcA() { BB bb(100); bb.funcB(); } void BB::funcB() { cout<< tmp <<endl; } //friendmain.cpp #include "friend.h" using namespace std; int main() { AA<int> aa(9); aa.funcA(); return 0; } //欢迎交流 备注: ...
在Scite里用Astyle格式化代码
在 VC6.0 里很喜欢用 Alt+F8 的功能,它能够快速格式化代码,Scite中没有这个功能。今天看它的配置文件发现这么两行: command.name.0.*.cxx=Indent command.0.*.cxx=astyle -tapO $(FileNameExt) 用来缩进的? 查了一下 astyle, 原来我需要的就是这个功能.。 下载 astyle 最新版, 解压之后把bin目录下的 AStyle.exe 复制到C:/windows, 然后,修改一下配置文件 cpp.properties,(这一步可以忽略), 如下: command.name.0.*.cpp=Indent command.0.*.cpp=astyle --style=ansi $(FileNameExt) OK, 现在可以先选中文本然后Ctrl+0快速格式化代码了。 PS: 其实要在Scite里面使用Astyle工具,只需要在astyle官网astyle中下载一个可执行程序astyle.exe,然后放到搜索路径中,比如C:/windows, 即可。修改配置文件是为了让格式化更漂亮,这里推荐用 --style=ansi 格式。 AStyle安装使用可以阅读刚才下载文件里的相关文件(很详细)。 Astyle用法: astyle --style=ansi filename.c