SuperAPI AI 工具集

koko

智能体与模型

查看项目

更新于 10-15 23:33

技能介绍

用途:在开发 Koko(与 joelclaw 共存的 BEAM 常驻智能体)Elixir 项目时使用本技能。适用场景包括:在 Koko 中构建新的 GenServer、supervisor 或事件处理器;实现工作负载(健康脉冲、事件摘要、影子执行器);将 Koko 接入新的 Redis 频道或 joelclaw 事件;调试 OTP 监督树或进程崩溃;对比 Koko 影子结果与 TypeScript 等价实现。触发词:koko、elixir agent、beam、otp、shadow executor、koko workload、koko event、mix。

项目位置:仓库 ~/Code/joelhooks/koko(github.com/joelhooks/koko);主机 Overlook(Mac Mini M4 Pro),可通过 ssh joel@panda 访问;完整上下文见仓库根目录 AGENTS.md。

架构由 ADR 驱动,实现前应查阅相关 ADR:0114 Elixir/BEAM/Jido 迁移、0115 Koko 项目章程、0116 Redis 桥接协议、0117 首批工作负载、0118 影子执行器(均为 proposed)。新增工作负载前查 ADR-0117 与 ADR-0118;改动 Redis 集成前查 ADR-0116;任何架构变更需在 ~/Vault/docs/decisions/ 提出或更新 ADR。

关键约束:Koko 在 Phase 1 为只读,仅作 PubSub 观察者,不做 LPUSH 消费、不做权威写入;只写影子结果到 Redis 的 joelclaw:koko:shadow:<function> 或本地文件,绝不写入 Typesense、Todoist、gateway 或任何生产状态;Koko 崩溃不影响 TypeScript 栈。Redis 位于 localhost:6379(Overlook 上的 k8s NodePort)。

开发命令:cd ~/Code/joelhooks/koko;mix deps.get;mix run --no-halt;mix test;iex -S mix 后调用 Koko.events_seen();mix format;远程运行 ssh joel@panda "cd ~/Code/joelhooks/koko && mix run --no-halt"。

OTP 模式:每个关注点一个 GenServer(健康检查、事件累积、影子运行器为独立进程);监督策略默认 one_for_one,进程耦合时用 rest_for_one;在 handle_info 中模式匹配事件类型,不用 if/else 链;日志统一加 Logger.info("[koko]") 前缀;尽早崩溃,交由 supervisor 恢复,不做防御式编码。

实施阶段:Phase 1 被动观察(当前,已订阅 joelclaw:gateway:events 并记录分类事件,下一步加健康脉冲 GenServer);Phase 2 专用频道(joelclaw:koko:events 与 joelclaw:koko:results);Phase 3 影子执行器(镜像部分 Inngest 函数,同输入并行执行并比较结果);Phase 4 毕业(比 TypeScript 更可靠、30 天无人工干预、开发体验良好)。