疯狂的键盘

爱软件爱开发

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 拒绝启动,杜绝了"配错了但不知道"的问题。 ...

2026年4月12日 · 9 分钟 · Jid

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/ 目录下: ...

2026年4月12日 · 9 分钟 · Jid

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 的替代品那么简单,它是一个"全家桶": ...

2026年4月8日 · 3 分钟 · Jid

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 模式精细控制。

2026年4月4日 · 1 分钟 · Jid

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,稳定。 ...

2026年3月29日 · 3 分钟 · Jid

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: ...

2026年3月29日 · 5 分钟 · Jid

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 格式): ...

2026年3月28日 · 2 分钟 · Jid

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

2015年5月10日 · 1 分钟 · Jid

声明模板类为友元类

如题,要将模板类(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; } //欢迎交流 备注: ...

2015年5月10日 · 1 分钟 · Jid

在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

2015年5月10日 · 1 分钟 · Jid