1. 这个项目到底在做什么:用 OpenClaw 把本地大模型变成“网站搭建工”
我在本地把 OpenClaw 和本地大模型串起来,用自然语言让 AI 代理直接生成并搭建了一个完整的企业官网。整个过程从环境准备到网站可以本地访问,控制在 30 分钟左右。这篇博文就是完整记录整个实操流程,包括安装配置、模型接入、建站思路和踩坑过程,适合想用本地 AI 折腾自动化任务的开发者、运维人员,以及想低成本快速出企业站的人参考。
OpenClaw 是一个开源的 AI 代理框架,通俗点说,它不是一个简单的聊天框,而是一个能“自己动手干活”的智能体。你给它一个目标,它会自己拆解任务、调用工具、读写文件、执行命令,甚至操作浏览器。配合本地部署的大模型,整个链路的数据都可以留在自己机器上,不需要把企业资料、网站文案、业务数据传到第三方接口。这一点对很多中小企业来说很关键:既要 AI 的自动化能力,又不想把内部信息交给外部服务。
我选择用 OpenClaw 来搭企业网站,而不是直接让 ChatGPT 之类的在线工具生成代码,核心原因有三个:
第一,OpenClaw 是本地运行的任务代理,它可以真正操作我的文件系统,生成一堆 HTML、CSS、JS 文件,然后放到指定目录,这些动作是连贯的、可重复的。在线聊天工具就算能生成代码,你也得复制粘贴,效率差很多。
第二,本地模型没有“用量限制”,试错成本低。我反复调整提示词、让代理重写页面、补充内容,来回十几次都不会有额度问题。实测下来,用本地 7B 到 14B 参数级别的模型,生成的静态企业站质量完全够用。
第三,整个过程可控。OpenClaw 有执行审批机制,代理每次要执行命令、写文件,都会先经过确认。我可以看着它一步步操作,觉得不对随时叫停,这种安全感是纯自动化工具给不了的。
适合谁来参考这篇内容?如果你只想快速看个结果,可以跟着第 4 章直接跑通。如果你想深入理解为什么这样配置、遇到报错怎么排查,建议从头到尾读完。这里不会只丢命令,还会解释每个参数背后的道理。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 30 分钟路线图:环境准备和 OpenClaw 安装
2.1 Windows 11 下用 PowerShell 安装并指定目录
我测试的主机是 Windows 11,OpenClaw 对 Windows 的支持已经相当完善。最稳的安装方式是把安装脚本下载到本地,然后用 PowerShell 执行。OpenClaw 的安装脚本支持自定义安装目录,这一点很重要,因为默认装到用户目录下,后续找配置文件和 workspace 不太直观。
powershell复制# 以管理员身份打开 PowerShell
irm https://clawhub.com/install.ps1 | iex
默认情况下,OpenClaw 会装在 $env:USERPROFILE\.openclaw\bin 下,配置文件在 $env:USERPROFILE\.openclaw\。如果你不想用默认路径,可以在安装前设置环境变量指定目录:
powershell复制$env:OPENCLAW_HOME = "D:\OpenClaw"
$env:OPENCLAW_BIN = "D:\OpenClaw\bin"
irm https://clawhub.com/install.ps1 | iex
注意,PowerShell 执行外部脚本时,如果遇到 无法将 openclaw 项识别为 cmdlet、函数、脚本文件或可运行程序的名称 的报错,通常是两个原因:一是安装没有成功,二是安装成功后当前终端没有刷新 PATH。我踩过这个坑,解决方法是关掉当前 PowerShell 窗口重新打开,或者手动执行:
powershell复制$env:Path = "$env:USERPROFILE\.openclaw\bin;$env:Path"
openclaw --version
还有一种情况是执行策略限制,需要先放开:
powershell复制Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
这里补充一下为什么推荐自定义目录:OpenClaw 运行时会生成大量文件,包括日志、配置、工作目录、模型缓存等。放在系统盘 C 盘容易越滚越大,后面清理起来麻烦。我建议单独放一个盘符或者独立的项目目录,即使将来要重装系统,整个 .openclaw 目录拷走就能恢复大部分配置。
2.2 便携版和 Linux/云端部署的补充方案
除了 PowerShell 在线安装,OpenClaw 还提供了便携包,适合不想污染系统环境的场景。便携包解压即用,有点像绿色软件,不会写注册表,也不会自动改 PATH。我建议便携包只用于临时测试,正式使用还是正常安装比较好,因为 OpenClaw 会经常更新,便携包更新需要手动下载覆盖,比较麻烦。
Linux 服务器或者云端主机的部署方式类似,核心命令是:
bash复制curl -fsSL https://clawhub.com/install.sh | bash
Ubuntu 系统上如果遇到安装后找不到命令,记得先执行 source ~/.bashrc 刷新环境变量。启动 OpenClaw 之后,可以用 ps aux | grep -i openclaw 查看进程状态,这个命令在排障时非常有用。
如果你是 Docker 重度用户,也可以直接拉镜像跑容器。但要注意一点:OpenClaw 需要访问宿主机的文件系统和网络端口,容器运行时要挂载好目录、映射好端口,否则代理无法在宿主机上创建网站文件。我自己的建议是,开发环境用物理机部署,生产环境再考虑容器化,减少不必要的映射配置烦恼。
2.3 初始化和基础配置
安装完成后,第一次运行需要初始化:
powershell复制openclaw configure
通过配置向导,你可以设置默认模型、工作目录、网络搜索权限、浏览器自动化开关等。我简化一下最关键的两个配置项:
- 模型提供方:支持 OpenAI 兼容接口、Anthropic、本地模型服务等。我们要接本地大模型,就选 OpenAI 兼容模式,然后填入本地服务的地址,比如
http://127.0.0.1:11434/v1。 - Workspace 路径:OpenClaw 默认工作目录在
%USERPROFILE%\.openclaw\workspace。所有生成的文件都放这里。这个目录相当于代理的“办公桌”,它会在这里创建子文件夹、保存中间产物。
配置完成后,可以用 openclaw run 启动交互式会话,或者在后台启动网关服务 openclaw serve。最新版 OpenClaw 有一个 Web 管理界面,启动网关后浏览器访问 http://127.0.0.1:6789 就能看到任务面板。
提示:
workspace目录最好设置成你方便访问的位置,比如D:\Projects\OpenClawWorkspace。因为后面搭建网站时,代理生成的网页文件就在 workspace 里,你还需要手动拷贝到正式站点目录或者用代理直接部署。
3. 连接本地大模型:这是整个链路最关键的一步
3.1 本地模型选型:7B、14B 还是更大?
OpenClaw 本身没有任何模型,它需要调用大模型来做决策和生成内容。所以你必须准备一个“大脑”,这里就是本地部署的大模型。
我推荐用有 OpenAI 兼容 API 的推理服务,比如 Ollama、LM Studio、vLLM、llama.cpp server 等。以 Ollama 为例,安装很简单:
bash复制ollama pull qwen2.5:7b
ollama serve
模型选择上,我给不同配置的机器一个参考:
| 机器配置 | 推荐模型 | 说明 |
|---|---|---|
| 16GB 内存,无独显 | qwen2.5:7b 或 llama3.1:8b | 纯 CPU 推理,速度偏慢但能跑,适合简单页面生成 |
| 32GB 内存,RTX 3060 12GB | qwen2.5:14b | GPU 加速,速度和效果比较均衡,我的主力配置 |
| 64GB 内存,RTX 4090 或 A6000 | qwen2.5:32b / 72b | 质量接近在线模型,但显存要求高 |
我实测下来,7B 模型生成的代码结构清晰,但文案质量一般,需要多轮修改;14B 模型在中文表达和代码生成上明显更自然,基本不用怎么返工。如果只是搭建一个静态展示型企业站,14B 是性价比很高的选择。
3.2 OpenAI 兼容接口配置详解
OpenClaw 配置模型时,关键要填三项:Base URL、API Key、模型名称。本地模型服务通常不需要真实的 API Key,随便填一个占位符即可,比如 ollama。配置示例:
text复制Provider: OpenAI Compatible
Base URL: http://127.0.0.1:11434/v1
API Key: ollama
Model: qwen2.5:14b
因为本地模型跑在本地端口,不需要联网,数据也不会出本机。这正好符合企业网站搭建场景下的数据隐私要求。这里要注意一下,如果你用 LM Studio,默认端口是 http://127.0.0.1:1234/v1,别填错了。vLLM 的话,通常默认端口是 8000。
OpenClaw 有一个很好用的地方是它支持多模型切换。你可以配置一个主模型负责逻辑推理,再配置一个轻量模型负责简单分类、标题生成等任务。不过这属于进阶玩法,第一次搭建不建议搞太复杂,一个模型跑通全流程就好。
3.3 接入 NVIDIA NIM 和其他推理服务
热词里有 openclaw 配置 NVIDIA NIM 的相关搜索,我正好也测试过。NVIDIA NIM 是 NVIDIA 提供的优化推理微服务,配置方式和 OpenAI 兼容接口差不多。如果你有 NVIDIA GPU,并且想用 NIM 加速,可以在配置时填入 NIM 提供的 endpoint 地址。
需要提醒的是,NIM 的 API Key 是必须的,需要到 NVIDIA 官网注册获取。如果你的机器没有 NVIDIA GPU,直接忽略这个选择,用 Ollama 就行。不要为了追求新功能而增加不必要的配置复杂度。
还有一类闭源模型也可以接进来,比如通过官方 API 调用云端模型,但那样就失去了“本地部署”的意义。既然标题写的是本地 AI 搭建网站,那就老老实实用本地模型,数据不出内网,合规上也更安心。
3.4 Skills 扩展:从“会聊天”到“会干活”
OpenClaw 的 Skills 是它的核心扩展机制。一个 Skill 就是一组定义好的技能模板,告诉代理“遇到这种任务时,你应该怎么拆解、用哪些工具、按什么顺序执行”。
我在这次建站过程中启用了几个关键 Skill:
- Web 开发技能包:包含 HTML/CSS/JS 的代码生成模板、项目目录结构规范、企业站常用页面模块。
- Browser 自动化技能:让代理可以打开浏览器预览页面、截图检查效果。
- 文件管理技能:负责在 workspace 中创建项目目录、保存文件、组织图片资源。
安装 Skill 很简单,可以从 ClawHub 在线仓库搜索安装,也可以把别人的 Skill 文件夹放到 .openclaw\skills 目录下。比如:
powershell复制openclaw skill install web-starter
openclaw skill list
Skill 和普通提示词的区别在于,它提供的是标准化流程。举一个生活中的类比:提示词像是告诉实习生“你去写一个网站首页”,而 Skill 像是给实习生一份《网站首页编写标准作业流程》,里面规定了第一步做什么、第二步用什么工具、输出格式是什么。这样代理不会天马行空,生成结果更稳定。
4. 实操:让 OpenClaw 从零搭建一个企业网站
4.1 任务拆解与提示词设计
现在到了最关键的部分。启动 OpenClaw 会话后,给它布置任务。我建议不要直接说“帮我建个企业网站”,信息太少,代理会无从下手。正确的做法是拆解需求,让它分步骤执行。
我的提示词大致是这样的:
text复制请帮我创建一个面向中小企业的科技服务公司官网。
要求:
1. 项目目录在 workspace 下的 site-demo 文件夹
2. 网站包含 5 个页面:首页、关于我们、产品服务、新闻动态、联系我们
3. 设计风格:现代简约,主色调蓝白,适合企业形象
4. 所有页面共用一个导航栏和页脚
5. 首页需要包含:Hero 区域、服务特色模块、公司数据模块、客户评价模块、行动召唤按钮
6. 内容先用中文占位文案,后续我再替换
7. 生成完成后,用浏览器打开 index.html 截图给我看
这个提示词包含了目标、约束、内容模块、验证方式,代理收到后就会开始干活。OpenClaw 会在网关管理后台显示它的执行步骤,比如:
text复制[计划] 分析需求,确定网站结构
[动作] 创建目录 site-demo
[动作] 生成 index.html
[动作] 生成 about.html
[动作] 生成 style.css
[动作] 生成 script.js
[动作] 浏览器打开页面截图
你可以观察它的每一步动作,不合理的随时中断。这个可监督、可干预的过程,比一键生成整站要靠谱得多。毕竟代理也是基于模型推理,偶尔会出现理解偏差。
4.2 页面生成与内容完善
企业网站的页面本身并不复杂,难点在于“一次生成的质量”。我第一次跑的时候,发现代理生成的首页布局有点乱,Hero 区域太大,服务模块又挤在一起。这就是典型的需要人工打磨迭代的场景。
我不重新生成,而是用追加指令让它修改:
text复制首页 Hero 区域的文字太多,压缩成一句口号 + 一个副标题。服务模块从 2 行 6 列改成 1 行 3 列,图标用 SVG 内联实现。
OpenClaw 会定位到对应文件,修改对应代码块,保存后继续保持项目结构完整。这个迭代过程我大概重复了四五轮,最终页面达到可用状态。如果你对视觉要求不高,其实第一版也能用。
这里有一个经验分享:本地模型对长文件的重写能力不如短文件。如果代理修改一个大文件时越改越乱,就让它在原文件基础上做局部修改,或者把文件拆成多个组件再合并。比如把导航栏独立成 nav.html,页脚独立成 footer.html,主页面通过 include 的方式引入,这样每次修改影响面最小。
4.3 本地预览与上线部署
网站生成之后,OpenClaw 可以通过浏览器自动化打开页面预览。它在本地起一个静态文件服务:
bash复制python -m http.server 8080 --directory site-demo
然后打开 http://localhost:8080 截图。你可以在网关面板里直接看到截图结果,不需要自己手动去目录里双击文件。
预览确认没问题之后,部署到正式环境。企业网站最常用的低成本方案是静态托管到 Nginx、GitHub Pages、Cloudflare Pages 或者国内的云存储 + CDN。因为 OpenClaw 生成的是纯静态页面,部署非常灵活。本地测试时直接让代理把整个 site-demo 目录复制到 Nginx 的 html 目录下就行。
如果你要做的是更复杂的动态网站,比如带后台管理、带数据库的,OpenClaw 也能生成后端代码,但我建议第一次先跑通静态站,因为这个链路足够验证“本地 AI + 代理”的核心价值。后面需求复杂了,可以自己扩展。
5. 常见问题与排查技巧实录
5.1 命令识别失败:不是软件坏了,是环境变量没刷新
这是新手最容易遇到的问题。安装 OpenClaw 后输入 openclaw,提示无法识别。绝大部分情况是 PATH 没有更新。PowerShell 窗口在安装前打开的,安装完成后的新路径不会自动注入到当前会话。
我之前提到过解决方法是重开终端,但其实还有一个更直接的排查思路:用完整路径执行看看能不能跑。
powershell复制& "$env:USERPROFILE\.openclaw\bin\openclaw.exe" --version
如果能正常显示版本号,说明安装没问题,纯粹是 PATH 问题。这时手动把 bin 目录加到系统环境变量里即可:
powershell复制[Environment]::SetEnvironmentVariable("Path", $env:Path + ";$env:USERPROFILE\.openclaw\bin", "User")
5.2 卡在“网关启动中”
热词里有一个非常高频的问题:OpenClaw 打开时一直卡在网关启动中。这个问题我遇到过,原因是端口被占用或者网关进程没有正常退出。
排查步骤:
powershell复制netstat -ano | findstr 6789
如果看到端口被占用,找到对应的 PID,然后在任务管理器里结束进程。还有一种情况是之前启动过多个 OpenClaw 实例,导致网关状态文件冲突。解决方法是删除 .openclaw\gateway 目录下的临时状态文件,重新启动。
如果依然卡住,可以查看日志:
bash复制# Linux/Mac
tail -f ~/.openclaw/logs/gateway.log
# Windows 下日志在同目录的 logs 文件夹
Get-Content "$env:USERPROFILE\.openclaw\logs\gateway.log" -Tail 50
日志是排查一切问题的钥匙。看到 port already in use 就是端口冲突,看到 failed to connect to model 就是模型接口配置有问题,对症下药。
5.3 exec-approvals.json 和执行审批机制
我使用过程中在终端里看到过这样一条提示:
text复制legacy exec approvals exist at /root/.openclaw/exec-approvals.json
这其实是 OpenClaw 的安全机制。默认情况下,代理执行任何系统命令或写文件操作之前,都需要经过用户批准。批准过的命令会记录在 exec-approvals.json 中,下次执行相同命令时自动放行,不用反复确认。
这个文件对安全非常重要,尤其当成千上万的代理任务在跑时,一旦养成“无脑点允许”的习惯,代理可能在你不注意的时候执行了不该执行的命令。所以我的建议是:
- 列表命令、生成文件、读取文件这类低危操作,可以批量授权,减少交互。
- 删除文件、修改全局配置、执行安装脚本这类高危操作,保持每次询问。
- 定期检查 exec-approvals.json,清理不需要的授权条目。
如果你不想每次操作都确认,可以在配置文件中开启自动批准模式。但我强烈不建议默认开启,尤其是第一次使用、不了解代理行为时。等熟悉了它的操作方式再放宽权限也不迟。
5.4 版本升级:dev 通道和 stable 通道怎么选
OpenClaw 迭代速度很快,热词里也出现了 openclaw update --channel dev 这样的命令。官方提供两个更新通道:
bash复制openclaw update --channel stable
openclaw update --channel dev
稳定版稳定但特性更新慢,开发版功能新但有风险。我的建议很直接:日常使用稳定版,想体验新功能时在测试环境切 dev,不要在正式干活的时候开着 dev 通道。有一次我在 dev 通道下遇到一个 Bug,导致任务执行到一半就崩了,日志里报了一个非常奇怪的运行时错误,切换回 stable 之后一切正常。
版本管理还有一点要留意:OpenClaw 的配置文件和 workspace 目录跨版本一般兼容,但 Skills 和 ClawHub 上的第三方组件可能存在不兼容的情况。升级前最好备份 .openclaw 目录。
5.5 其他高频问题的速查表
| 问题现象 | 可能原因 | 解决办法 |
|---|---|---|
| 模型回复很慢 | 本地模型太小或 CPU 推理 | 换 GPU 推理,或升级模型 |
| 生成的网站打不开 | 端口被防火墙拦截 | 检查防火墙入站规则,放行对应端口 |
| 代理不执行命令,一直等待确认 | 执行审批机制开启 | 在确认弹窗中选择允许,或调整审批策略 |
| 找不到 workspace 目录 | 自定义路径未生效 | 检查配置文件中 workspace 字段,重启服务 |
| 页面生成一半就停了 | 上下文长度超限 | 缩小任务范围,分多次执行,或换更长上下文的模型 |
| 中英文混排混乱 | 本地模型对中文理解弱 | 提示词中明确“全部使用中文”,或换中文能力更强的模型 |
5.6 我的一些“压箱底”经验
最后分享几个不算 Bug 但非常影响体验的点。
第一,OpenClaw 对任务的处理是“顺序执行”的,如果一个任务太大,比如让代理一口气生成 10 个页面,它会很吃力,而且过程中如果出错,前面的成果可能没有及时保存。拆成小任务、每个任务执行完检查一下 workspace,比一次性压一个大任务要稳。
第二,模型的热度会影响回答质量。本地模型对话时间长了,会有上下文衰减的现象,尤其是较小参数的模型,容易出现“忘事”。遇到这种情况,让代理重新阅读生成过的文件内容,或者开一个新会话重新描述需求,都比在旧会话里硬掰要快。
第三,OpenClaw 会记住跨会话的偏好设置。你可以在配置里加入一些默认规则,比如“所有生成的页面必须包含响应式布局”“所有中文文案不使用繁体字”“所有图片使用占位图服务”等。这些偏好会在后续任务中自动生效,省掉反复强调的麻烦。
我个人在实际操作中最深的体会是,本地 AI 和在线 AI 的差距正在快速缩小,而本地部署带来的数据安全和自由定制优势是不可替代的。OpenClaw 这种 AI 代理框架,把“AI 生成内容”和“AI 执行任务”串在了一起,让本地大模型不再只是一个聊天玩具,而是真正能落地干活的生产力工具。
用 30 分钟搭一个企业网站只是它能力的冰山一角。后面我还在尝试把 OpenClaw 接入飞书机器人、做本地语音转文字和文字转语音的自动化流程,以及在项目管理场景中和 Obsidian 联动。这些方向本质上都是用同一个框架驱动不同的 Skill 和工具,一旦你掌握了 OpenClaw 的基本逻辑,各种玩法都能慢慢解锁。
如果你照着这篇文章搭出了一个企业网站,或者在其他场景里用 OpenClaw 折腾出了新花样,欢迎在评论区交流踩坑经验。毕竟这种工具迭代太快,多一个人分享实战经验,大家就能少走一大段弯路。
