用途:Talon 是编译型 Rust 单二进制守护进程,同时承担两项职责——监管 system-bus worker,以及监控完整的 k8s 基础设施栈(ADR-0159)。
主要能力:内置 60 秒探测循环,检查 Colima VM、Docker socket、Talos 容器、k8s API、节点 Ready/可调度、Flannel、Redis、Inngest、Typesense、worker 等;通过状态机 healthy→degraded→failed→investigating→critical→sos 逐级升级。失败时按 Tier 1a bridge-heal、Tier 1b k8s-reboot-heal.sh、Tier 2/3 pi agent(仅限已批准模型)、Tier 4 Telegram + iMessage SOS 依次处置。支持在 services.toml 中动态添加 launchd、http、script 三类探测,无需重新编译,文件 mtime 变化即热重载。提供 GET http://127.0.0.1:9999/health 状态接口。
使用方式:常用命令包括 talon validate、talon --check、talon --status、talon --dry-run、talon --worker-only 与直接运行 talon 进入完整守护模式。构建命令为 export PATH="$HOME/.cargo/bin:$PATH"、cd ~/Code/joelhooks/joelclaw/infra/talon、cargo build --release、cp target/release/talon ~/.local/bin/talon。配置位于 ~/.config/talon/config.toml,服务监控位于 ~/.joelclaw/talon/services.toml,状态与日志位于 ~/.local/state/talon/。
适用场景:本地 macOS + Colima + k8s 开发环境的持续健康监控与故障自愈。
限制:零外部依赖(纯 std,无 tokio/serde/reqwest);无法自动修复 Redis AOF 损坏,需升级给 pi agent 处理;worker 监管必须单一所有者,若 com.joel.system-bus-worker 已加载则自动禁用内部监管;SOS 重复告警受 sos_cooldown_secs(默认 4 小时)节流。其他细节暂未提供。