Skip to content

muselab v1.2.0 — workspaces, terminal, activity and richer conversations

Latest

Choose a tag to compare

@hesorchen hesorchen released this 26 Jul 04:11

muselab v1.2.0 turns the self-hosted AI workspace into a more complete environment for long-running agent work. This release adds multi-workspace support, a real terminal, a unified activity center, conversation forks, richer previews, image generation, and substantial reliability improvements across desktop and mobile.

Highlights

Multiple workspaces

  • Register, sort, and switch between multiple working directories.
  • Keep file-tree, preview, terminal, and session context scoped to the active workspace.
  • Refresh the file tree when files are changed by an agent, terminal, or external editor.
  • Support workspace symlinks and preserve per-workspace UI state.

Real terminal

  • Open real PTY terminals directly in the preview area.
  • Create, rename, switch, and close multiple terminals per workspace.
  • Configure startup profiles, commands, terminal limits, buffers, and TTL.
  • Use the terminal from both desktop and mobile layouts.

Better conversations and background work

  • Fork a complete conversation or branch from a completed turn.
  • Continue sending messages while background tasks are running.
  • See live turn status, elapsed time, model, tool timestamps, and compaction progress.
  • Automatically synchronize messages written by another device, a scheduled job, or a background task.
  • Use the per-device compact mode to hide routine tool output while preserving errors, permissions, tasks, and prompts.
  • Remove the fixed 30-minute turn timeout; deployments can set MUSELAB_TURN_TIMEOUT_S when needed.

Activity Center

  • View background tasks and scheduled jobs across all workspaces in one place.
  • Receive more reliable cross-device Web Push notifications.
  • Use the new native macOS menu-bar client to monitor activity for local or remote instances.

Files, editing, and previews

  • Edit Markdown in edit, split, or preview mode with live rendering.
  • Preview highlighted source files, relative Markdown images, and zoomable Markdown, HTML, and images.
  • Preserve reading and preview state per workspace and file.
  • Avoid freezes when switching large file trees.

Attachments

  • Store text, PDF, and spreadsheet attachments as original files under .muselab-attach/<session-id>/ and pass file references to the agent.
  • Remove the previous 200 KB text-attachment limit.
  • Preserve original Excel workbooks and support non-ASCII filenames.
  • Add a local-file fallback for PDF handling through compatible gateways.

Providers and image generation

  • Add a Codex Gateway compatibility layer for local Anthropic Messages-compatible sidecars.
  • Improve model context and quota handling for gateway models.
  • Add background image generation through the OpenAI Images API or an optional local Codex image-generation path.
  • Persist third-party provider runtime state and expose user Skills consistently.

Reliability, performance, and security

  • Use a single persistent stream pump to prevent competing iterators and unblock new messages during background work.
  • Fix mobile stream truncation, false /compact failures, focus stealing, stop-state drift, input history, and modal stacking.
  • Improve session synchronization, SSE recovery, attachment handling, and file-tree responsiveness.
  • Keep dependency security constraints current and retain source-level personal-data leak checks.

Upgrade notes

Terminal security

The terminal runs with the real permissions of the muselab service account; it is not a Files API sandbox. Review authentication, HTTPS, reverse-proxy configuration, and service-account permissions before exposing an instance remotely.

Disable the terminal if it is not needed:

MUSELAB_TERMINAL_ENABLED=0

CLAUDE.md replaces the old injected prompt

muselab no longer injects a global or session-level system prompt. Put persistent behavior, identity, language, and workflow instructions in the appropriate user-level or workspace-level CLAUDE.md and Skills.

Backups

Attachments and newly persisted workspace state expand the backup surface. Include at least:

$MUSELAB_ROOT/.muselab-attach/
$MUSELAB_ROOT/.muselab/imagegen/
$MUSELAB_ROOT/.muselab/workspaces.json
$MUSELAB_ROOT/.muselab/activity.json
$MUSELAB_ROOT/.muselab/terminal_profiles.json
${XDG_STATE_HOME:-~/.local/state}/muselab/vendor-cli/

Third-party provider state is automatically migrated from the old temporary directory. Conflicting files are placed under vendor-cli/.migration-conflicts/.

macOS

The macOS installer now compiles the native menu-bar client through xcrun, so Xcode Command Line Tools are required. Re-run the installer when upgrading an existing installation if you want the menu-bar component.

Browser refresh

After upgrading, completely close and reopen the installed PWA or perform a hard refresh so an older frontend bundle is not used with the new backend.

Compatibility

Existing sessions and JSON state remain forward-compatible, and the required state migrations run automatically. Sessions without an explicit working directory continue to use the primary MUSELAB_ROOT.

Full diff: v1.1.0...v1.2.0