OpenClaw本地AI Agent实战:轻量服务器+三端执行层部署指南
1. 项目概述这不是一个“玩具级”Agent而是一套可落地的本地化智能体工作流OpenClaw这个名字最近在开发者圈子里突然热起来但很多人点开GitHub仓库第一眼看到“Claw”就下意识以为是某种爬虫工具或者联想到“抓取”“控制”这类偏底层的操作——其实完全想反了。OpenClaw本质上是一个面向终端用户的轻量级AI Agent框架它的核心设计哲学很朴素不追求大模型原生推理而是把“规划-调用-反馈”这个闭环做薄、做稳、做透明。它不像Cursor或GitHub Copilot那样深度耦合IDE也不像LangChain那样抽象出十几层接口它更像一个你放在桌面上的智能小助手能听懂你用自然语言说的“把上周五的销售数据导出成PDF发给张经理”然后自动打开Excel、筛选时间、调用邮件客户端完成发送——整个过程你全程可见、可中断、可复盘。我从去年底开始在三个不同环境里反复部署和压测OpenClaw一台M2 MacBook PromacOS Sonoma、一台搭载i5-10400的国产信创台式机统信UOS 23.0内核5.10、还有一台新配的Windows 11专业版笔记本22H2已启用WSL2。不是为了炫技而是因为真实场景里开发者的设备从来不是统一的。有人用Mac写前端有人用Linux跑数据脚本还有人必须在Windows上对接OA系统。OpenClaw的部署难点恰恰不在模型本身而在于如何让同一个Agent逻辑在三套完全异构的系统上调用本地应用、读写文件、触发系统通知时行为一致且可靠。比如macOS的displayplacer命令能精确控制多显示器窗口位置Linux下得靠xdotoolwmctrl组合拳Windows则要走PowerShell的Get-ProcessSet-ForegroundWindow。这些细节官方文档一句没提但实际跑不通Agent就只是个会说话的摆设。标题里强调“2026年零基础”不是画饼而是基于一个明确判断到2026年Qwen系列API的稳定性和中文语义理解能力将进入成熟期OpenClaw这类框架的门槛会从“会写Python”降维到“会配YAML”。阿里云轻量服务器在这里的角色很关键——它不承担推理压力只做两件事一是作为千问API的代理中转层解决国内网络环境下直接调用Qwen-Plus时偶发的TLS握手超时问题二是托管一个轻量Web UI让你在手机浏览器里也能向Agent发指令。这比在本地起一个Flask服务靠谱得多毕竟MacBook合盖休眠后本地服务就断了。而“零基础”的底线是我实测过一个刚学会用brew install装软件的设计师按本文步骤操作37分钟完成全部部署成功让Agent自动整理了她邮箱里237封客户询价邮件并生成汇总表格。所以这篇文章不讲Transformer结构不推公式只告诉你每一步敲什么命令、为什么这么敲、敲错会报什么错、怎么一眼看出来是哪块出了问题。2. 整体架构与选型逻辑为什么轻量服务器本地Agent是当前最优解2.1 架构分层把“智能”和“执行”物理隔离OpenClaw的原始设计是单机Agent所有组件LLM调用、工具调度、状态管理都在本地进程里跑。这种模式在Demo阶段很清爽但一进真实环境就露馅。我最早在Mac上直接调用千问API结果发现两个致命问题第一当Agent需要连续调用10次API处理一个复杂任务时有3次会卡在requests.post()的ConnectionTimeout上重试机制又容易触发Qwen的频控第二一旦本地网络抖动整个Agent工作流就中断之前生成的中间结果全丢。后来我把架构拆成三层执行层Local运行在你的Mac/Linux/Windows上只负责三件事监听指令、调用本地工具如open -a Excel、libreoffice --convert-to pdf、上报执行日志。它不碰网络请求内存占用常年低于80MB。协调层Lightweight Server部署在阿里云轻量服务器上本质是一个带缓存的API网关。它接收执行层发来的自然语言指令调用千问API把返回的JSON格式化后的工具调用计划Tool Call Plan再发回执行层。关键点在于它内置了指数退避重试最大3次、响应缓存5分钟内相同指令直接返回缓存、以及失败指令的持久化队列用SQLite存避免网络闪断丢任务。存储层Hybrid执行层用本地SQLite存任务历史和工具元数据协调层用轻量服务器自带的云盘存长期日志和用户配置。不引入Redis或MongoDB降低运维复杂度。这个分层不是为了炫技而是解决一个具体痛点让Agent的“大脑”和“手脚”解耦。当你的Mac正在用Final Cut Pro剪视频占满CPU时Agent的规划能力不受影响当你在高铁上WiFi断连执行层会把未完成的任务暂存在本地等网络恢复后自动续跑。我在测试中故意拔掉Mac的网线让它执行“下载GitHub Trending前10个Python项目README并摘要”结果它在离线状态下完成了下载用curl缓存联网后才把摘要请求发到服务器——整个过程用户无感知。2.2 为什么选阿里云轻量服务器而非自建VPS或直接用千问控制台很多人第一反应是“我有台旧电脑能不能当服务器用”或者“千问控制台不是有API Key吗为啥还要中转”这两个问题背后是成本、稳定性和安全性的三角权衡。先说自建VPS。我试过用家里一台N1盒子ARM642GB内存跑协调层理论上够用。但实际遇到三个硬伤第一家庭宽带没有固定IP每次重启光猫IP就变OpenClaw执行层要连服务器就得手动改配置第二N1的散热太差连续跑API网关2小时后温度飙到78℃CPU降频导致请求延迟从200ms涨到1.8s第三家庭网络上行带宽普遍只有30Mbps当多个用户同时上传大文件比如让Agent处理100页PDF上传速度直接拖垮整个局域网。轻量服务器解决了所有这些固定公网IP、SLA保障99.95%可用性、上行带宽100Mbps起步而且首年价格不到120元比买个散热硅脂还便宜。再看千问控制台直连。官方文档确实写着“一行代码调用”但生产环境必须考虑三点第一千问API的qwen-plus模型在高并发时会返回429 Too Many Requests而OpenClaw的默认重试策略是立即重试这反而加剧拥塞第二API Key硬编码在本地配置里一旦Mac丢失Key就暴露了第三千问控制台的调用日志只保留7天排查问题时经常发现“上周三下午Agent突然不工作了但日志没了”。轻量服务器作为中间层可以把Key存在环境变量里用Nginx做IP白名单限流只允许你的Mac/Laptop IP访问日志存本地定时同步到OSS查问题时翻/var/log/openclaw/就能看到完整链路。最后是技术栈选择。协调层我坚持用PythonFastAPI而不是Node.js原因很实在Qwen官方SDK是Python写的类型提示完善调试时PyCharm能直接跳转到SDK源码而Node.js的SDK文档稀烂报错信息全是TypeError: Cannot read property choices of undefined根本看不出是认证失败还是参数错。至于数据库SQLite不是“凑合”而是精准匹配需求协调层每秒最多处理3个请求用PostgreSQL是杀鸡用牛刀SQLite的WAL模式在轻负载下性能碾压MySQL而且备份就是拷贝一个.db文件运维零成本。2.3 本地执行层为何必须三端独立适配系统差异不是Bug是特性很多教程把“Mac/Linux/Windows部署”写成一个通用流程这是最大的坑。我统计过自己踩过的137个OpenClaw部署问题其中82个源于对系统特性的误判。举几个典型例子macOS的沙盒与权限从Ventura开始macOS对自动化工具AppleScript、Automator加了严格沙盒。OpenClaw用AppleScript控制Safari时默认会弹窗要求“允许辅助功能”但这个弹窗无法用命令行自动确认。解决方案是提前用tccutil reset Accessibility清空权限记录再用sudo sqlite3 /Library/Application\ Support/com.apple.TCC/TCC.db INSERT OR REPLACE INTO access VALUES(kTCCServiceAccessibility,com.openclaw.executor,0,1,1,NULL,NULL,NULL,UNUSED,NULL,0,1562301925);注入权限注意路径和Bundle ID要匹配你的Executor进程。这步漏了Agent永远卡在“正在打开浏览器”。Linux的桌面环境碎片化Ubuntu用GNOME统信UOS用DDE麒麟用UKUI。OpenClaw调用xdotool key ctrlv粘贴文本时在GNOME下正常在DDE下会变成CtrlShiftVDDE把CtrlV映射成“粘贴为纯文本”。我的解法是放弃全局快捷键改用wmctrl -a Firefox xdotool type hello先激活窗口再模拟输入绕过快捷键映射层。Windows 11的WSL2与GUI隔离很多人想在WSL2里跑OpenClaw执行层但WSL2默认没有X Server调用GUI工具如Excel会报Cannot open display。强行装VcXsrv又引发新问题WSL2的IP每次重启都变VcXsrv的防火墙规则要手动更新。最稳的方案是彻底放弃WSL2执行层改用Windows原生Python3.11用subprocess.run([C:\\Program Files\\Microsoft Office\\root\\Office16\\EXCEL.EXE, file_path])直接调用Office性能比WSL2快3倍且无显示问题。这些不是“兼容性问题”而是每个系统的设计哲学差异。OpenClaw的本地执行层必须承认并拥抱这种差异而不是强行统一。所以本文的部署流程Mac/Linux/Windows是三条独立路径每一步都标注了“为什么这步在XX系统上不可省略”。3. 核心细节解析与实操要点从环境准备到工具注册的避坑指南3.1 阿里云轻量服务器初始化5分钟搞定安全基线轻量服务器选型直接决定后续体验。我实测过三种配置1核1G够用但吃紧、2核4G推荐主力、4核8G过剩。重点不是CPU而是系统镜像和磁盘类型。必须选“Alibaba Cloud Linux 3.2104 LTS”非CentOS或Ubuntu原因有三第一内核5.10对ARM64支持更好未来迁移到ECS ARM实例无缝第二预装了aliyun-cli方便后续用CLI管理第三安全加固模块AliSec默认开启比手动配iptables省心。磁盘选ESSD Entry不要PL1因为协调层要频繁读写SQLitePL1的IOPS波动会导致API延迟毛刺。初始化步骤严格按顺序来跳过任何一步都可能埋雷创建实例后立刻修改root密码在控制台“更多 密码管理”里设置强密码12位含大小写字母数字符号别用密钥对——密钥对在Mac上好用但在Windows上用PuTTY连会遇到OpenSSH版本兼容问题。安全组规则精简到极致只开三个端口——22SSH、8000FastAPI默认、443后续配Nginx反代用。删掉所有“全部端口”或“0.0.0.0/0”的宽泛规则。很多人图省事留着默认规则结果第二天发现服务器被扫出挖矿木马。禁用密码登录强制密钥认证这是最关键的一步。先在本地Mac生成密钥对ssh-keygen -t ed25519 -C openclaw-server -f ~/.ssh/openclaw_ed25519把公钥openclaw_ed25519.pub内容复制到服务器/root/.ssh/authorized_keys然后编辑/etc/ssh/sshd_configPasswordAuthentication no PubkeyAuthentication yes PermitRootLogin yes重启SSHsystemctl restart sshd。此时再用密码连会拒绝必须用ssh -i ~/.ssh/openclaw_ed25519 rootyour-server-ip。这步防的是暴力破解我监控过新购轻量服务器24小时内平均遭遇173次SSH爆破。安装基础依赖Alibaba Cloud Linux 3默认没装python3-pip要先dnf update -y dnf install python3-pip python3-devel gcc -y。特别注意gcc必须装因为后续要编译pysqlite3SQLite3的Python绑定比系统自带的3.7.17版本新支持WAL模式。提示所有命令必须在root权限下执行。如果习惯用普通用户记得su -切换别用sudo——轻量服务器的sudoers配置有时不标准可能导致权限错误。3.2 协调层部署FastAPI服务的健壮性配置协调层的核心是main.py但官方GitHub的示例代码直接跑会崩。我重构了服务启动逻辑重点解决三个生产环境问题热更新失效、日志混乱、内存泄漏。首先创建项目目录结构mkdir -p /opt/openclaw-coordinator/{app,logs,db} cd /opt/openclaw-coordinatorapp/main.py的关键改造点用uvicorn替代fastapi dev开发模式的热重载在服务器上不稳定uvicorn app.main:app --host 0.0.0.0 --port 8000 --workers 2 --log-level info才是生产姿势。--workers 2确保一个Worker挂了另一个还能顶上。SQLite连接池化原生sqlite3.connect()每次新建连接高并发下文件锁争抢严重。改用aiosqlite异步 连接池from aiosqlite import connect # 在app启动时初始化连接池 async def init_db(): db await connect(/opt/openclaw-coordinator/db/coordinator.db) await db.execute(CREATE TABLE IF NOT EXISTS tasks (id TEXT PRIMARY KEY, status TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP)) await db.commit() return db千问API调用封装不直接用requests.post()而是用httpx.AsyncClient并配置超时async def call_qwen_api(prompt: str) - dict: timeout httpx.Timeout(30.0, connect10.0, read20.0) async with httpx.AsyncClient(timeouttimeout) as client: try: response await client.post( https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation, headers{Authorization: fBearer {QWEN_API_KEY}}, json{model: qwen-plus, input: {messages: [{role: user, content: prompt}]}}, ) response.raise_for_status() return response.json() except httpx.HTTPStatusError as e: logger.error(fQwen API error: {e.response.status_code} - {e.response.text}) raise部署完后用systemctl托管服务确保开机自启# 创建service文件 cat /etc/systemd/system/openclaw-coordinator.service EOF [Unit] DescriptionOpenClaw Coordinator Service Afternetwork.target [Service] Typesimple Userroot WorkingDirectory/opt/openclaw-coordinator ExecStart/usr/bin/uvicorn app.main:app --host 0.0.0.0 --port 8000 --workers 2 --log-level info Restartalways RestartSec10 StandardOutputjournal StandardErrorjournal [Install] WantedBymulti-user.target EOF systemctl daemon-reload systemctl enable openclaw-coordinator systemctl start openclaw-coordinator验证服务是否健康# 检查状态 systemctl status openclaw-coordinator # 查看实时日志 journalctl -u openclaw-coordinator -f # 用curl测试API替换your-server-ip curl -X POST http://your-server-ip:8000/v1/plan \ -H Content-Type: application/json \ -d {prompt:列出今天待办事项}注意首次调用会慢约8秒因为Qwen模型要冷启动。后续请求稳定在1.2~2.5秒。如果超过5秒检查journalctl里是否有SSL handshake timeout大概率是轻量服务器的安全组没开443端口Qwen API走HTTPS。3.3 本地执行层三端部署Mac/Linux/Windows的差异化实操Mac macOS Sonoma14.x部署要点Mac的痛点是权限和路径。OpenClaw执行层必须用brew安装的Python非系统Python否则pyobjc调用AppleScript的库会编译失败。安装Homebrew和Python# 安装Homebrew如果没装 /bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh) # 安装Python 3.11必须3.11因pyobjc 10.2要求 brew install python3.11 # 创建软链接让pip指向正确版本 sudo ln -sf /opt/homebrew/bin/python3.11 /usr/local/bin/python3安装核心依赖pip3 install openclaw-executor pyobjc-applescript pyobjc-framework-Automator关键是pyobjc-applescript它比pyobjc基础包多了AppleScript桥接能让Python直接执行osascript -e tell app Safari to activate。配置系统权限打开“系统设置 隐私与安全性 辅助功能”点击左下角锁图标解锁然后拖拽/opt/homebrew/bin/python3.11到列表中。同样在“完全磁盘访问”里添加python3.11否则无法读写~/Downloads目录。测试AppleScript调用osascript -e display notification OpenClaw测试成功 with title Agent就绪如果弹出通知说明权限配置正确。否则回到上一步检查。Linux统信UOS 23.0部署要点Linux的坑在桌面环境和包管理。UOS用的是apt但源是闭源的必须换源才能装xdotool。换源并更新# 备份原源 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak # 编辑源文件替换为清华源UOS 23.0对应Debian 11 sudo sed -i s|http://mirrors.uniontech.com|https://mirrors.tuna.tsinghua.edu.cn/uniontech-os|g /etc/apt/sources.list sudo apt update安装X11工具链sudo apt install xdotool wmctrl libnotify-bin -y # 测试窗口激活 wmctrl -l | grep -i firefox wmctrl -a Firefox || echo Firefox未运行解决DDE桌面环境的粘贴问题UOS的DDE把CtrlV映射成“粘贴为纯文本”导致Agent粘贴代码时格式丢失。临时方案是改用CtrlShiftV# 在OpenClaw配置里指定粘贴快捷键 echo paste_key: ctrlshiftv ~/.openclaw/config.yamlWindows 1122H2部署要点Windows的致命伤是PowerShell执行策略。默认Restricted策略会阻止OpenClaw执行任何脚本。提升PowerShell执行策略# 以管理员身份运行PowerShell Set-ExecutionPolicy RemoteSigned -Scope CurrentUser # 验证 Get-ExecutionPolicy -List输出应为CurrentUser: RemoteSigned。别用Bypass那等于关掉所有安全防护。安装Python和依赖从python.org下载Python 3.11.9必须x64ARM64版在Win11上不兼容某些DLL。安装时勾选“Add Python to PATH”。命令行执行pip install openclaw-executor pywin32配置Windows Defender排除项OpenClaw执行层会频繁创建临时文件Defender可能误杀。在“Windows安全中心 病毒和威胁防护 管理设置 添加或删除排除项”里添加C:\Users\YourName\.openclaw\C:\Users\YourName\AppData\Local\Temp\openclaw_*.tmp测试Excel调用# PowerShell里执行 $excel New-Object -ComObject Excel.Application $excel.Visible $true $excel.Quit()如果弹出Excel窗口再关闭说明COM接口正常。4. 实操过程与核心环节实现从API Key配置到首个Agent任务跑通4.1 千问API Key配置安全与可用性的双重保障千问API Key不是简单填进配置文件就完事。我见过太多人把Key硬编码在config.yaml里结果Git提交时泄露当天就被盗刷了2万Token。正确的做法是环境变量 权限隔离。在阿里云轻量服务器上# 创建专用用户不给shell权限 useradd -r -s /sbin/nologin openclaw # 把协调层代码放到该用户目录 chown -R openclaw:openclaw /opt/openclaw-coordinator # 创建环境变量文件只有openclaw用户可读 cat /opt/openclaw-coordinator/.env EOF QWEN_API_KEYsk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx QWEN_MODELqwen-plus EOF chmod 600 /opt/openclaw-coordinator/.env chown openclaw:openclaw /opt/openclaw-coordinator/.env修改systemd服务文件加载环境变量# 编辑service文件 sudo systemctl edit openclaw-coordinator # 输入以下内容 [Service] EnvironmentFile/opt/openclaw-coordinator/.env在本地执行层Mac/Linux/WindowsKey绝对不能存本地。我的方案是协调层返回的每个任务响应里都附带一个短期有效的JWT Token执行层用这个Token向协调层请求工具调用凭证。这样即使执行层被黑攻击者也拿不到原始Key。具体实现协调层在/v1/plan接口返回时增加token字段{ plan: [ { tool: send_email, args: {to: zhangcompany.com, subject: 销售汇总} } ], token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.xxxxx }执行层拿到Token后用它请求/v1/tool-credential?toolsend_email协调层校验Token有效期2小时和权限范围返回加密的邮箱密码AES-256-CBC密钥存在服务器内存里不落盘。实操心得第一次配置时务必用千问控制台的“API Key管理”页生成新Key并勾选“仅限调用qwen-plus模型”。别用主账户Key也别开“所有模型”权限——最小权限原则是安全底线。4.2 OpenClaw执行层配置详解YAML里的魔鬼细节OpenClaw执行层的config.yaml看着简单但每个字段都影响稳定性。以下是我在三端实测后确定的黄金配置# ~/.openclaw/config.yaml server_url: http://your-server-ip:8000 # 必须用IP不用域名避免DNS解析失败 poll_interval: 3000 # 毫秒轮询间隔。Mac设3000Linux设2000DDE响应快Windows设5000PowerShell启动慢 tools: - name: send_email path: /usr/bin/mail # Mac/Linux用mail命令 args: [-s, {subject}, {to}] input_type: text # 输入是纯文本 - name: open_excel path: open # Mac用open命令 args: [-a, Microsoft Excel, {file_path}] input_type: file - name: run_powershell path: powershell.exe # Windows专用 args: [-Command, {Write-Host Hello from OpenClaw}] input_type: text logging: level: INFO file: /Users/yourname/.openclaw/logs/executor.log # Mac路径示例关键字段解析poll_interval不是越小越好。设成1000msMac上会触发Too many open files错误系统限制每进程64个socket。3000ms是平衡点既保证响应及时又不压垮系统。tools.path必须用绝对路径。Mac上which mail返回/usr/bin/mail但/usr/bin在SIP保护下执行层要用/bin/mailSIP允许的路径。Linux上which libreoffice可能是/usr/bin/libreoffice但UOS里是/opt/apps/org.libreoffice.LibreOffice/files/libreoffice/program/soffice.bin必须实测。tools.args大括号{xxx}是占位符会被执行层动态替换。注意Windows的PowerShell参数要加-Command否则符号会被CMD解析错误。配置完后启动执行层# Mac/Linux openclaw-executor --config ~/.openclaw/config.yaml # Windows管理员CMD openclaw-executor.exe --config C:\Users\YourName\.openclaw\config.yaml首次启动会输出[INFO] Executor started. Polling server at http://your-server-ip:8000 every 3000ms [INFO] Registered tools: send_email, open_excel, run_powershell4.3 首个Agent任务实战从指令到结果的全链路追踪我们来跑一个真实任务“把桌面上的sales_q3.xlsx文件用Excel打开筛选出‘销售额’大于10000的行另存为sales_q3_filtered.xlsx然后发邮件给zhangcompany.com主题是‘Q3销售筛选结果’”。在协调层发起指令curl -X POST http://your-server-ip:8000/v1/plan \ -H Content-Type: application/json \ -d {prompt:处理桌面上的sales_q3.xlsx筛选销售额10000另存为sales_q3_filtered.xlsx邮件发给zhangcompany.com主题Q3销售筛选结果}协调层返回Plan简化版{ plan: [ { tool: open_excel, args: {file_path: /Users/yourname/Desktop/sales_q3.xlsx} }, { tool: run_applescript, args: {script: tell application \Microsoft Excel\ to activate\n...} // 真实脚本更长 }, { tool: send_email, args: {to: zhangcompany.com, subject: Q3销售筛选结果, body: 附件是筛选结果} } ], token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.xxxxx }执行层日志关键片段[INFO] Received plan with 3 steps [DEBUG] Step 1: Running tool open_excel with args {file_path: /Users/yourname/Desktop/sales_q3.xlsx} [INFO] Launched Excel, PID: 12345 [DEBUG] Step 2: Running AppleScript to filter data... [INFO] Filter completed, saved as /Users/yourname/Desktop/sales_q3_filtered.xlsx [DEBUG] Step 3: Requesting email credential with token... [INFO] Got encrypted password, sending email... [SUCCESS] Task completed in 42.3s验证结果桌面出现sales_q3_filtered.xlsx用Excel打开确认筛选正确。查收zhangcompany.com邮箱确认收到邮件及附件。登录轻量服务器tail -f /opt/openclaw-coordinator/logs/coordinator.log看到类似INFO: 123.45.67.89:12345 - POST /v1/plan HTTP/1.1 200 OK INFO: Task 20240520-001 completed, 3 tools executed实操心得第一次跑不通90%的问题出在路径。Mac上~/Desktop在Python里是/Users/yourname/Desktop但AppleScript里必须用POSIX路径。我的经验是所有路径在执行层代码里统一用os.path.expanduser(~/Desktop)然后传给AppleScript时再用shlex.quote()转义空格。5. 常见问题与排查技巧实录那些官方文档不会告诉你的真相5.1 典型问题速查表问题现象根本原因排查命令解决方案执行层启动报错ModuleNotFoundError: No module named pyobjcHomebrew Python和系统Python混用which python3 python3 -c import sys; print(sys.executable)用brew install python3.11重装删掉/usr/local/bin/python3软链接协调层API返回502 Bad GatewayNginx未安装或配置错误systemctl status nginx轻量服务器上dnf install nginx -y配置/etc/nginx/conf.d/openclaw.conf反代8000端口Agent调用Excel后无响应macOS权限未授予Exceltccutil list com.microsoft.Exceltccutil reset ScreenCapture tccutil reset Accessibility重启MacLinux下xdotool key ctrlv无效DDE桌面环境重映射了快捷键gsettings get org.deepin.dde.keybinding.media paste改用xdotool type pasted text绕过快捷键Windows上PowerShell执行New-Object -ComObject Excel.Application报错Excel未安装或32/64位不匹配Get-ItemProperty HKLM:\\Software\\Microsoft\\Office\\ClickToRun\\Configuration安装Microsoft 365 Apps for enterprise64位卸载32位Office5.2 独家避坑技巧来自37次重装的血泪总结Mac的Spotlight索引干扰当Agent调用open -a Microsoft Excel时如果Spotlight正在重建索引会卡住10秒以上。解决方案是临时禁用Spotlightsudo mdutil -a -i off执行完Agent任务再sudo mdutil -a -i on。别担心索引重建只影响搜索不影响文件读写。Linux的/tmp自动清理UOS默认每天清空/tmp而OpenClaw执行层会把临时脚本存这里。结果半夜任务失败。我的解法是改用/var/tmp/openclaw永久保存并在config.yaml里指定temp_dir: /var/tmp/openclaw然后sudo mkdir -p /var/tmp/openclaw sudo chmod 755 /var/tmp/openclaw。Windows的PowerShell执行策略回滚如果设成RemoteSigned后某天公司组策略强制改成AllSignedOpenClaw就彻底瘫痪。预防措施是在C:\Users\YourName\.openclaw\下放一个fix-policy.ps1脚

相关新闻