v1.7

Prompt Guidance Overhaul, Streaming Tool Dispatch, & Plugin Discovery

April 3, 2026

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.

✨ New Features

  • 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.