我让OpenClaw自动检查了123条VPS优惠库存,飞书表格全自动更新

斌仔 分类:
文章字数 1349 字 阅读时间 6 分钟
🤖 由 ChatGPT 生成的文章摘要
此内容根据文章生成,并经过人工审核,仅用于文章内容的解释与总结

昨天遇到一个事:我的飞书多维表格里存了 123 条VPS优惠数据, RackNerd、CloudCone、搬瓦工、DMIT,每条都有购买链接。但库存随时在变,手动逐个点开检查?得点到猴年马月。

我想了个办法 —— 让 OpenClaw AI助手帮我干。

OpenClaw+lark-cli:实现VPS库存监控
OpenClaw+lark-cli:实现VPS库存监控

起因

我监控 VPS 库存有一段时间了,优惠信息都存在飞书多维表格里。表格长这样:(2026年国外VPS优惠库存列表

  • 服务商、配置(CPU/内存/SSD/流量)
  • 价格(美元)、购买链接
  • 库存状态(有货/无货)

问题在于:链接对应的产品经常断货或下架,但表格里的状态不会自动更新。

之前全靠手动点链接看有没有货,然后回表格改状态。123条,想想就头大。

思路

跟AI助手(小龙虾)说了这个需求,它提出一个方案:

  1. 用飞书官方的命令行工具 lark-cli 读取表格数据
  2. 批量curl每个购买链接,跟踪重定向链判断库存
  3. 自动更新飞书表格的"有无库存"字段

听起来靠谱,开干。

OpenClaw 安装 lark-cli

lark-cli 是飞书官方出的CLI工具,npm 一行搞定,也可以直接发给 OpenClaw 的:帮我安装:https://github.com/larksuite/cli

npm install -g @larksuite/cli

配置飞书应用

运行初始化命令,它会帮你创建一个飞书应用:

lark-cli config init --new

终端会输出一个链接,浏览器打开后扫码确认。成功后会给你App ID和App Secret。

安装配置应用凭证
安装配置应用凭证

可以在飞书开放平台查看创建的应用:

lark-cli 创建飞书应用
lark-cli 创建飞书应用

OpenClaw 授权登录

这一步有点讲究。直接用 --recommend 会申请所有权限,需要管理员审核。

更好的方式是按需授权。比如我们只需要多维表格权限:

lark-cli auth login --domain base --no-wait

终端会输出一个授权链接和验证码,扫码即可:

lark-cli OpenClaw授权
lark-cli OpenClaw授权

可在 飞书开放平台 查看创建的应用信息

lark-cli授权权限
lark-cli授权权限

授权成功后,lark-cli 就能以你的身份操作飞书文档及多维表格了。

读取飞书表格数据

先拉表格结构看看:

# 列出字段
lark-cli base +field-list --base-token <app_token> --table-id <table_id> --as user

11个字段:服务商、VPS服务商、购买链接、CPU核心、内存、SSD、月流量、价格、价格时间、有无库存、更新日期。

然后拉数据:

# 拉取记录(注意默认最多100条,需要分页)
lark-cli base +record-list --base-token <app_token> --table-id <table_id> --as user --limit 100 --offset 0
lark-cli base +record-list --base-token <app_token> --table-id <table_id> --as user --limit 100 --offset 100

123条数据到手。

批量检查库存

这一步踩了不少坑。

第一个坑:curl没带cookie,重定向链断了。

RackNerd的分销链接会经过3次重定向:aff.php → cart.php → 产品配置页。不带cookie的话,最终会跳到一个通用页面,误判为无货。

解决:用 -c-b 参数带cookie jar跟踪完整重定向链。

第二个坑:CloudCone需要JS渲染,curl拿到的是404。

CloudCone的链接从服务器curl全都返回404页面,但实际上有些产品是有货的。这个没法自动判断,只能手动确认。

第三个坑:第一次误判了20条RackNerd记录。

因为重定向没跟踪完整,把一堆有货的判成无货并更新了飞书表格。发现后赶紧用飞书API批量修复回去。

最终的正确判断逻辑:

  • RackNerd:重定向到 confproduct(配置页)= 有货,显示"Out of Stock"= 无货
  • BandwagonHost:有"Order Now"按钮 = 有货,显示"Out of Stock" = 无货
  • DMIT:有"Configure" = 有货
  • CloudCone:从服务器无法判断,需手动确认

更新飞书表格

用飞书API批量更新:

lark-cli api PUT "/open-apis/bitable/v1/apps/<app_token>/tables/<table_id>/records/<record_id>" \
--as user \
--data '{"fields":{"有无库存":"无货"}}'

注意:+record-upsert 命令的 --json 参数对select字段格式有要求,直接用 api PUT 更稳定。

最终结果

跑完一轮,实际变更:

  • RackNerd:5个断货(1111促销和2022黑五已结束),其余有货
  • CloudCone:大部分VPS无货,compute系列有货(需手动确认)
  • BandwagonHost:基本有货,仅3个pid断货
  • DMIT:2个都有货

整个过程中间踩了3个坑、返工2次,但最终还是把表格更新准确了。

几个经验

  • lark-cli分页默认最多100条,超过的需要手动 --offset 翻页
  • 重定向跟踪一定要带cookie,不然WHMCS系统的分销链接会断链
  • 飞书多维表格的select字段,用 lark-cli api PUT 直接传文本值就行,比 +record-upsert 简单
  • 有些网站从服务器curl拿不到真实页面(CloudCone),这种别硬来,手动确认更快
  • 批量操作前先dry-run,我第一次误改了20条就是因为没验证

本文记录的是真实操作过程。如果你也需要批量检查VPS网站库存,可以参考这个思路。lark-cli + AI助手(OpenClaw) = 省下大量重复劳动。

你觉得这篇文章怎么样?

0
0
0
0

非常感激每一位打赏的朋友!

支付宝扫码支持
微信扫码支持

扫一扫,请博主喝咖啡☕

文章作者: 斌仔
文章链接: https://www.wangdu.site/course/2328.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 文武科技柜

相关推荐

共有 0 条评论