外观主题
阅读语言

HOWCUEME —— 让智能体到点自己醒:条件自唤醒守护进程

软件 本站软件 1天前 更新于 22小时前
https://yxp.hk/p/VRgQpB

📦 开源仓库:yxpil/HOWCUEME

gh-card · yxpil/HOWCUEME

📦 仓库名片 · Powered by gh-card


HOWCUEME

让 AI 智能体(尤其 BIT 生态)在满足条件时"自己醒来":一个小型守护进程按固定间隔轮询规则,条件满足即执行动作——webhook POST、本地命令,或 wake_bit(调用 BIT 远程对话接口唤醒智能体继续干活)。由此实现无人值守、条件驱动的自动化:智能体自己定义"何时想被唤醒",HOWCUEME 负责等待与触发。Rust 单一静态二进制。

5 种触发条件(每条规则五选一)

类型 字段 触发时机
interval every_secs 距上次触发每 N 秒(首次轮询立即触发)
daily at = "HH:MM" 每个本地日最多一次,晚启动会补触发
file path, op = exists/changed 路径存在(防抖)/ mtime 与快照不同(首见只记基线)
http url, expect_status HTTP GET 状态码等于期望值(默认 200)
process name, op = exists/absent 进程在运行 / 不在运行(基于 sysinfo)

3 种动作

  • webhook — POST JSON;
  • command — 直接执行、不经 shell(参数原样传递,无注入面,跨平台安全);
  • wake_bit — POST {bit_url}/api/chat,携带 Authorization: Bearer <client_key> 与提示词,唤醒 BIT 智能体。

配套机制:逐规则 cooldown_secs 防抖避免触发风暴;state.json 持久化每条规则的上次触发时间与文件 mtime 快照,重启不丢。

使用

howcueme validate          # 校验规则文件,退出码 0/1
howcueme run               # 守护:每 5 秒轮询
howcueme run --once        # 只评估一轮立即退出(适合测试与 BIT exec 调用)
howcueme list              # 规则 + 上次触发时间
howcueme fire <规则名>      # 手动强制触发(测试用)
howcueme serve             # HTTP API:127.0.0.1:8752 + MCP

serve 模式端点:GET /health、GET /rules、POST /invoke(BIT Remote 协议,按 params.action 路由 status / list / fire / validate)、POST /mcp(MCP Streamable HTTP JSON-RPC,4 个动作 = 4 个工具)。

BIT 集成

  • CLI 工具:注册 howcueme_once(run --once,BIT 想轮询时调用)与 howcueme_fire(强制触发指定规则)两个 exec 工具;
  • Remote 工具 / MCP:serve 模式下直接接入;
  • 触发时 stderr 打人类可读日志,stdout 输出一行动作结果 JSON。

安装

从 Releases 下载,或源码构建:

git clone https://github.com/yxpil/HOWCUEME.git && cd HOWCUEME
cargo build --release

数据目录 ~/.howcueme/(rules.toml + state.json,HOWCUEME_DATA_DIR 可覆盖)。

安全

client_key 是 BIT 的访问凭据,请只在受信本机/内网使用且勿把 rules.toml 提交版本库;serve 默认只绑定 127.0.0.1。

许可

Apache-2.0

🛠 技术栈与开发

  • 开发语言:Rust 100% —— 单一静态二进制;状态持久化 ~/.howcueme/state.json(上次触发时间 + 文件 mtime 快照,重启不丢)
  • 触发引擎:5 类条件轮询——interval / daily(晚启动会补触发)/ file(mtime 快照 + 防抖)/ http(状态码匹配)/ process(基于 sysinfo)
  • 动作执行:webhook POST · command(直接 exec 不经 shell,参数原样传递无注入面)· wake_bit(Bearer 调 BIT /api/chat 唤醒智能体)
  • 接入面:CLI(run --once 即 BIT exec 契约)· serve HTTP API + MCP 4 工具(默认 127.0.0.1:8752);逐规则 cooldown_secs 防抖

📚 文档与链接

  • 仓库:https://github.com/yxpil/HOWCUEME · Releases 预编译包,或源码 cargo build --release
  • 上手三步:写 ~/.howcueme/rules.toml → howcueme validate 校验 → howcueme run 上岗(list 看规则,fire <名> 手动测试)
  • 安全提醒:client_key 是 BIT 访问凭据,勿提交版本库;serve 默认只绑 127.0.0.1