SuperAPI AI 工具集

system-bus

部署与运维

查看项目

更新于 10-15 23:33

技能介绍

用途:system-bus 是 joelclaw 的事件驱动骨干 worker,负责运行 110+ 个 Inngest 持久化函数、接收 webhook 并输出可观测性数据。它以 Hono HTTP 服务器运行,注册到自托管 Inngest 实例。

主要能力:代码位于 packages/system-bus/,含 serve.ts(Hono 服务器、Inngest 注册、健康端点)、inngest/(客户端、中间件、函数)、lib/(推理、Redis、Typesense、Convex 同步等共享工具)、observability/emit.ts(OTEL 事件)、webhooks/(Front、GitHub、Vercel、Todoist、Mux、joelclaw 等 provider)与 memory/ 管线。

部署角色:由 WORKER_ROLE 控制。host 角色跑在本地 Mac Mini(Talon supervisor),承载 agent 循环、心跳、记忆管线、内容同步、视频摄取等需要本地文件系统、pi CLI 或 docker 的函数;cluster 角色跑在 k8s pod(GHCR 镜像),承载 webhook、审批、通知、Slack 回填等无状态网络函数。函数按角色拆分在 index.host.ts 与 index.cluster.ts,index.ts 汇总导出。

使用方式:新增函数时在 functions/ 下建文件,从 ../client 导入 inngest,用 inngest.createFunction 定义,再按角色导出并登记事件类型;类型检查用 bunx tsc --noEmit -p packages/system-bus/tsconfig.json。LLM 调用统一走 lib/inference 的 infer(),它底层调用 pi,不使用 OpenRouter 或付费 API key。函数可通过中间件拿到 gateway 上下文,调用 notify/alert/progress。

限制与注意:切勿设置 retries: 0,交给 Inngest 默认重试;函数未注册时事件会被静默丢弃,发送前确认 joelclaw functions 返回大于 0;worker 重启后需 curl -X PUT http://127.0.0.1:3111/api/inngest 重新注册。host 函数注册可用 INNGEST_SERVE_HOST 覆盖,配置在 ~/.config/system-bus.env。队列相关开关(QUEUE_TRIAGE_MODE、QUEUE_OBSERVER_MODE 等)在 worker 进程内读取,改后需重启 worker 并 PUT 同步。调试前应先确认 3111 端口进程的 cwd 与启动时间,避免对着旧源码排查。其余细节暂未提供。