AI 炒股也不算什么新鲜事了,但让我下定决心试一试的,还是龙虾的到来。
我日常在交易港股,每天下午 4 点多收盘之后,我想针对自己关注的几只股票做复盘分析,再做一些次日走势的推演。
在(多次)拾起又放弃 OpenClaw 之后,我打算再给他一次机会,帮我实现一个非常具体的需求,每天自动跑一份港股复盘报告给我。
我把那台落灰的2017年的笔记本翻了出来(说实话,要不是为了装龙虾,我真不知道这台电脑还能用来干吗),重新打开终端,这次用 curl 远程安装了 OpenClaw。
抢不到 Mac mini,我把“老爷机”翻出来了给这台九年前的 Intel 老爷机装 OpenClaw,简直是一场“环境依赖配置”的噩梦。第一次安装的时候我用 npm 全局安装遇到了版本冲突,所以那次我先装了包管理器把前置环境补全了。
关于第一次的失败经验,我也打算写出来供参考。
光是折腾这台老电脑就花了整整一个下午的时间。先把系统还原,重装系统的时候又出了问题,这还是在 Gemini 一步步指导的情况下。到了晚上,总算把系统环境弄好(MacOS Ventura 13.7.8),用 npm 全局安装了 OpenClaw,开始进入设置流程。

OpenClaw 虽然提供了一个 Quick Start 引导,但实际操作起来还是觉得很繁琐。更关键的是,我当时完全没想好到底要用它干什么。那会儿飞书还没有发布官方的 OpenClaw 插件,也没有现在这种很方便的一键部署方式。
到了配对社交渠道(Social Channels)这一步,我彻底卡住了:飞书没弄好,WhatsApp 的二维码死活扫不出来,试了一下 Telegram 也各种报错。安装过程中遇到的问题更是一堆。因为这台 Intel 笔记本太老了,很多依赖库都不兼容,报错了我就去找 Gemini 要解决方案,来来回回折腾了很久才勉强装上,结果整个设置流程还是没跑通。

我觉得不值当了,算了。
最好笑的是我跟 Gemini 说:“我放弃了,觉得这东西对我没什么用。折腾了半天,还是帮我把它删了吧。”Gemini 给了我卸载命令 npm uninstall -g openclaw,就这样,我的第一只“小龙虾”还没来得及打个招呼就被送走了。

这次用 curl 安装倒是顺利了一些,很快走到了 Quick Start 配置阶段。
我跳过了 Social Channels 的配对,先把核心流程跑通。跑通后选择了 OpenClaw TUI(Terminal User Interface)在终端里直接对话,API 接的是 MiniMax 的 Coding Plan。
没想到好戏还在后头。
配置 Skill 的时候,这台老电脑彻底扛不住了。Quick Start 引导中有一个叫 model-usage 的内置 Skill(用来统计模型 Token 使用量),它底层依赖了一个叫 weave 的工具。OpenClaw 自动调用 Homebrew 去安装它,结果因为 macOS 系统和 Xcode Command Line Tools 版本太旧,没有现成的预编译二进制包可用,系统试图在本地强行编译 C++ 源码。结果不出意料,老爷机的风扇呼呼响,机身烫到不行,满屏飘红的 Error,我当时都担心它直接挂了。
折腾到最后我只能妥协:放弃所有需要本地编译的 Skill,底线就是,只要它能在终端里“点亮”、能正常对话就行。

虽然跳过了 Skill,但 OpenClaw 最终还是在终端里成功“点亮”了,它甚至还带着上次安装时的记忆(OpenClaw 的记忆是存储在本地 Markdown 文件里的,卸载 npm 包并不会删除 ~/.openclaw/workspace/ 下的数据),于是我把它的名字和对我的称呼重新校准了一下。
之后,我按照飞书的官方指南又走了一遍部署流程,又折腾了一个多小时,终于在飞书对话框里把这个本地的 OpenClaw 机器人弄上线了。
搭建 Skill,屡碰墙第二天,我正式开始做港股复盘的 Skill。
我之前基于 Claude Code 发布的 Financial-Services-Plugins 开发过一个 financial-data-mcp MCP 服务,主要用了 Yahoo Finance、SEC EDGAR API、HKEX News API 这些免费数据源来做港美股研究。我想着把它改造成一个 OpenClaw 可用的 Skill 应该不难。
于是我让 Claude Code 先把 MCP 服务转成了 Skill 格式,一份 SKILL.md 说明书加上对应的 Python 脚本,接着把它们拷贝到了 ~/.openclaw/workspace/skills/ 目录下。然后又折腾了半天 Python 虚拟环境和 pandas 库的安装,到这一步我已经只剩半条命了。
接下来试着跑 Python 脚本,又出了新的幺蛾子:老款 Mac 自带的 Python 3.9 底层用的是苹果早年间的 LibreSSL,而我通过 pip 安装的最新版 urllib3 要求必须是 OpenSSL 1.1.1 以上。两者不兼容,又弹出一堆警告。最后把 urllib3 降级到一个兼容老 Mac 的稳定版本,才把这个问题勉强按下去了。
但这只是开始。
Yahoo Finance 直接返回了 429 频率限制报错。关掉代理不行,升级 yfinance 库也不行。我又换上了开源金融数据圈里专为中国用户做的平替库 AkShare,结果直接报错 RemoteDisconnected('Remote end closed connection without response'),又撞上了东方财富服务器的反爬虫防火墙(WAF)。
最后 Gemini 建议我放弃 AkShare,直接调用腾讯财经底层的公开 API。这一招果然管用: pandas 库也不需要了,只靠最基础的 requests 就够了。Gemini 帮我重写了 Python 数据抓取脚本和对应的 SKILL.md 文件:
忘给它门禁卡了满心期待地把 Skill 部署完毕后,我在飞书上给 OpenClaw 发了第一条指令:"调用 hk_stock_daily_recap 技能,帮我生成一份今天腾讯控股 (0700.HK) 的复盘报告和明天的交易推演。"
结果它一遍遍温柔地回复我:"抱歉,工作区内没有找到这个技能。"
我们俩就像在“跨服聊天”——我说我的,它说它的。我告诉它 Skill 已经放在文件夹里了,它说它看到了那个 Markdown 文件,但无法使用工具去读取和执行。来来回回折腾了好一阵,那天太晚了,我再次放弃。

