Nanobot

Nanobot splits quick chat from temporary chat

Nanobot’s WebUI proposal combines a persistent Quick Chat with a connection-scoped Temporary Chat that cannot reach projects, local tools, skills, memory, attachments or durable transcripts. In parallel, session storage is moving from JSONL to SQLite with transactional migration and retained rollback backups.

← Back to homeOriginal source ↗

HKUDS/nanobot PR #5173 is the inspected primary source: “feat(session): migrate session storage from JSONL to SQLite.” The two related records below were inspected as supporting context, not treated as independent confirmation.

The facts

- HKUDS/nanobot PR #5173 was created 2026-07-30T04:21:38Z and was open at inspection; its title is “feat(session): migrate session storage from JSONL to SQLite.” - HKUDS/nanobot PR #5184 was created 2026-07-30T17:41:17Z and was open at inspection; its title is “feat(webui): add Quick Chat and Temporary Chat.” - HKUDS/nanobot PR #5181 was created 2026-07-30T14:31:31Z and was closed at inspection; its title is “feat(webui): add persistent Quick Chat.” - The repository reported 46440 stars, 775 open issues, default branch main, and last push 2026-07-30T18:36:49Z. - The latest tagged-release baseline checked was v0.3.0 published 2026-07-25T08:08:47Z.

What changed

HKUDS/nanobot PR #5173 reports: Summary make sessions.db the only runtime session store transactionally import canonical /sessions/*.jsonl on first startup retain JSONL files as rollback backups while runtime reads and writes use SQLite route WebUI session listing and Dream pruning through SessionManager remove the parallel JSONL runtime store and backend selector Migration and compatibility safety rebase onto main 6a1a45d07 and preserve OpenAI Responses provider continuation state use schema v2 with an in-place v1 -> v2 migration for the private metadata envelope keep public session metadata in an extensible JSON object; unknown nested fields survive migration,

HKUDS/nanobot PR #5184 reports: Summary add persistent Quick Chat as a first-class WebUI entry that reuses the normal session, thread, and streaming stack reuse one shared sidebar selection highlight across top-level navigation, sessions, and settings add opt-in Temporary Chat with in-memory history only and an edge-owned discard lifecycle keep Temporary Chat away from projects, local tools, skills, memory, attachments, and durable transcripts while disclosing model-provider delivery Architecture Quick Chat is an ordinary WebSocket session with a stable identity. Temporary Chat reuses the same ThreadShell, message rendering, and stream hook; the WebSocket channel owns its

HKUDS/nanobot PR #5181 reports: Summary add a dedicated **Quick Chat** entry backed by one persistent WebSocket session keep that fixed conversation out of the normal topic list and search reuse the existing thread and composer while removing new-session, fork, session-info, and project-picker affordances from this fixed surface Architecture WebUI-only change: no agent loop, runner, channel, session-manager, command, or persistence changes the reserved Quick Chat identity is centralized in one small helper; all message/history behavior continues through the normal session path regular topics retain their existing routes, project controls, title refresh, search, and sidebar state

Why it matters

A temporary chat is a product boundary, not a delete button. The runtime must prevent durable writes and capability access while still disclosing that prompts reach the configured model provider. This is an operator boundary: persisted state, execution ownership and visible controls must describe the same event. A workaround that broadens access, deletes state or hides the symptom would trade a visible defect for an unmeasured one.

Current

The primary record was open when captured on 2026-07-31. The release baseline was v0.3.0 published 2026-07-25T08:08:47Z. Current repository metadata, pull requests, issues, release records, Google News discovery, Hacker News discovery, Lobsters, Metamesh and the rendered ClawCharts row were checked. ClawCharts selected the subject; it did not prove the claim.

Evidence

The primary URL is https://github.com/HKUDS/nanobot/pull/5173. Supporting records are https://github.com/HKUDS/nanobot/pull/5184 and https://github.com/HKUDS/nanobot/pull/5181. Their source bodies, timestamps and states were captured in the daily evidence bundle. Test counts, reproductions and deployment observations remain attributed to their authors unless explicitly identified as independently rerun.

Source boundary

Open work is described as open, closed work as closed, and operator reports as reports. A pull request is evidence of proposed or reviewed direction, not proof of a shipped release. Issue closure would not by itself prove a deployed fix. Search residue, package mirrors and historically published source spines were excluded.

Operator take

Test browser refresh, disconnect and restart separately; verify transient sessions never enter SQLite, search or project surfaces, and keep provider delivery visible in the UI. Preserve a before-state receipt, make the smallest reversible change, and verify the original failure independently after intervention.

Caveat

Public project records are mutable. Status, scope and evidence can change after publication. This brief records the inspected state and does not authorize changes to a reader’s deployment.

Source inspected; source state, environment and release boundary remain explicit.