clawhub 上那个高收藏的 OpenClaw 炒股技能,装完scripts/install.sh后,你在对话里喊“把 600053 九鼎投资加到自选股”,OpenClaw 却像没听见——watchlist.txt一动不动,10jqka 行情也不汇总。这个卡点大概率不在 skill 本身,而在 OpenClaw 的模型通道没通。先把模型 Key 获取改到 TaoToken:打开 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_content=openclaw_stock 创建 Key,再把模型通道的 Base URL 填 https://taotoken.net/api,就能判断是 Skill 没触发,还是模型请求根本没发出去。很多教程只教你解压、跑install.sh、把股票代码写进watchlist.txt,但装完不动,第一步应该是看 OpenClaw 有没有真正把 skill 暴露给模型。如果模型请求都发不出去,skill 写得再全也不会被调用。下面按排障顺序走一遍:先看 skill 注册,再换模型通道,最后回到watchlist.txt和 10jqka 行情验证。
1. clawhub 炒股技能装完后,OpenClaw 为什么不理 600053 九鼎投资
1.1 先确认 skill 到底有没有被 OpenClaw 注册
你从 clawhub 下载的 OpenClaw 炒股技能,通常是一个压缩包,解压后里面有scripts/install.sh、skill.json或类似的描述文件。让龙虾跑完安装脚本之后,最容易忽略的一步是:OpenClaw 有没有把这个 skill 重新加载进技能列表。安装脚本可能只是把文件复制到~/.clawdbot/skills/stock_watcher/,但正在运行的 OpenClaw 进程不会自动热加载。你需要退出当前对话,或者重启 OpenClaw 会话,再让它列出可用技能。
可以在 OpenClaw 里直接问:“你现在有哪些 skill?”如果返回的列表里没有stock_watcher,那问题就不在模型通道,而在安装路径或权限。常见原因是install.sh没有执行权限,或者解压目录不对。可以先本地检查:
ls -la ~/.clawdbot/skills/ find ~/.clawdbot/skills -maxdepth 2 -name "skill.json" -o -name "install.sh"如果stock_watcher目录存在,但 OpenClaw 仍然不认识,看一下skill.json里的触发词是否包含“自选股”“watchlist”“添加股票”。有些技能包写的是英文触发词,你用中文喊“添加 600053 九鼎投资”就不会命中。此时把触发词改成中英混合,或者直接用技能文档里的标准句式。
1.2 watchlist.txt 没变化时,先别改 skill 代码
看到~/.clawdbot/stock_watcher/watchlist.txt没有新增600053,很多人的第一反应是去改stock_watcher的 Python 或 Shell 脚本。但更高效的做法是先看 OpenClaw 的日志:模型有没有返回 tool call,tool call 的名字是不是stock_watcher.add之类。如果日志里只有普通文本回复,没有任何工具调用,说明模型根本没打算执行 skill,或者当前模型不支持 function calling。
这时候不要急着改 skill 代码,先把模型通道换到一个稳定的兼容通道。TaoToken 在这里的作用是统一模型通道:你从 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_content=openclaw_stock 创建 Key,把 Base URL 指向https://taotoken.net/api,然后选一个在模型广场里明确支持工具调用的模型。这样就能把“skill 没写对”和“模型请求没通”两个问题分开。
2. 把 OpenClaw 的模型通道切到 TaoToken,先排除“请求没通”
2.1 从官网创建 Key,并在模型广场挑支持工具调用的模型
打开 TaoToken,注册后进入控制台。你需要的两样东西是:一把 API Key,和一个模型 ID。API Key 在控制台里创建,复制出来之后只显示一次,所以先存到密码管理器里。模型 ID 不要凭记忆写,去模型广场看当时列表。炒股技能要调用本地脚本,模型必须支持工具调用或函数调用,纯聊天模型即使回答得再流畅,也不会触发stock_watcher。
在模型广场里,优先看模型描述里有没有“function calling”“tool use”“agent”这类关键词。选好之后,把模型 ID 复制下来。后面 OpenClaw 的配置里会用到。如果你的 OpenClaw 原来接的是某家官方通道,Key 和 Base URL 都要替换;如果原来就没有配置模型,那这一步就是第一次接通模型通道。
2.2 Base URL 填 https://taotoken.net/api,不要拿官网页当接口
这是最容易填错的地方。官网落地页是给人看的,用来注册、创建 Key、看模型广场;真正填进 OpenClaw 的 Base URL 是https://taotoken.net/api,末尾不要加/v1。不要写成https://taotoken.net/?utm_source=...,也不要把带 UTM 的地址复制进配置文件。OpenClaw 请求的是 API 接口,不是网页。
你的配置里应该出现类似这样的字段:
{ "providers": { "taotoken": { "type": "openai-compatible", "baseURL": "https://taotoken.net/api", "apiKey": "YOUR_API_KEY", "model": "YOUR_MODEL_ID" } }, "defaultProvider": "taotoken", "defaultModel": "YOUR_MODEL_ID" }不同 OpenClaw 版本的字段名可能是baseUrl、base_url或baseURL,以你~/.clawdbot/config.json里原有 provider 的写法为准。核心是三点:Base URL 用https://taotoken.net/api,API Key 用YOUR_API_KEY,模型 ID 用模型广场复制来的那个。不要自己编造带日期后缀的模型名,也不要把ANTHROPIC_*变量套到 OpenAI 兼容 provider 上。
2.3 改完配置后重启 OpenClaw,再发一条纯文本测试
配置文件保存后,重启 OpenClaw 会话。先不要提股票,也不要带 skill 触发词,直接发一句:“请回复 pong。”如果连这句话都报 401 或 404,说明 Key 或 Base URL 还没填对。401 通常是 Key 无效或没带上;404 通常是 Base URL 多加了/v1或路径写错。确认纯文本对话能通之后,再让它列出技能列表。
如果纯文本能通,但一问股票就变成普通聊天,那模型通道已经通了,问题回到 skill 触发和 tool call。此时可以检查模型是否支持工具调用,或者换一个模型广场里标注支持 agent 的模型。TaoToken 在这里不替你做交易决策,它只是把模型请求统一到一条兼容通道上,让 OpenClaw 能稳定地把 skill 调用请求发出去。
3. 让 stock_watcher 技能重新接上 watchlist.txt 的添加指令
3.1 检查 install.sh 后的 skill 目录和权限
回到你解压 clawhub 技能包的目录。通常安装脚本会做三件事:复制文件到~/.clawdbot/skills/stock_watcher/、创建~/.clawdbot/stock_watcher/数据目录、生成默认的watchlist.txt。如果install.sh执行时没有权限,或者中途报错,后面的步骤都会静默失败。可以重新跑一次安装脚本,并保留输出:
cd /path/to/stock_watcher chmod +x scripts/install.sh bash scripts/install.sh ls -la ~/.clawdbot/stock_watcher/ cat ~/.clawdbot/stock_watcher/watchlist.txtwatchlist.txt初始可能是空的,或者只有一行注释。只要文件存在且 OpenClaw 进程有读写权限,skill 就能往里追加股票代码。如果文件不存在,手动创建:
mkdir -p ~/.clawdbot/stock_watcher touch ~/.clawdbot/stock_watcher/watchlist.txt3.2 用一句话触发添加 600053 九鼎投资
确认 skill 已注册、模型支持工具调用后,在 OpenClaw 里用明确的指令格式。不要只说“600053”,而是说:“把 600053 九鼎投资加入自选股,使用 stock_watcher 技能。”触发词越明确,模型越容易选择正确的工具。如果技能文档里定义了标准命令,比如/watch add 600053,优先用标准命令。
发送之后,观察 OpenClaw 的回复。它可能会说“已添加”或“正在调用 stock_watcher”。如果它仍然只回复文本,去看日志里有没有 tool call。如果日志里出现stock_watcher.add但watchlist.txt没变化,说明 skill 脚本执行失败,可能是股票代码格式或文件路径问题。可以手动运行 skill 脚本测试:
python3 ~/.clawdbot/skills/stock_watcher/add_stock.py 600053 cat ~/.clawdbot/stock_watcher/watchlist.txt如果手动能写入,但 OpenClaw 调用不写入,检查 OpenClaw 运行用户是否有权限访问~/.clawdbot/stock_watcher/。
3.3 如果模型不会 tool call,换模型比改 skill 更快
有些模型在普通对话里表现很好,但遇到工具调用就只输出文字。你可以在 OpenClaw 里发一个测试:“请调用 stock_watcher 技能,把 600053 加入自选股。”如果模型回复“我无法调用工具”或直接忽略,说明当前模型不支持 function calling。此时不要继续改 skill 脚本,回到模型广场换一个支持工具调用的模型,把配置里的YOUR_MODEL_ID替换掉,重启 OpenClaw 再试。
换模型之后,watchlist.txt的写入逻辑不需要动。TaoToken 的兼容通道让你可以相对低成本地切换模型,而不必重新申请多家 Key。如果你之前因为官方额度或单 Key 限制卡住,统一通道的价值就在这里:OpenClaw 的配置只认一个 Base URL,模型 ID 可以在模型广场里换。
4. 验证:watchlist.txt 出现 600053 后,再让 Skill 汇总 10jqka 行情
4.1 手动查看 watchlist.txt 是否真的写入
添加指令发出后,不要只看 OpenClaw 的聊天回复。聊天回复可能是模型“以为”自己写入了。直接打开文件确认:
cat ~/.clawdbot/stock_watcher/watchlist.txt如果看到600053或600053 九鼎投资,说明 skill 的添加链路已经通了。如果没有,检查 OpenClaw 日志里的 tool call 参数,看看它传给脚本的股票代码是不是600053,还是被模型改成了600053.SH或其他格式。有些 skill 脚本只接受纯数字代码,此时要么在对话里明确说“纯数字 600053”,要么在脚本里做兼容处理。
确认写入后,可以再添加一个测试代码,然后删除,确保添加和删除指令都能触发同一个 skill。不要用真实交易账户做测试,这里只操作本地watchlist.txt。
4.2 让 OpenClaw 汇总 10jqka 行情
watchlist.txt里有股票代码之后,再让 OpenClaw 调用同一个 skill 的行情汇总功能。可以说:“读取 watchlist.txt,汇总 10jqka 行情。”注意,行情汇总依赖 skill 里的抓取逻辑。如果 skill 脚本需要访问 10jqka 页面,确保本地网络能访问,并且脚本没有硬编码失效的接口。OpenClaw 只负责触发工具调用,实际的抓取和解析由 skill 脚本完成。
如果汇总返回空数据,先手动运行 skill 的行情脚本:
python3 ~/.clawdbot/skills/stock_watcher/fetch_quote.py 600053手动有输出、OpenClaw 调用没输出,通常是参数传递问题;手动也没输出,就是脚本本身需要更新。TaoToken 在这里不改变行情数据源,它只保证模型请求能通、工具调用能发出去。
4.3 看 OpenClaw 日志确认 tool call 的完整链路
如果上面两步都通了,最好再看一眼日志,确认模型返回的是结构化 tool call,而不是普通文本。日志里通常会显示工具名、参数和返回结果。工具名类似stock_watcher.add,参数里包含600053。如果日志里只有assistant: 已添加,没有工具调用记录,说明模型在“假装”执行,实际什么都没做。这种情况回到第 2 章,换一个支持工具调用的模型。
完整的链路应该是:你发指令 → OpenClaw 把指令和可用技能列表发给模型 → 模型返回 tool call → OpenClaw 执行本地 skill 脚本 → 脚本写入watchlist.txt→ 结果返回给模型 → 模型汇总回复。任何一环断了,都会表现为“没反应”。
5. 报错对照:401、404、模型不支持工具调用、skill 未触发
5.1 401 和 404 的区分
401 通常出现在纯文本测试阶段,说明 API Key 没填、填错或没有带上。检查~/.clawdbot/config.json里的apiKey是否是YOUR_API_KEY替换后的真实 Key,以及 OpenClaw 是否读取了正确的配置文件。404 通常是 Base URL 多了/v1。记住:填进 OpenClaw 的 Base URL 是https://taotoken.net/api,末尾不要加/v1。如果错误信息里出现https://taotoken.net/api/v1,把/v1删掉再重启。
另外,不要把官网落地页地址填进 Base URL。带 UTM 的链接是给人点的,接口地址不带查询参数。https://taotoken.net/?utm_source=...不能作为 Base URL。
5.2 Skill 未注册和模型不调工具的区别
Skill 未注册的表现是:OpenClaw 的技能列表里没有stock_watcher,或者你问“有哪些技能”时它不知道。此时检查~/.clawdbot/skills/目录和install.sh的执行结果。模型不调工具的表现是:技能列表里有stock_watcher,但模型收到指令后只回复文本,日志里没有 tool call。此时换支持工具调用的模型,或者检查 skill 的触发词是否匹配。
两种问题的解决路径不同。先确认技能注册,再确认模型通道,最后确认模型是否支持工具调用。把这三层分开,排障会快很多。
5.3 不要用真实交易接口或生产库做测试
整个排查过程只操作本地watchlist.txt和公开行情页面。不要为了让 OpenClaw “直接执行”而把真实交易接口、生产数据库或带资金的账户接进去。OpenClaw 只生成或触发本地 skill 脚本,实际的添加、查看、汇总都在本地完成。如果 skill 脚本里有任何需要鉴权的接口,先用只读权限或测试数据跑通,再考虑后续。
6. 跑通之后,去控制台对一下这次 OpenClaw 调用
6.1 用同一把 Key 在模型对话里测试
watchlist.txt里出现600053之后,打开 TaoToken 模型对话,用同一把 Key 发一条测试消息,确认模型 ID 和 Base URL 没填错。模型对话里能通,说明 Key 和接口地址没问题;如果模型对话里也不通,回到第 2 章检查配置。这样可以把 OpenClaw 本身的问题和模型通道的问题分开。
6.2 长期跑炒股技能可以看 Coding Plan
如果你打算让 OpenClaw 长期盯watchlist.txt,每天汇总 10jqka 行情,可以打开 Coding Plan 看套餐是否够用。Key 的管理和创建在 控制台 API Keys,需要换 Key 或看用量时直接进控制台。OpenClaw 侧只需要把新的YOUR_API_KEY换掉,Base URL 仍然是https://taotoken.net/api。
6.3 回到 OpenClaw 再看一次添加指令
最后再回到 OpenClaw,发一次“把 600053 九鼎投资加入自选股”。确认watchlist.txt里没有重复写入,然后让 skill 汇总一次行情。如果这次模型正常调用工具、文件正常变化、行情正常返回,说明模型通道和 skill 链路都通了。后续再往 clawhub 装其他技能,也可以沿用同一套模型通道,不用每次重新折腾 Key 和 Base URL。遇到新 skill 没反应,先用纯文本测模型通道,再查 skill 注册,基本能定位到是请求没通还是工具没触发。