早上坐到工位,才想起昨天那份表格还在家里的机器上。这种时候以前只有两条路,开远程桌面自己点,或者等晚上回去。
热榜上那篇 OpenClaw 的实测文我看了两遍。它换掉的是这条路。在 Windows 上装一个网关,把飞书、钉钉、Telegram 这些入口接进来,模型听懂你那句话,网关在本机上真的动手。装 Node 22 和 Git,跑一条 iwr -useb https://openclaw.ai/install.ps1 | iex,选一个 OpenAI 兼容的供应商把 base url 和 key 填上,再接远程访问,手机发一句话,家里那台电脑就开始干活。
那篇文把部署讲了很细,截图一步一步都有。它没花多少篇幅讲另一件事。一个能执行命令、能改文件、能装软件的东西挂在自己机器上,边界划在哪里。
我装好之后先把它能碰什么写清楚,然后才让它干活。
一、先分级,默认全部拒绝
网关拿到一句话之后,最后落到本机的是动作。动作可以粗分成五档,只读文件、写入文件、执行命令、装软件或改系统设置、动网络与端口。分级的意义在于给每一档配不同的门槛。
只读这一档可以放开。读目录、看文件、查进程,误操作也就多看一眼,代价可控。写入这一档开始要限定目录,比如只允许 D:\work 和桌面这两个位置,别的地方一律拒绝。执行命令这一档必须逐条判断,不能因为有白名单就整片放开。后面两档我直接关掉了,装软件和改系统设置交给人工。
默认拒绝这四个字要落到代码里。工具列表里没有的东西,模型说一百遍也没有用。OpenClaw 那类网关的好处是工具本身可配,坏处是默认给得比较宽,装完先去配置里把用不上的能力删掉,比事后补监控便宜得多。
二、危险动作靠目录和参数挡,不靠关键词
见过最多的写法是一张黑名单,rm -rf、format、del /f /s /q、shutdown、注册表路径。这张表只能挡住最省事的写法。绕过的方法和写代码一样多,改个大小写,拼一个变量,换成 shutil.rmtree,或者干脆写个循环删。
可靠的挡法在参数这一层。工作目录白名单加路径校验,任何路径先解析成绝对路径、消掉 ..、再判断是不是落在允许的目录里。命令本身用允许列表,只放你确认过的那几个,git status、python script.py、dir。参数里带 |、>、&&、$( ) 的一律先拦下来,让它重说一遍。这几条加起来并不复杂,工作量在一百行以内,挡住的是绝大多数手滑。
删除类操作单独走一条路。先在临时目录里模拟一遍,把准备删除的清单列出来,条目数和总量超过阈值就停下来要人确认。这个阈值我设的是二十个文件或者两百兆。
三、每件事都要留痕,能撤的留快照
我自己用的时候最想要的是事后能查。所以网关每次动手都记一条,入口、发起人、模型给的原始参数、最终执行的命令、退出码和输出、起止时间。这些落在本地的 SQLite 里就够,量很小,一条几 KB。
能回滚的动作提前留快照。改文件之前复制一份到 %LOCALAPPDATA%\agent-backup\日期 下面,保留七天。写数据库这类不好回滚的,一律走确认卡片,把要动的表、要改的行数、样例数据摆出来,人点了同意再执行。
有一个细节容易漏。跟人确认的界面要写清楚具体动作,别只放一个「确定」。卡片上写「删除 work\old 下 32 个文件,共 1.2 GB」,比写「确认删除吗」有用得多,人也真的会看。
四、断线、超时和没人看的那几个小时
把电脑当节点用,绕不开这件事。消息发出去,人已经在开会,任务那边卡住了,谁去收尾。
我的做法是任务和对话分开。每条指令落一条任务记录,状态是排队、执行中、完成、失败、等确认,超时的任务不会因为聊天窗口关掉就消失。执行中的任务每两分钟往会话里推一条进度,跑完再推结果加一句摘要。超过十分钟没有进展就标成疑似卡住,让人重新决定继续还是取消。
远程这一侧的权限比本机更严。手机端只给只读和「准备」两类动作,真正落地执行要回到本机上确认,或者走一个带时效的一次性口令。家里那台机器上跑着的东西,被别人捡到手机就等于捡到一台开着的电脑。
五、装上之后我发现真正省事的地方
功能都定完之后,日常用的其实是最朴素的那几件。让它把散在三处的表格合成一个,让它把一晚上的日志按错误类型归堆,让我在通勤路上先看一眼构建是不是绿了。这些事每件只值三五分钟,一天凑起来是半小时,一个月就是十个钟头。
| 档位 | 放开的范围 | 门槛 |
|---|---|---|
| 只读 | 整个用户目录 | 直接放行 |
| 写文件 | D:\work、桌面 |
记快照,保留七天 |
| 执行命令 | 白名单命令加参数校验 | 逐条记录,超阈值要确认 |
| 装软件、改系统 | 关闭 | 人工操作 |
| 网络与端口 | 关闭 | 人工操作 |
一句实话。这类工具的价值和风险是同一件事的两面。它能替你动手,就能替别人动手。先把手能伸多远定下来,再谈能省多少事,顺序反过来的话,早晚要用一次数据来找补。
后面打算写把它接进企业内网之后,超时和重试该怎么处理,坑比本机更多。感兴趣的话点个关注,发出来你能第一时间看到。