返回资讯中心
外部精选
软件工程
#开发者实时流

Bub 0.6.0

There was an error while loading. Please reload this page.

Hacker News 最新chojanshang2026/10/31 · 2 天前10 分钟阅读

以下正文同步自 Hacker News 最新,版权归原站所有,已转换为易读排版。

Code

Issues

Pull requests

Discussions

Actions

Projects

Security and quality

Insights

More items

Releases

0.6.0

0.6.0

Latest

Latest

Compare

Choose a tag to compare

Sorry, something went wrong.

Filter

Loading

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

0.6.0

760691d

This commit was created on GitHub.com and signed with GitHub’s verified signature.

GPG key ID: B5690EEEBB952194

Verified

Learn about vigilant mode.

Bub 0.6.0 is the first stable release of the 0.6 line. It splits Bub into an embeddable agent kernel, bub.core, and the full app, bub[app]. It also moves model access to Republic and turns the agent loop into events that plugins and SDK users share. This note covers everything since 0.5.1. If you tested the 0.6.0 alphas, the changes after 0.6.0a3 are listed in Since 0.6.0a3.

bub.core installs and imports without the rest of Bub. Its only dependencies are republic, pydantic, loguru and typing-extensions. The CLI, gateway, channels, plugin system and TUI prompts are in the app extra:

pip install "bub[app]" # full Bub: CLI, gateway, channels, plugins pip install bub # kernel only, for embedding bub.core.Agent

If you run bub without the extra, it lists the missing packages and tells you how to install them. The Docker image, install.sh / install.ps1 and bub install already install bub[app].

bub.core.Agent runs the agent loop over a tape store and reports every step on an EventBus: RunStarted / RunFinished, LLMCallStarted / LLMCallFinished, ToolCallStarted / ToolCallFinished, StepFinished, MessagesPending, ChatFinished. It also accepts:

The system prompt and tools are now prepared once per run, so the request prefix stays stable across the steps of a turn and prompt caching works better. The system prompt is recorded on the tape only when it changes.

bub.hooks.agent.AgentPlugins connects plugin agent-loop hooks (before/after_llm_call, before/after_tool_call, continue_prompt, provide_steering_inbox, system_prompt, tape store/context/sidecar, load_state, provide_environment, and the new provide_tools) to any bub.core.Agent:

plugins = AgentPlugins() # builtin + installed plugins agent = Agent(model=model, **plugins.components()) plugins.attach(agent)

BubAgent uses the same adapter, so plugins behave the same in both.

Code mode lives in bub.core.codemode. Any core agent can use it without the app extra. Code can call Republic models and pass media attachments.

from bub.core.codemode import CodeMode

code_mode = CodeMode([search, fetch], models="openai:gpt-5") agent = Agent(model=model, tools=[code_mode.run_code], system_prompt=["You are ...", code_mode.prompt])

Models and accounts through Republic

Built-in model requests use Republic for provider authentication, message encoding and streaming. Reasoning and provider data survive tape reload and replay.

Each release publishes a multi-arch image: ghcr.io/bubbuild/bub:0.6.0, :0.6 and :latest. See Deploy the app.

The docs at bub.build are reorganized into SDK (bub.core) and app (bub[app]) guides, in English and Chinese.

The breaking changes in this list are AgentPlugins / provide_tools (#371) and BubError tool results (#385). The other changes are Republic-based models and bub login codex (#349), OSC 7501 status (#345), per-run prompt and tool preparation (#376), the new CLI options and ,model completion (#377, #380, #381, bub → bub chat), the token speed fix (#386), the channel prompt fix (#384), the deferred tools fix (#387), the context size fix (#388), security updates (#374, #378) and the docs overhaul (#375).

Loading

Uh oh!

There was an error while loading. Please reload this page.

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →