Skip to content

v1.0.5

Latest

Choose a tag to compare

@liangyou09 liangyou09 released this 19 Aug 07:45
· 1 commit to main since this release

LyShell v1.0.5

Release date: 2026-08-19

✨ Features

  • First-class codex & claude agents: codex and claude join dsh as first-class Harness agents — each gets its own left-rail tab, a dedicated workspace list, dependency detection, and per-workspace model & environment variables.
  • Shared Harness framework: dsh was migrated onto a generic framework (detect / cwd / storage / launch), with the three agents' IPC channels registered from a single loop instead of three copies of duplicated logic.
  • Instant PATH refresh: the environment now reads the registry PATH live and injects it consistently across local sessions, dsh web, and dependency detection — newly installed CLIs are picked up without restarting the app.
  • Per-workspace model for codex/claude: the model is passed as codex --model <model> / claude --model <model> (left blank to omit); environment defaults are OPENAI_API_KEY / ANTHROPIC_API_KEY.
  • dsh Web tab drag-to-split: the dsh Web tab can now be dragged — to a pane's center to remount it, or to an edge to split into its own pane; the webview is hidden during the drag so it doesn't swallow drag events.
  • Overlay pane keep-alive: empty panes hosting the dsh Web / MCP audit view are no longer accidentally removed by pane cleanup.

🔄 Changed

  • dsh Web entry reworked: the per-workspace globe icon is gone — the panel title is now the single Web UI entry, opening dsh web at the dsh-specific $DSH_HOME/web directory, decoupled from the TUI workspace list.

🗑️ Removed

  • Workspace pinning: the workspace pin (置顶) control and its setPinned IPC, introduced in v1.0.4, have been removed.

🔒 Security

  • Model-name whitelist: codex/claude model strings are validated against a strict [A-Za-z0-9._:-] whitelist before being appended as --model. This is the sole defense against command injection, since model strings are typed into an interactive shell via the PTY. Covered by a new launch.test.ts suite.

🐛 Bug Fixes

  • Sessions panel drag reset: the drag handler now resets draggedIndex on onDragEnd, fixing rows stuck in the dragging state when dropped on an invalid target.

🎨 Polish

  • Harness panel title / workspace header restyled for clearer visual hierarchy, and the environment-variable fill button was de-crowded from its hint text.