96SEO 2026-06-04 21:54 1
230行代码,独立AI诞生,一问即答。
咱就是说这事儿真挺让人兴奋的。Neng用230行代码搞出一个Neng独立思考、Neng调用工具、还Neng跟你唠嗑的AI Agent,这你懂的。
整个项目只有一个文件 mini-openclaw.mjs,分成四个部分:工具定义、LLM调用、ReAct循环和交互式REPL。四个部分,一个文件,简洁明了哈哈。

const proc = spawn("codebuddy", );
Before需要HTTP客户端、处理鉴权、管理连接。各种繁琐,你懂的。
After一个spawn搞定,零网络代码!简直是太棒了!
📎 GitHub:
const callKey = JSON.stringify;if { // 强制终止,让模型Yi有结果}
BeforeAgent卡死,token烧光。哎呀,谁没遇到过?
After自动刹车,强制输出!避免浪费资源,这hen重要!
You> 用命令查kan当前的 node 版本和操作系统信息
⚙ 迭代 / 🔧 调用工具: run_command 📋 结果: v22. Darwin Enos-MacBook-Pro.local . ... arm64
⚙ 迭代 /🤖 Assistant:当前环境信息:- Node.js 版本:v22.- 操作系统:macOS Darwin
Before手动敲命令,自己kan输出。费时间费精力。
AfterAgent自主决策执行什么命令,自动结果。省心!
它Neng自主思考、调用工具、读写文件、执行命令,完成你交给它的任务。它叫 Mini OpenClaw。
所有Agent框架,dou是这230行的变体。<tool_call>{"name":"read_file","args":{"path":"test.txt"}}</tool_call>
一个正则就Neng解析:
<tool_call></tool_call>`// 这玩意儿简单粗暴啊!咱就是说。
// 这就是 ReAct。
前置条件只有两个
Node.js ≥
CodeBuddy CLI。
区别在于:一个让你用框架,一个让你理解框架。 一个文件,230行代码,零npm依赖——这是我造一个AI Agent的全部成本。node mini-openclaw.mjs
Zui好的架构,是你Neng一眼kan完的架构。
好的防御机制,是用户永远感知不到的那种。
翻遍所有框架的源码,剥掉封装、抽象、设计模式,剩下的核心逻辑只有一个循环:
模型有时会陷入死循环,反复调用同一个工具。Mini OpenClaw用一行代码解决:
You> 你好,介绍一下你自己
⚙ 迭代 / 🤖 Assistant:我是一个智Neng助手,拥有读写文件,列出目录,执行命令等工具,Ke以帮助你完成编程,调试,项目维护等开发相关工作.
LLM判断不需要工具 ,1次迭代 ,直接回答 。
mini-openclaw.mjs┌──────────────────────────────────────┐│ 第一部分 :工具定义 │ ← 4个内置工具│ 第二部分 :LLM调用 │ ← CodeBuddy CLI驱动│ 第三部分 :ReAct循环 │ ← 思考→行动→观察│ 第四部分 :交互式REPL │ ← 命令行界面└──────────────────────────────────────┘
readfile · writefile · listdir · runcommand<tool_call>`标签 → 执行工具 → 结果追加 → 继续一个循环 ,一个正则 ,一个spawn 。
调用LLM不走HTTP API ,直接spawn CodeBuddy CLI进程 :
You> 读取 .gitattributes 文件内容并解释它的作用
⚙ 迭代 / 🔧 调用工具: read_file 📋 结果: # Auto detect text files and perform LF normalization * text=auto
⚙ 迭代 /🤖 Assistant:.gitattributes 文件用于配置 Git 对文件的处理方式 :- * text=auto :对所有文件启用文本自动检测和行尾LF标准化
LLM思考 → 调用工具 → 拿到结果 → 回答 。2次迭代 。
for {
const prompt = buildSystemPrompt + "
" + history.join;
const reply = await callLLM;
const call = extractToolCall; if { // 没有工具调用 → Zui终回答 return reply; } // 有工具调用 → 执行 → 结果追加到历史 → 继续循环 const result = executeTool; history.push;}
const m = text.match<\/tool_call>/);
Before依赖特定API格式 ,换模型就得改代码
After纯文本协议 ,任何模型douNeng用
既然核心这么简单 ,为什么不Neng用一个文件实现它?
Agent的价值不在于它NengZuo什么 ,在于你不用告诉它怎么Zuo。# . 克隆git clone https://github.com/wscats/enoclaw.gitcd enoclaw# . 设置Keyexport CODEBUDDYAPIKEY=ck_你的key# . 运行node mini-openclaw.mjs
想换模型?一个环境变量 :
主流方案用OpenAI的function calling格式 ,需要特定的API结构 。
Mini OpenClaw用了一种geng简单的方式——文本标签 :
LangChain有10万行代码 ,Mini OpenClaw有230行 。它们的核心循环 ,一模一样 !
MODEL=hunyuan--thinking node mini-openclaw.mjs
支持的模型 :deepseek-v3--volc · hunyuan--thinking · glm- · glm-- · minimax--m2. · kimi--k2.
不用复杂的消息对象数组 ,直接用字符串拼接 :
┌─────────┐ prompt ┌──────────────┐ spawn ┌───────────────┐│ 用户 │ │ ReAct循环 │ ←────────── │ CodeBuddy CLI ││ 输入 │ │ │ ←────────── │ │└─────────┘ └──────┬───────┘ JSON └───────────────┘ │ 检测 <tool_call>标签 │ ┌───────────┴───────────┐ │ 有 │ 无 ▼ ▼ ┌──────────┐ ┌──────────┐ │ 执行工具 │ │ 输出回答 │ │ 追加结果 │ │ 循环结束 │ │ 继续循环 │ └──────────┘ └──────────┘
整个流程的代码实现 ,核心就是react函数里的一个for循环 :
User: 读取test.txtAssistant: : hello worldAssistant: 文件内容是 hello world
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback