v1.7 tightens default prompts to a compact assembled stack while preserving guardrails, dispatches tool calls as soon as a complete JSON object appears in the model stream, and adds discovery cards on the welcome experience so new users can find the Plugin Hub and messaging integrations quickly.
Early tool dispatch via streaming JSON detection — Tool calls run as soon as the first fully closed top-level brace-delimited JSON object is detected in the model stream; the stream stops there instead of waiting for trailing tokens. The DirtyJson parser exposes a completed flag when the root object is explicitly closed (not merely at end-of-file), and extraction is limited to brace-delimited objects that match real tool-call shapes.
Plugin discovery cards on welcome & onboarding — An always-on _discovery plugin adds feature cards on the welcome/dashboard surface for the Plugin Hub and integrations (Telegram, Email, WhatsApp), with persistent dismiss/restore and CTAs into the right plugin config screens. Cards appear in the final onboarding step and stay hidden while the missing-API-key banner is shown. Implemented entirely through the existing WebUI extension mechanism without rewriting core welcome-screen code.
⚡ Improvements
Compact default prompts with guardrails — Default assembled prompts across the core stack, plugin-owned prompts, and the agent0 overlay now sit under roughly 3 000 tokens while retaining essential guardrails.
Restored guidance after over-trimming — Brought back tool-call JSON examples, communication/solving/tips guidance, and the agent0 profile after aggressive cuts caused regressions on frontier models.
Stricter JSON and response style defaults — Added guidance so models treat the closing brace as an end-of-sequence signal, and defaulted answers to concise with expansion when needed.
Profile and knowledge file cleanup — Removed the obsolete a0_small profile and renamed the tool-call knowledge reference to a generic framework file.
Prompt regression test — Added a test that checks the assembled default prompt stays within the token budget and still includes critical guardrails.
🐛 Bug Fixes
Plugin config when directory is missing — Fixed a crash during config retrieval when a plugin directory cannot be found: get_plugin_config and get_default_plugin_config return early instead of passing a None path into the filesystem layer.
We use essential cookies for login and saving your preferences. With your consent, we also
use analytics cookies (Google Analytics) to improve the website.
Learn more