Skip to content

Agent Sessions 5.0

Latest

Choose a tag to compare

@jazzyalex jazzyalex released this 18 Aug 03:12
· 2 commits to main since this release

What's New in 5.0

Highlights:

  • Agents are now plug-in adapters, and adding one is a documented recipe. Until now every agent was wired in by hand, surface by surface — session list, search, filter pills, Analytics, Settings, launch progress, the enablement notice — which is why an agent could appear in one place and be quietly missing from another, and why adding one meant first finding all those places. Each agent is now described once, in its own adapter, and every surface derives from that description. Measured on a real contribution: adding an agent used to touch 26 shared files; it now touches 12, all listed in docs/adding-a-session-source.md, with tests that fail if one is missed. Qwen Code (below) is the first agent added this way. For users the payoff is consistency — switch an agent off and it leaves every surface together; for contributors it means you can add the agent you use without archaeology.
  • Qwen Code joins as the thirteenth session source. Agent Sessions discovers session-ID-named JSONL chats under Qwen's local projects store and adds them to browsing, search, filtering, Analytics, saved-session backfill, and the transcript view, including recorded reasoning and tool activity. Rewound branches are reconstructed with Qwen's active parent chain, repeated-record fragments and glued JSON objects are recovered, and current custom titles and working directories follow that chain. Settings includes binary and storage-root controls; active-chat resume actions use the installed CLI's advertised --resume <id> syntax, with directory-scoped --continue as a safe fallback, while archived histories remain browse-only. The format is verified against real 0.14.3 transcripts. The installed CLI is 0.21.13, but Qwen's free OAuth tier was withdrawn on 2026-04-15, so no fresh 0.21.13 transcript could be captured and resume is implemented from installed help and reader evidence with hermetic tests rather than an end-to-end run.

Features:

  • A one-time invitation to add a missing agent. Long-time users see a single dismissible card above the session list pointing at the source-proposal form and the contributing guide, so the manual contribution path is discoverable from inside the app. It appears only after 25 opened sessions or 45 days, never on a fresh install, never above an existing card, and ends permanently on dismissal, on a second "Maybe later", or as soon as either page is opened. The card reads nothing and sends nothing — it only opens a public page.

Bug Fixes:

  • Switching an agent off now keeps it out of filter-view search results. Search inside the filtered session view ran on a hand-written allow-list that stopped short of several agents, so their sessions could still surface in results after you had disabled them. The allow-list now derives from the same enablement the rest of the app reads, for every agent.
  • Kimi Code and Grok CLI report when their loading has finished. Neither agent's indexing phases reached the app's launch state, so the startup progress could stay incomplete or misreport while their sessions were in fact ready. Launch state now covers all thirteen agents, and an agent you do not have installed settles to ready instead of hanging.
  • OpenClaw no longer sets Analytics rebuilding on every launch. OpenClaw's enable switch was mirrored into a second stored value that was never seeded from the real setting, so each launch read a change that had not happened — marking Analytics out of date and triggering a refresh nothing asked for. Both now read one setting.
  • Every agent's switch shows the same "restart to apply" notice. Toggling Hermes, Droid, OpenClaw, Cursor or Pi silently skipped the notice the other agents flash, so the same action gave different feedback depending on which agent you flipped.
  • Database-backed agent sessions now enter indexed search. OpenCode and Hermes sessions stored in SQLite shared one file path, so background search ingest could not tell their session identities apart and skipped their transcript text. The ingest path now tracks each session's identity, storage path, and content revision independently, refreshes WAL-only changes, pages past stale search hits, preserves the last healthy index on transient database failures, and reconciles moved, unpinned, deleted, or old-root sessions across search and Analytics.

Full release notes: https://github.com/jazzyalex/agent-sessions/releases/tag/v5.0