第二天,我在 YouTube 闲逛时碰巧看到一个我很喜欢的博主“技术爬爬虾”讲解 OpenClaw 的进阶使用。视频的第一部分就在讲怎么给 OpenClaw 开通工具使用权限。这时候我才恍然大悟:之前“对牛弹琴”的问题根本不在 Skill 本身,也不怪 OpenClaw 智障,原来是因为我蠢,压根没给 Agent 开放底层的权限!
OpenClaw 的权限体系里,Skill 只是“说明书”,而 Tool 才是真正的“执行许可”。我的 SKILL.md 写得再详细,如果 Agent 没有被授予 bash、exec (终端命令执行)和文件读写的 Tool 权限,它就只能“看见”说明书却无法动手。就好比你招了一个能力超强的实习生,却忘了给他发公司门禁卡和电脑密码。

按照视频里的操作步骤,我修改了 openclaw.json 配置文件,把 tools 的 profile 值从默认的 messaging 改成了 full。这一步会开放包括终端命令执行、文件读写在内的所有工具权限。这次我没在飞书上试,而是直接在 Terminal 终端里跑了指令。
结果一次成功。OpenClaw 顺利地调用了 Python 脚本,抓取了腾讯财经的数据,给我返回了一份“英矽智能”的港股复盘报告。
总计耗时:两天。
总结:该花的钱还是得花跑通之后,我自然想到了下一步:能不能把它设成定时任务(Cron),让 OpenClaw 每天下午 4 点港股收盘后自动给我推送复盘报告?定时任务倒是设好了,但它似乎从来没真正按时触发过。
原因很简单。我的 OpenClaw 跑在一台笔记本上。笔记本一旦关机或者合上机盖,OpenClaw 的网关进程就会休眠,飞书上给它发消息也不会有任何回应,相当于直接下线了。这就是用笔记本而非 Mac mini 这类常驻主机的硬伤:你没法指望一台随时会被合上盖子的电脑去完成 7×24 小时的自动化任务。

苹果官网上,Mac mini 的到货时间从一周变成两周、三周、四周……甚至更久。

二手的,我犹豫了一阵,最后还是没有出手
先学会给 AI 当好包工头在经历了这一连串的挫败、妥协、再挫败之后,我自我诊断为 Control Freak(控制狂)。
想起之前,我在 Claude Code 里做的那个“一键生成双语字幕”的工作流。我并没有把提取音频、转录、翻译到烧录的所有环节一股脑扔给 AI 让它盲盒输出。相反,我让 Claude Code 作为调度节点,它先调用 Python 脚本完成翻译,然后停下来,把生成的双语字幕交给我做 Review(人工校验)。确认无误后,它再调动 FFmpeg 把字幕烧进视频。
在这个流程里,AI 负责了所有繁琐的执行,我把握着最核心的质检节点。一套行云流水的操作下来,我什么心都不用操,出问题后,Claude Code 会自动 debug,比如重启脚本,实在解决不了(之前遇到过翻译字幕的时候 Gemini API 调用触发了 rate limit,最后卡死的情况。),Claude Code 会提醒我中止任务,但因为之前已经保存了进程的checkpoint json 文件,后续接上很方便。其实重活儿都是几个脚本接力完成的,Claude Code 是我工地的监理,而我是最后坐享其成,拿成果验收的包工头。这样的 Agent 工作流消耗 Token 非常少,所以我才喜欢给 Agent 造工具,而不是一股脑把所有东西都让他大包大揽。

但至少现在,我极其迷恋这种 Human-in-the-Loop(人机协作)的模式:人加上 AI,理应发挥出 1+1>2 的效能。把粗活累活交给机器,但把对最终成果的品控和骄傲(Pride)留在自己手里,这可能才是现阶段最适合我的 AI 玩法。
作者:本一
编辑:沈知涵
图片来源:作者供图
点个“小爱心”吧
