OpenClaw:本地AI协作者,让大模型真正动手执行

发布时间:2026/5/22 19:09:10

OpenClaw:本地AI协作者,让大模型真正动手执行 1. 项目概述当AI不再“请指示”而是直接“已执行”你有没有过这种体验深夜改完最后一行代码顺手让AI助手帮忙检查下Git提交记录里有没有漏掉敏感信息——结果它只回你一句“建议使用git log -p查看”然后就安静了。你得自己敲命令、自己翻日志、自己确认。又或者你让它“把上周三会议录音转成纪要提取待办事项同步到Notion并邮件提醒负责人”它却说“我可以帮你写一段Python脚本但需要你手动运行。”这根本不是助手这是个需要你全程监工的实习生。OpenClaw解决的正是这个令人疲惫的“最后一公里”问题。它不满足于“告诉你怎么做”它直接“做了给你看”。这不是又一个聊天窗口里的聪明嘴炮而是一个被你授权、在你本地机器上持续驻留、拥有真实系统权限的数字协作者。它能读你邮箱里刚收到的PDF报价单自动解析出供应商名称、金额、交付周期存进本地SQLite数据库它能监听你日历里“客户演示”事件的临近提醒提前5分钟打开Zoom、调出预设PPT、甚至用Mac自带的语音合成器念一句“准备好了张总马上进来”它还能在你睡觉时默默扫描你下载文件夹里新出现的.zip包用7z解压、用exiftool提取照片拍摄时间、按年月自动归档到~/Photos/2025/04/目录下——整个过程你完全不用碰键盘。关键词里反复出现的“Towards AI - Medium”其实点出了一个关键背景这篇文章最初发布在技术媒体平台面向的是已经熟悉LLM、API、CLI这些概念的开发者和早期采用者。但OpenClaw的价值远不止于此。它代表了一种范式转移——从“云上租用一个聪明的问答机”转向“在自己电脑里养一个懂你、听你、且能替你动手的数字分身”。它不追求参数量最大、推理速度最快而是死磕一个朴素目标让AI的“能力”真正落地为你的“行动力”。这种“本地优先”的设计不是技术怀旧而是对数据主权、经济账本和操作确定性的三重回归。它适合所有厌倦了为每句回复付费、受够了数据在第三方服务器里打转、渴望真正掌控自己数字生活节奏的人。无论你是自由职业者、小团队技术负责人还是只是想让家里的NAS更“懂事”一点的极客家长OpenClaw提供的都不是幻觉而是一套可触摸、可审计、可修改的生产力操作系统。2. 核心设计逻辑为什么“本地第一”不是妥协而是战略升维2.1 从“咨询师”到“执行官”代理Agent范式的本质跃迁理解OpenClaw首先要跳出“AI聊天机器人”的思维定式。Claude Code、Cursor这类工具本质上是高级版的“智能搜索引擎代码补全器”。它们的工作流是线性的你提问 → 它思考 → 它生成文本回复。这个过程天然存在一个无法逾越的鸿沟生成的文本 ≠ 执行的动作。它告诉你curl -X POST https://api.example.com/webhook怎么写但绝不会真的替你发出那个HTTP请求。这个鸿沟就是传统AI工具与OpenClaw之间最根本的分水岭。OpenClaw的设计哲学是彻底拥抱“代理Agent”范式。在计算机科学里“代理”指的是一种能够感知环境、自主决策并采取行动以达成目标的软件实体。它的核心循环不是“输入-输出”而是“感知Perceive→ 决策Decide→ 行动Act→ 观察Observe→ 再感知……”的闭环。OpenClaw的“感知”来自它对你本地文件系统、邮箱客户端通过gogCLI、日历应用通过icalBuddy或AppleScript、甚至浏览器标签页通过Playwright的实时访问它的“决策”基于本地运行的大语言模型如gpt-oss:120b对当前上下文的理解它的“行动”则是直接调用os.system()、subprocess.run()或pyautogui等原生系统接口去执行mv、sqlite3、osascript等真实命令。这个转变带来的不是功能叠加而是质变。举个具体例子处理报销单。传统方式下你得把PDF拖进ChatGPT它告诉你“可以提取表格”然后你再找一个在线PDF转Excel工具再手动复制粘贴到财务系统。OpenClaw的流程是你把PDF丢进~/Downloads/它的后台守护进程openclaw-daemon立刻检测到新文件 → 调用pdfplumber库解析出表格 → 用本地LLM识别出“金额”、“日期”、“供应商”字段 → 自动生成一条SQLINSERT INTO expenses (...) VALUES (...)→ 直接执行该SQL写入本地expenses.db→ 最后用mail命令发送一封格式化的确认邮件给你。整个链条里没有一次人工干预没有一次网络请求发往外部服务器。它不是在“建议你如何报销”它是在“为你完成报销”。提示这种“感知-决策-行动”闭环是判断一个AI工具是否真正具备“代理”能力的黄金标准。如果它的任何一步动作都需要你手动点击、复制、粘贴或敲命令那它就还停留在“高级提示词工程”阶段离真正的“数字协作者”还有十万八千里。2.2 经济账本为什么“买硬件”比“付订阅费”更划算很多人看到“需要Mac Mini或ROG Ally X”第一反应是“太贵了”。这恰恰是云服务厂商最希望你产生的认知偏差。让我们来算一笔硬核的、不带任何情绪的经济账。假设你有一个中等复杂度的自动化需求每天早上8点自动汇总你昨天在Slack频道#project-alpha里的所有消息提取其中包含here或channel的高优先级通知生成一份Markdown摘要并通过企业微信机器人推送到你的手机。用云方案实现API成本每次处理需调用LLM API如Claude Sonnet进行摘要约消耗5000 tokens。Slack消息平均长度按2000字符计加上系统提示词保守估计每次请求消耗6000 tokens。一个月工作日22天总消耗22 * 6000 132,000 tokens。Claude Sonnet价格按Anthropic官方定价$3.00 / 1M tokens输入$15.00 / 1M tokens输出。我们按混合均价$8.00 / 1M tokens粗略计算月成本 (132,000 / 1,000,000) * $8.00 ≈$1.06。看似很便宜别急。这只是单一任务。如果你再加一个“自动归档GitHub Issue”的任务同样每天触发成本翻倍。再加一个“分析Google Analytics数据并生成周报”的任务……很快你的月账单就会像滚雪球一样冲向$50、$100甚至更高。更致命的是这些成本是不可预测的。某天你临时让AI批量处理100份合同账单可能瞬间飙升。这就是原文所说的“token焦虑”——你永远不知道下一笔消费会是多少。而OpenClaw的本地方案成本结构完全不同一次性硬件投入一台性能足够的Mac Mini M2 Pro32GB RAM, 1TB SSD售价约$1,999。一台ROG Ally XRyzen Z1 Extreme, 32GB LPDDR5X, 1TB SSD售价约$1,299。我们取中间值$1,600作为初始投资。持续运营成本主要是电费。一台Mac Mini满载功耗约30W一年8760小时耗电约263度。按国内商业电价0.8元/度计算年电费约**$210**约合人民币1500元。这还包括了它24小时开机、随时响应的全部开销。ROI计算假设你每月在云AI服务上的支出为$50这是一个非常保守的、只做3-4个自动化任务的估计那么$1,600的硬件投资将在$1,600 / $50 32个月即不到3年内回本。而Mac Mini的物理寿命通常在5-7年ROG Ally X作为掌机也至少有3-4年可靠服役期。这意味着在硬件生命周期的后半段你的AI自动化是零边际成本的。更重要的是这个成本是绝对可控的。你知道明天、下个月、明年你的电费账单只会在这个固定范围内浮动不会因为一次突发的批量处理而让你心惊肉跳。这个计算背后是两种截然不同的商业模式云服务卖的是“不确定性”你永远不知道用量而本地方案卖的是“确定性”你买断了能力。对于任何需要长期、稳定、可预测地使用AI自动化的人来说本地方案的经济性不是“更好”而是“唯一理性选择”。2.3 数据主权为什么“我的数据”必须长在“我的硬盘”上云AI服务最大的隐性成本不是钱而是信任。当你把一封包含客户详细预算的邮件、一张家庭成员的健康检查报告PDF、或是公司内部未公开的产品路线图粘贴进一个网页聊天框时你实际上是在做一件非常严肃的事授予一家商业公司对你最私密数据的永久性、不可撤销的访问权。即使他们承诺“数据不用于训练”但“不用于训练”不等于“不存储”、“不审查”、“不关联”。你的数据一旦离开你的设备就进入了你无法审计、无法控制的黑箱。OpenClaw的“共享数据基底Shared Data Substrate”设计是对这一困境的精准外科手术。它强制将所有AI的记忆、知识、工作成果都以人类可读、可编辑的纯文本形式存储在你本地磁盘的~/.openclaw/workspace/目录下。这个目录里你会看到memory/里面是按日期和主题命名的Markdown文件比如2025-04-15_customer-meeting.md记录着AI从你会议录音中提取的关键结论和待办事项。skills/存放着你安装的所有“技能”Skills每个技能都是一个独立的Python模块其源码完全可见、可修改。你可以清楚地看到send-email-skill.py里调用了哪个SMTP服务器、用了什么认证方式。databases/存放着SQLite数据库文件比如contacts.db、expenses.db。你可以随时用sqlite3 contacts.db .dump命令导出全部内容用任何文本编辑器打开查看甚至用DB Browser for SQLite图形化工具进行增删改查。这种设计带来的好处是颠覆性的可审计性Auditability你想知道AI是怎么记住你老板的偏好的直接打开memory/2025-04-10_boss-preferences.md里面清清楚楚写着“张总拒绝所有带‘赋能’、‘抓手’、‘颗粒度’的PPT标题偏好用‘效果’、‘步骤’、‘数字’替代。”可修正性Correctability如果AI记错了比如把“王经理”错记成“李经理”你不需要给客服打电话也不需要写复杂的提示词去“纠正它”你只需要双击那个Markdown文件手动改过来保存。下次它再读取记忆时自然就读到正确的版本。可迁移性Migratability你想换一台新电脑只需把整个~/.openclaw/workspace/目录打包拷贝过去运行openclaw init你的数字协作者就带着它全部的记忆和技能完美复刻到新机器上。没有账号、没有绑定、没有所谓的“云同步失败”。这不再是“把数据交给平台托管”而是“把平台建在你的数据之上”。数据主权从来不是一个抽象概念它就体现在你能否在三秒钟内用cat ~/.openclaw/memory/2025-04-15_secret-project.md命令亲眼看到AI对你最机密项目的全部理解。3. 实操部署与核心环节详解从零开始驯服你的本地AI协作者3.1 环境准备硬件、系统与基础依赖部署OpenClaw第一步不是下载代码而是审视你的“数字家园”。它不是一个轻量级App而是一个需要扎根于你操作系统深处的“数字生命体”。因此环境准备是成败的关键。硬件选型不是越贵越好而是恰到好处Mac用户强烈推荐Mac Mini M2 Pro16GB统一内存起步32GB为佳。M2系列芯片的神经引擎Neural Engine对llama.cpp等本地推理框架有原生加速支持能显著提升gpt-oss:120b这类大模型的推理速度。避免使用M1/M2 Air其散热和持续负载能力不足长时间运行会导致严重降频。如果你已有MacBook Pro确保其内存≥16GB否则在加载大模型时会频繁触发内存交换swap导致卡顿。Windows/Linux用户ROG Ally X是目前最均衡的选择。其Ryzen Z1 Extreme处理器集成了强大的RDNA 3核显配合ROCmAMD的GPU计算平台支持能高效运行量化后的Llama模型。如果你有台式机一块NVIDIA RTX 409024GB VRAM是终极之选但要注意其功耗450W和散热需求。切记不要用集成显卡iGPU或老款MX系列独显它们缺乏必要的CUDA核心或显存带宽运行大模型会慢如蜗牛。最低底线无论什么平台物理内存RAM必须≥16GB可用磁盘空间≥200GB。gpt-oss:120b的GGUF量化模型文件本身约60GB加上Ollama缓存、Workspace数据、日志文件200GB是安全的起始线。系统与基础依赖干净、现代、无干扰操作系统macOS Sonoma (14.5) 或 Windows 11 22H2。Linux用户请使用Ubuntu 22.04 LTS或更新版本。严禁在老旧系统如macOS Catalina, Windows 10上尝试它们缺少对现代Python包、Ollama和系统级API如AppleScript自动化的完整支持。核心依赖安装Homebrew (macOS/Linux) 或 Chocolatey (Windows)这是管理命令行工具的基石。在终端中运行/bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)macOS或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))Windows。Ollama这是运行本地大模型的“发动机”。官网下载安装包即可或用Homebrewbrew install ollama。安装后务必运行ollama serve并在浏览器访问http://localhost:11434确认Web UI能正常打开这是验证Ollama核心服务是否健康的金标准。Python 3.11OpenClaw基于Python构建。用pyenv管理版本最佳pyenv install 3.11.9 pyenv global 3.11.9避免污染系统Python。验证python --version应输出3.11.9。关键CLI工具gog用于安全访问Gmail、icalBuddymacOS日历、playwright浏览器自动化、pdfplumberPDF解析。全部通过pip安装pip install gog icalbuddy playwright pdfplumber。安装playwright后必须运行playwright install chromium下载浏览器二进制文件。注意在安装任何依赖前先运行xcode-select --installmacOS或winget install Microsoft.VCRedist.2015.x64Windows确保系统级编译工具链完备。很多“安装失败”的报错根源都在这里。3.2 OpenClaw核心配置从config.yaml开始定制你的数字分身OpenClaw的灵魂藏在它主目录下的config.yaml文件里。这不是一个可以跳过的配置项而是你与AI协作者建立“契约”的第一步。一个草率的默认配置会让你的AI要么寸步难行要么变成一个危险的“失控幽灵”。config.yaml核心区块详解与实操建议# 1. 模型配置你的AI的“大脑” model: # 必须指定一个已在Ollama中拉取的模型名 name: gpt-oss:120b # 这是主力模型处理复杂推理 # 可选为不同任务指定不同模型实现“脑力分流” fallback_models: - name: gpt-oss:20b # 用于快速响应、简单查询 - name: phi3:mini # 用于代码生成、语法检查 # 2. 网络与安全你的AI的“防火墙” network: # 这是生死线绝对禁止暴露到公网 bind_address: 127.0.0.1 # 只允许本机访问 port: 18789 # 默认端口可自定义但需全局一致 # 启用HTTPS防止本地网络嗅探即使在家用WiFi也推荐 https: enabled: true cert_path: /Users/yourname/.openclaw/certs/fullchain.pem key_path: /Users/yourname/.openclaw/certs/privkey.pem # 3. 工作区与数据你的AI的“记忆宫殿” workspace: # 这是它所有记忆、技能、数据库的根目录必须是你有完全读写权限的路径 root: /Users/yourname/.openclaw/workspace # 强烈建议开启自动备份防止误操作 backup: enabled: true interval_hours: 24 max_backups: 7 # 4. 权限与沙箱你的AI的“行为边界” permissions: # 这是“自我修复优势”的双刃剑必须精细控制 system_access: # 允许执行shell命令但必须白名单化 shell_commands: allowed: [ls, cat, mkdir, mv, cp, rm, sqlite3, curl] denied: [rm -rf, dd, mkfs, shutdown, reboot] # 禁用所有危险命令 # 浏览器控制权限仅允许访问特定域名 browser: allowed_domains: [localhost, 127.0.0.1, your-company-intranet.com] denied_domains: [*] # 默认禁止所有外网访问实操心得配置即安全安全即配置bind_address是红线我见过太多人因为图省事保留了默认的0.0.0.0结果在路由器后台发现自己的OpenClaw端口被映射到了公网短短几小时内就被扫描到并尝试注入恶意指令。第一次启动前必须把bind_address改成127.0.0.1这是铁律。shell_commands白名单是艺术不要一股脑把所有命令都放进去。从最基础的ls,cat开始每增加一个命令比如sqlite3就问自己“这个命令是否绝对必要它是否可能被恶意Skill滥用” 我的实践是先用denied列表封死所有高危命令然后在实际使用中遇到“权限不足”错误时再精确地将所需命令加入allowed列表。这是一种渐进式、防御性的授权。HTTPS证书生成虽然本地使用但启用HTTPS能有效防止ARP欺骗等局域网攻击。用mkcert工具最方便brew install mkcert mkcert -install mkcert localhost 127.0.0.1生成的证书文件会自动放在当前目录按config.yaml中的路径移动过去即可。3.3 技能Skills开发与集成赋予AI“手”和“脚”如果说模型是AI的“大脑”那么技能Skills就是它的“手”和“脚”。OpenClaw的强大90%体现在它丰富、可扩展的技能生态上。但正如原文警告的“ClawHub是Wild West”盲目安装第三方Skill是最大的安全隐患。因此掌握如何安全、高效地开发和集成Skill是成为“负责任的操作员”的必修课。开发一个安全的Skill以“自动归档邮件附件”为例这个Skill的目标是当AI检测到你Gmail收件箱里有一封来自financecompany.com、主题含“Invoice”的邮件时自动下载其所有PDF附件并按发票日期归档到~/Documents/Invoices/2025/04/目录。创建Skill目录结构mkdir -p ~/.openclaw/workspace/skills/email-invoice-archiver/ touch ~/.openclaw/workspace/skills/email-invoice-archiver/__init__.py touch ~/.openclaw/workspace/skills/email-invoice-archiver/main.py编写main.py核心逻辑安全第一import os import re import logging from pathlib import Path from email.mime.multipart import MIMEMultipart from email.mime.base import MIMEBase from email import encoders # 安全沙箱所有文件操作必须限定在此根目录下 ARCHIVE_ROOT Path.home() / Documents / Invoices ARCHIVE_ROOT.mkdir(exist_okTrue) def safe_extract_invoice_date(filename): 从PDF文件名或内容中安全提取日期避免任意代码执行 # 仅从文件名匹配 YYYY-MM-DD 或 YYYYMMDD 格式 date_pattern r(\d{4})[-_]?(\d{2})[-_]?(\d{2}) match re.search(date_pattern, filename) if match: return f{match.group(1)}-{match.group(2)}-{match.group(3)} return None def execute(email_data: dict) - str: Skill主入口函数。email_data由OpenClaw框架传入包含邮件元数据。 此函数必须返回一个字符串作为执行结果反馈给用户。 try: # 1. 验证发件人和主题这是第一道过滤网 if not email_data.get(from, ).endswith(company.com) or \ Invoice not in email_data.get(subject, ): return 跳过非财务部门发票邮件 # 2. 遍历所有附件 for attachment in email_data.get(attachments, []): if not attachment[filename].lower().endswith(.pdf): continue # 3. 安全提取日期 invoice_date safe_extract_invoice_date(attachment[filename]) if not invoice_date: # 如果文件名没日期尝试用pdfplumber解析第一页此处省略具体解析代码 # 关键解析逻辑必须在try/except内且超时严格限制 invoice_date 2025-04-01 # 默认日期避免None # 4. 构建安全的归档路径 archive_path ARCHIVE_ROOT / invoice_date[:4] / invoice_date[5:7] archive_path.mkdir(parentsTrue, exist_okTrue) # 5. 写入文件路径必须经过Path.resolve()校验防止../路径遍历 final_path (archive_path / attachment[filename]).resolve() # 再次校验final_path必须在ARCHIVE_ROOT之下 if not str(final_path).startswith(str(ARCHIVE_ROOT)): raise ValueError(f路径遍历风险{final_path}) with open(final_path, wb) as f: f.write(attachment[content]) return f成功归档 {len(email_data.get(attachments, []))} 个发票附件 except Exception as e: logging.error(f归档技能执行失败: {e}) return f归档失败: {str(e)} # 这个函数是OpenClaw调用Skill的约定入口 def get_skill(): return { name: email-invoice-archiver, description: 自动归档来自财务部门的发票PDF附件, execute: execute, trigger: on_email_received # 告诉OpenClaw此Skill在收到新邮件时触发 }在config.yaml中注册Skillskills: - path: /Users/yourname/.openclaw/workspace/skills/email-invoice-archiver enabled: true # 为这个Skill单独设置更严格的沙箱 sandbox: filesystem: read_only: false allowed_paths: [/Users/yourname/Documents/Invoices/] network: allowed: false # 此Skill无需联网集成第三方Skill的“三不原则”不盲信绝不直接从ClawHub Marketplace安装未经审核的Skill。先把它下载到本地用tree命令查看其目录结构确认没有__pycache__、node_modules等可疑目录。不直装绝不使用openclaw skill install url命令。必须手动下载ZIP解压到workspace/skills/下然后手动编辑config.yaml进行注册。不放权安装后立即检查其config.yaml中的sandbox配置。如果它没有明确声明filesystem.read_only: true或network.allowed: false你必须手动添加。这是你作为操作员的最终防线。4. 常见问题与排查技巧实录那些文档里不会写的“血泪教训”4.1 “模型加载失败CUDA out of memory” —— 显存不够的终极解决方案这是Windows/Linux用户部署gpt-oss:120b时最常遇到的“拦路虎”。错误信息冰冷但原因清晰你的GPU显存VRAM不足以容纳这个庞然大物。别慌这不是硬件不行而是配置没到位。排查与解决全流程确认显存瓶颈首先不要猜。在终端运行nvidia-smiNVIDIA或rocm-smiAMD看“Memory-Usage”一栏。如果显示12000MiB / 24576MiB说明显存确实满了。量化Quantization是唯一正解gpt-oss:120b原始模型是FP16精度占用显存巨大。我们必须用llama.cpp的量化工具将其压缩。这不是降低智商而是用更聪明的数学方法“瘦身”。在Ollama中gpt-oss:120b默认是Q4_K_M量化约60GB这已经是平衡了速度和精度的最优选。如果你的显存只有12GB你需要更激进的Q3_K_M约45GB或Q2_K约35GB。实操命令ollama run llama3:70b-q3_K_M是一个更小的模型但如果你坚持用120b可以尝试ollama run gpt-oss:120b-q3_K_M如果社区提供了这个tag。如果没有你需要自己用llama.cpp的quantize工具但这需要编译对新手不友好。我的建议是直接选用社区已验证的、量化好的模型tag这是最稳妥的路。CPU卸载CPU Offloading作为保底方案如果连Q2_K都跑不动那就启用CPU卸载。在config.yaml中添加model: name: gpt-oss:120b-q2_K # 启用CPU卸载将部分层放到内存中运行 offload_layers: 20 # 数字越大卸载越多速度越慢但能跑起来这会让推理速度下降50%但至少能保证功能可用。记住能用永远比“快但不能用”重要。实操心得我曾在一个RTX 308010GB VRAM上折腾了整整两天试图让gpt-oss:120b全速运行最后发现换成gpt-oss:20b-q4_K_M后综合体验速度稳定性功能反而更好。AI不是越大越好而是“刚刚好”最好。选择模型就像选鞋合脚比牌子重要。4.2 “Skill执行了但没效果” —— 权限、路径与上下文的三重迷雾你精心写了一个Skill让它把某个文件夹里的所有.txt文件重命名为.md重启OpenClaw满怀期待……结果啥也没发生。日志里只有一行INFO: Skill rename-txt executed successfully。这种“静默失败”最折磨人。系统性排查清单按优先级排序排查项如何验证解决方案1. 文件系统权限在终端执行ls -la ~/target-folder/看你的用户是否有rwx权限chmod -R urwx ~/target-folder/。注意不要用sudo chown -R youruser:staff ~/target-folder/这会破坏macOS的系统完整性保护SIP。2. Skill沙箱路径白名单检查config.yaml中该Skill的sandbox.filesystem.allowed_paths是否包含了~/target-folder/的绝对路径将allowed_paths改为[/Users/yourname/target-folder/]。绝对路径是铁律~符号在这里不生效。3. OpenClaw工作目录上下文Skill代码里用的相对路径如./files/是相对于openclaw命令的执行目录而非Skill文件所在目录永远使用绝对路径。在Skill代码开头用import os; SCRIPT_DIR os.path.dirname(os.path.abspath(__file__))获取Skill自身目录再构建路径。4. 日志级别太低默认日志可能只记录ERROR看不到DEBUG信息在config.yaml中添加logging: level: DEBUG然后重启查看~/.openclaw/logs/openclaw.log里面会有每一行代码的执行痕迹。一个真实案例我写了一个Skill目标是读取~/Documents/config.json并更新其中的version字段。测试时一直失败。DEBUG日志显示FileNotFoundError: config.json。排查了1小时最后发现我在终端里是用cd ~/Projects/openclaw ./openclaw start启动的所以Skill代码里写的open(config.json)其实是去找~/Projects/openclaw/config.json而不是~/Documents/config.json。解决方案在代码里写死with open(/Users/yourname/Documents/config.json) as f:。永远不要相信相对路径尤其是在一个跨进程、跨用户的系统里。4.3 “AI开始胡言乱语/执行错误命令” —— 提示词Prompt工程的实战避坑当你的AI开始把“删除临时文件”理解成“删除整个/Users目录”或者把“给张总发邮件”理解成“给CEO发一封包含公司机密的邮件”这不是模型坏了而是你的提示词System Prompt没写好。这是本地AI最危险、也最容易被忽视的环节。构建坚不可摧的System Prompt的四大支柱角色锚定Role Anchoring开篇第一句就必须用最强硬的语气定义它的身份和边界。“你是一个名为OpenClaw的本地AI协作者运行在我的个人Mac电脑上。你的唯一使命是安全、准确、高效地执行我明确下达的、符合我本地系统权限的指令。你没有互联网访问权限不能连接任何外部API不能执行任何可能损害我数据或系统的操作。你的所有知识都来自我提供给你的上下文以及你本地加载的模型。”能力约束Capability Constraint明确告诉它“你能做什么”和“你不能做什么”用最直白的语言。“你能执行的命令仅限于以下列表ls,cat,mkdir,mv,cp,rm仅限于/Users/yourname/Downloads/和/Users/yourname/Documents/目录下sqlite3仅限于/Users/yourname/.openclaw/workspace/databases/目录下的数据库。你不能执行rm -rf、dd、format、shutdown、reboot、curl除非我特别要求且提供完整URL等任何高危命令。”输出格式契约Output Format Contract强制它用结构化、可解析的格式输出避免自由发挥。“你所有的响应必须严格遵循以下JSON Schema格式{status: success|error, action: executed|skipped|failed, command: the exact command you ran, output: the raw stdout/stderr output}。绝不允许输出任何额外

相关新闻