
Bub 不是又一个把 agent 包成黑盒的大框架,它更像一套给共享环境准备的轻量运行时。项目自己的说法是:a hook-first runtime for agents that live alongside people。它从群聊场景出发,默认假设多个人和多个 agent 会在同一个对话里协作,所以上下文、记忆和交接都需要可见、可追溯,而不是藏在框架内部。
这个项目由 Python 编写,当前 GitHub API 显示约 1.4k stars,许可证是 Apache-2.0。安装方式很简单:pip install bub,也可以从源码用 uv sync 启动。它内置 CLI、Telegram gateway、tools、skills 和模型执行,默认能跑交互式 bub chat、一次性 bub run MESSAGE,也能通过 bub gateway 接入频道。
把每个 turn 拆成可替换的 hook
Bub 的核心设计是 hook-first。一次 inbound message 会经过 resolve_session、load_state、build_prompt、run_model、render_outbound、dispatch_outbound、save_state 这条 pipeline,每个阶段都是 pluggy hook。内置实现先注册,外部插件后加载;后加载的插件可以覆盖默认行为。对开发者来说,这意味着你可以只替换 prompt 构建、模型调用或出站渲染中的某一段,而不是 fork 整个 runtime。
另一个关键词是 tape context。Bub 不把上下文当成一团可变 session state,而是从 append-only records 里重建。这个取向很适合多人和多 agent 协作:历史可以检查,可以重放,也更容易 handoff。README 里还强调 operator equivalence,也就是人和 agent 在同样的 runtime 边界里工作,留下同样的证据链,而不是人类操作者另走一条隐藏通道。
它适合想把 agent 放进真实协作环境的人:比如 CLI 里跑任务、Telegram 群里接收消息、给 Agent Skills 加发现与执行能力,或者做一个自己的 channel adapter。相反,如果只是想要一个开箱即用的单人聊天 UI,Bub 可能显得太底层;它真正有趣的地方,是把 agent runtime 的关键阶段开放出来,让你按自己的团队、频道和上下文策略去拼。
项目地址
官网:https://bub.build
项目地址:https://github.com/bubbuild/bub
原创文章,如若转载,请注明出处:https://wefound.cc/p/3437.html