This repository was archived by the owner on Sep 4, 2026. It is now read-only.
Repository navigation
v1.0.4
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 asdsh 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
cwdis 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.