Ir al contenido

Blog

Releasesv0.35.0

v0.35.0 — the desktop app wakes up, remembers, and can reach you

This is the release note as published, not a rewrite of it. Release notes are published in the language they were written in.

The desktop app stops being something you have to open and ask. It now fires schedules on its own, can keep what you tell it to remember, and can reach you on Discord — all configured from the UI, no terminal.

The app becomes proactive

  • Schedules actually fire. chimera app runs the cron daemon in-process (before, only chimera serve --cron did), so a job runs a real agent turn while the app is open and appends its answer to scheduler/cron_results.jsonl — a durable sink, so nothing is lost silently. On by default; --no-cron makes the app purely reactive.
  • Create a schedule from the UI. The Agenda screen could only toggle and delete; now it has a form with quick picks for the common cases.
  • The chat can build durable memory — opt-in, explicit-only. Turn on "remember from chat" and an explicit "remember that…" writes a lasting fact. Only an explicit request is captured — never ambient extraction from whatever you happened to type. Off by default: automatic memory is a privacy decision, so it stays yours.
  • The agent can reach you on Discord. Settings has a Messaging card (bot token + a run toggle); the adapter runs inside the app process. Starting with no token fails with a clear message instead of a crash, and a dead adapter shows its error. Telegram is a small extension of the same manager.

The loading spinner

Screens spun for seconds, and on an error some spun forever with no message. The endpoints were never slow (most under 20ms, one request per screen). The wait came from a retry backoff that sat out the backend's boot, and from a spinner condition that an error never cleared. Now: a bounded fast retry behind one "starting…" gate, longer cache so revisiting a screen doesn't respin, and a shared error state with a retry button everywhere data loads.

Beyond the app

  • Point any LLM client or benchmark at the agent. POST /v1/chat/completions and GET /v1/models speak the OpenAI wire format, but the thing behind them is the whole loop — tools, steps, retries — not one model call. usage reports what the entire turn cost, and requests are stateless so a benchmark's items stay independent.
  • Run fully local, keyless. CHIMERA_MODEL=ollama/llama3 works out of the box — the credential gate recognises Ollama as a keyless local runtime.
  • Opt-in OpenTelemetry — OTLP spans per tool call and metrics per run, so an autonomous run stops being a black box. Zero overhead until you turn it on; an unknown model price emits no cost datapoint rather than a guessed one.
  • Security: a live cross-agent taint gate for a collaborating crew, taint tracking on the API solve path, and code_interpreter closed as an ungated host-exec door.
  • The central claim cleared significance. Driving a weak model through the loop beats the same model answering once: 9.0% → 15.0% on a pre-registered n=100 suite, paired 95% CI excluding zero. Design and all tasks were committed before any model call.

Honest caveats

  • Installers are unsigned. Windows SmartScreen and macOS Gatekeeper will warn on first run; that is expected, and code-signing is not yet in place.
  • Cron expressions are evaluated in UTC, not your local time — a "7am" job means 07:00 UTC.
  • The spinner fix makes the wait short and honest, not zero. The frozen backend's own cold-boot cost is untouched.
  • The external benchmark still says no. Internal lift is significant; the Terminal-Bench run showed no lift and is published next to the promising number rather than buried.
  • Cancellation is cooperative — a run stops after the attempt in flight, not mid-call.

Read the release on GitHub