让它自动跑:矿场 24 小时运转,你睡觉它干活
你的矿场数字孪生已经会自己反应了:观察员改一行数据 → 威胁警报 → 停机器 → 挂员工 → 派工单 → CEO 裁决。
但有个问题——老板不能 24 小时守着:
- 观察员写了新数据,你得手动
runex connection pull obs才进系统 - 工单派出来了,没人认领
- 客户好几天没联系,没人提醒
让电脑替你守着。三种方式,从简单到复杂。
方式一:常驻值守——runex listen
最简单也最彻底:让 runex 自己常驻在后台。它每几秒醒来一次,自动做两件事:
- 同步观察员的数据——观察员在 md 里写观测记录,它自动拉进图,规则照常反应
- 认领工单——派出来的 WorkItem 它自动认领,拉起 agent 干活
前台跑着看效果:
runex listen确认没问题,放后台:
nohup runex listen > ~/.runex/listen.log 2>&1 &从此观察员照常写文件,系统照常反应,工单照常处理——没人需要守着。
runex ps能看到 listen 的心跳(daemon 运行中)和工单队列。想停了就runex work cancel <key>或直接杀掉进程。
方式二:定时扫描——“每天 9 点查一遍”
listen 是”持续盯”,还有一种”定时戳”:每天早上 9 点,让系统把所有该跟进的东西扫一遍。
分两步:
第一步:定义一条”定时规则”——trigger 用 (scheduled),别的和普通规则一模一样。这是矿场客户管理的例子(每天扫一遍所有客户,给需要跟进的信儿):
(supertag "客户"
(natural-key "名称")
(field "名称" (type "text") (required #t))
(field "跟进状态" (type "text"))
(field "上次扫描" (type "date")))
(machine "客户"
(supertag "客户")
(initial "new")
(states ("new") ("联系中") ("已成交") ("已流失")))
(action "client_followup_scan"
(machine "客户")
(from-states "new" "联系中") ;; 只扫还没成交/没流失的
(trigger (scheduled)) ;; ← 关键:定时触发
(guard #t)
(effect
(begin
(set-field "上次扫描" "date" (now))
(signal-agent (str "followup-" (self)) "pi"
(str "客户 " (self) " 需要跟进检查")))))第二步:让电脑定时跑它——手动跑一次看效果:
runex ontology scan client_followup_scan
# OK scan client_followup_scan supertag=客户 total=2 ran=2 …它会对所有”新客户 / 联系中”的客户各派一条跟进任务。然后交给 cron / launchd 每天早上 9 点戳它(配置见下)。
方式三:周末自动收尾
矿场也有周期账。每周日晚上让系统自动收尾——关掉到期的冲刺、把没做完的滚到下周:
runex ontology scan close_sprint # 关掉到期的冲刺
runex ontology scan close_goal # 关掉到期的目标这两条可以随便多跑——没到期的不受影响,安全。
配置定时:macOS(launchd)
把下面存成 ~/Library/LaunchAgents/ai.runex.daily.plist,把 runex 换成 which runex 查到的完整路径:
<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0"><dict>
<key>Label</key><string>ai.runex.daily</string>
<key>ProgramArguments</key>
<array>
<string>/完整路径/runex</string>
<string>ontology</string><string>scan</string><string>client_followup_scan</string>
</array>
<key>StartCalendarInterval</key>
<dict><key>Hour</key><integer>9</integer><key>Minute</key><integer>0</integer></dict>
</dict></plist>加载它:
launchctl load ~/Library/LaunchAgents/ai.runex.daily.plist这样每天 09:00 自动扫一遍客户跟进。想改成每周日收尾,把命令换成 close_sprint、时间换成 Weekday 0 Hour 23 Minute 55 即可。
配置定时:Linux(crontab)
crontab -e加两行(每天 9 点扫客户跟进;每周日 23:55 收尾):
0 9 * * * /完整路径/runex ontology scan client_followup_scan
55 23 * * 0 /完整路径/runex ontology scan close_sprint配好之后,矿场的一天
每天 09:00 (自动)扫客户,该跟进的自动提醒
随时 观察员写文件 → listen 自动同步 → 规则自动反应 → 工单自动认领
每天 威胁警报 → 损失评估 → CEO 裁决 → 停机器 / 继续生产
每周日 23:55 (自动)收尾,没做完的滚到下周你只管拍板,跑腿的全交给机器。矿场 24 小时运转,你睡觉,它干活。
想了解更完整的定时方案(含按季度关目标、错误处理)?开发者文档:本地 E2E 工作流。