Skip to content
This repository was archived by the owner on Sep 4, 2026. It is now read-only.

v1.0.4

Choose a tag to compare

@liangyou09 liangyou09 released this 17 Aug 09:32
· 164 commits to main since this release

LyShell v1.0.4

Release date: 2026-08-17

✨ Features

  • DeepSeek Harness workspace: a dedicated panel for managing DeepSeek Harness workspaces — create, edit, pin, and delete, with per-workspace environment variables (DEEPSEEK_API_KEY, DEEPSEEK_BASE_URL, DSH_HOME, …) and model presets.
  • TUI & Web UI launch: each workspace can open in a terminal TUI (dsh-tui) or an embedded Web UI. The Web UI is spawned as dsh web --port 0, its real port parsed from stdout, and rendered inside LyShell as a <webview> tab.
  • Web UI behaves like a terminal tab: closable via ✕ and switchable back and forth — switching away hides it while keeping the page state and subprocess alive, and only ✕ tears it down.

🔒 Security

  • Web UI navigation and popups are locked to the workspace's loopback origin; the echoed URL is validated (loopback + explicit port, no embedded credentials) before the <webview> ever loads it.

🐛 Bug Fixes

  • Workspace cwd is now validated on save and launch (expands ~, must be an absolute existing directory).
  • Workspace storage is hardened: dedup by id, reindex on load and delete, rollback on save failure.
  • Workspace deletion now requires a two-step confirmation.
  • The DSH web subprocess is fully reclaimed on every exit path — tab close, window close, pane merge, dragging the last terminal away, and rapid workspace switching.