v0.2.2-rc.2pre-release
Official Changes
New
- Git Worktree supports reviewing changes by branch, commit, and file category, with GitHub reviews, synchronized viewed-file progress, and branch updates directly in DSH. by @LegGasai
- SubAgent supports named, multi-level collaboration, while AgentTeam can be enabled per session with a shared member and task panel. by @Dudu-0223, @Yifffan
- Desktop settings now let you switch between stable and development update channels. by @winewill
Changed
- Improve commenting, file navigation, and narrow-screen layouts during code review, reduce lag when viewing large changes, and allow more time to create worktrees in large repositories. by @LegGasai
- Improve browsing and coordinating nested subagents, prioritizing task descriptions and supporting incremental expansion and retries after failed reads. by @Dudu-0223
- Improve sidebar plugin organization: move infrequently used entries into More and restore them without changing their original order. by @Yifffan
- Simplify actions after installing personalized pages, replacing Keep with Undo and Restore. by @ZiyaZhang
- Improve custom-theme coverage for notifications, cards, plans, tasks, and other interface colors. by @turtle2099
- Improve menu positioning during page zooming, panning, and browsing long lists, keeping menus aligned with their triggers; custom panels need to adopt the new positioning API. by @Stevring, @LegGasai
- Improve dark-theme file-tree panels with layered backgrounds instead of white shadows. by @turtle2099
- Improve file discovery in the sidebar with name and path search, exclusion rules, and hidden-file controls. by @yudshj
- Improve browsing and dragging in long sidebar lists, with plugin navigation and sessions sharing a scroll area and workspace controls remaining visible. by @Yifffan
- Streamline opening a session's working directory through a consistent Open in menu, with improved narrow-screen usability. by @Yifffan
- Open file context menus faster; when application lookup is slow, offer a default-app action first. by @yudshj
- Automatically load earlier messages when scrolling up through chat, prioritizing reading-position stability while retaining manual loading and retry controls. by @imccyu
- Make chat activity easier to inspect by expanding workspace instructions, skill catalogs, and other context received by the model. by @turtle2099
- Improve patch-edit receipts by listing affected files even when collapsed and allowing them to be opened after successful edits. by @sjw1231
- Improve interaction animations on the session home screen. by @ZiyaZhang
- Improve context reminders after session resume or compaction by clarifying how current runtime information replaces older information. by @kermanx
- Improve reading code diffs in chat with added and removed row colors and per-file syntax highlighting. by @mektpoy
- Improve image and file pasting without a focused composer, routing content to the most recently used available composer or the main conversation. by @std4453
- Improve feedback when pausing or resuming scheduled tasks, keeping focus and appearance stable while preventing duplicate actions. by @turtle2099
- Refine goal-bar action order and spacing to Edit, Clear, and Pause or Resume. by @turtle2099
- Improve model-request retry settings with configurable retry conditions, counts, and wait times in model settings. by @turtle2099
- Make recovery from transient request failures easier with Continue generating, without requiring another message. by @LegGasai
- Improve API-key management with masked previews and full replacement or removal, without revealing the complete saved key. by @Magolor
- Improve multi-question research with up to 10 queries and 10 sources per web-search call by default. by @turtle2099
- Make Agent terminals visible in the sidebar and let users take over by typing; user-terminal content that agents are permitted to read enters model context and session records. by @LegGasai
- Improve batch file, task, and resource queries by allowing more read-only tools to run concurrently while returning results in call order. by @turtle2099
- Improve Desktop update progress displays, with status available from the download percentage or Check for updates. by @winewill
- Web search now defaults to DeepSeek Search API, with separate account or API-key billing choices for Search and Fetch; migrate older providers and custom settings using the upgrade guide. by @yudshj
- Archiving sessions cleans up eligible Git worktrees by default while preserving branches and commits; disable cleanup to retain local directories, and migrate custom configuration and Forge plugins. by @LegGasai
- AgentTeam uses unified named subagents, with the interrupt tool disabled by default; migrate custom plugins and SDK integrations and upgrade all processes sharing session storage together. by @Dudu-0223
- SDK configuration can enable Team collaboration by default for new sessions while preserving the saved choice when resuming existing sessions. by @Dudu-0223
- Plugins can dynamically register and remove MCP servers, query their status, restart them, and probe connections without requiring users to maintain each server configuration manually. by @LegGasai
- Plugins can extend chat code-block rendering by language, falling back to ordinary code blocks when no renderer matches or rendering fails. by @imccyu
- Plugin indexes can provide GitHub stars and weekly npm downloads while keeping the order supplied by the index as the default. by @turtle1999
- Creator guidance consolidates into dsh-doc for customizing DSH and consulting current-version resources; extensions referencing old skill names or paths need migration. by @turtle1999
- Custom model providers support the native Gemini API, including model discovery and reasoning-level settings. by @turtle2099
- Model-request User-Agent headers include the active profile, helping servers distinguish Desktop, Web, CLI, and SDK requests. by @imccyu
- Account notifications support announcements and refresh with the interface language; existing sign-ins are retained, while custom account plugins and configuration need migration. by @lsdsjy
- PTC limits total tool calls according to its runtime budget; exceeding the limit terminates the code and clears retained state without undoing completed operations. by @kermanx
- Session supports batched event appends without changing the log format; custom append wrappers need to support batch calls. by @liukx0205
- Tool failures provide clearer error types and codes for diagnosis; plugins and SDK integrations relying on older classifications need updating. by @sjw1231
- Adjust Computer Use window operations, keyboard control, and authorization, keeping the system pointer still by default; upgrade custom scripts and helpers together. by @CreatixChu, @Tuyixiang, @Dudu-0223
- Office uses native tools, with skills available in Web and SDK sessions; migrate old packages and skills. Document parsing runs in the DSH host process outside the shell sandbox. by @yudshj
- Windows extra-directory grants apply only to file tools, not terminal or PTC access; related sandbox extensions need migration. by @Tuyixiang
- Adjust LiveShare multi-session sharing and plugin authorization; reconfigure old grants. PTC can access files outside the shared directory, so share only with trusted people. by @mektpoy
- npm installations and Desktop include matching source code and documentation for reference and extension development; Python single-file runtimes exclude these resources. by @turtle1999
- Upgrade Zod to 4.6.6 and Stagehand to 4.4.0; Stagehand automatically discovers extensions, and the old extensionId setting no longer takes effect. by @imccyu
Fixed
- Fix PR updates causing displayed diffs to use mismatched commit line numbers, and improve counts for large numbers of review threads. by @LegGasai
- Fix private Git plugin details failing to load for users with SSH-only credentials. by @turtle2099
- Fix optional plugin failures preventing the entire Web app from starting; required-plugin failures remain visible errors. by @imccyu
- Fix enabled but unloaded plugins appearing to run, clearly showing Not running and the reason. by @turtle1999
- Fix repeated waits for subagent messages within PTC waking repeatedly for the same message. by @Dudu-0223
- Fix file-tree crashes when browsing special filenames or extensions. by @LegGasai
- Fix a nonfunctional New Session button appearing in the Ungrouped session header. by @turtle2099
- Fix garbled formula copying in chat, copying formulas within a single Markdown document as TeX source. by @turtle2099
- Fix Perl regular expressions incorrectly coloring subsequent code. by @turtle2099
- Fix history loading and new-message displays remaining stuck after a chat-update error. by @Magolor
- Improve title numbering when repeatedly branching a session, skipping used numbers to reduce duplicate names. by @turtle2099
- Fix some errors during task cancellation or session shutdown leaving work running or releasing resources prematurely. by @liukx0205
- Fix retried requests during message submission or attachment preparation submitting the same message more than once. by @liukx0205
- Fix the Chinese goal bar confusing goals awaiting continuation with paused goals. by @imccyu
- Fix accumulated authentication data preventing Desktop startup after repeated launches. by @turtle2099
- Fix welcome-screen confirmation failing to save when the Windows CLI is launched through a short path. by @winewill
- Fix macOS window dragging and paste shortcuts, and white flashes when starting Windows in dark mode. by @yxy72, @winewill, @turtle2099
- Improve feedback during Windows update installation with an installation-status window, reducing unexplained waiting during restarts. by @winewill
- Fix mobile Safari enlarging chat text beyond the configured font size when unfolding or changing the viewport, while preserving manual page zoom. by @Saafo
- Fix long-running background processes slowing session loading and creation on Linux. by @turtle2099
- Fix some models rejecting further requests after tools are removed or replaced in a session. by @Tuyixiang
- For Anthropic Messages connections, omit invalid signed thinking after history-prefix changes to reduce persistent request failures after compaction. by @turtle2099
- Fix some model-gateway failures being misreported as invalid API keys, allowing retries to follow the actual response status. by @LegGasai
- Fix startup failure after configuring DeepSeek endpoints in the DSH user directory; project environment settings still cannot override these endpoints. by @LegGasai
- Fix progressively slower loading and rapid-page-navigation stalls when browsing multi-page PDFs. by @turtle2099
- Fix inspecting large Cordis trees potentially terminating the service when snapshots approach the size limit. by @turtle2099
Full official release notes
New Features
- Git Worktree supports reviewing changes by branch, commit, and file category, with GitHub reviews, synchronized viewed-file progress, and branch updates directly in DSH. by @LegGasai
- SubAgent supports named, multi-level collaboration, while AgentTeam can be enabled per session with a shared member and task panel. by @Dudu-0223, @Yifffan
- Desktop settings now let you switch between stable and development update channels. by @winewill
Improvements
- Improve commenting, file navigation, and narrow-screen layouts during code review, reduce lag when viewing large changes, and allow more time to create worktrees in large repositories. by @LegGasai
- Improve browsing and coordinating nested subagents, prioritizing task descriptions and supporting incremental expansion and retries after failed reads. by @Dudu-0223
- Improve sidebar plugin organization: move infrequently used entries into More and restore them without changing their original order. by @Yifffan
- Simplify actions after installing personalized pages, replacing Keep with Undo and Restore. by @ZiyaZhang
- Improve custom-theme coverage for notifications, cards, plans, tasks, and other interface colors. by @turtle2099
- Improve menu positioning during page zooming, panning, and browsing long lists, keeping menus aligned with their triggers; custom panels need to adopt the new positioning API. by @Stevring, @LegGasai
- Improve dark-theme file-tree panels with layered backgrounds instead of white shadows. by @turtle2099
- Improve file discovery in the sidebar with name and path search, exclusion rules, and hidden-file controls. by @yudshj
- Improve browsing and dragging in long sidebar lists, with plugin navigation and sessions sharing a scroll area and workspace controls remaining visible. by @Yifffan
- Streamline opening a session's working directory through a consistent Open in menu, with improved narrow-screen usability. by @Yifffan
- Open file context menus faster; when application lookup is slow, offer a default-app action first. by @yudshj
- Automatically load earlier messages when scrolling up through chat, prioritizing reading-position stability while retaining manual loading and retry controls. by @imccyu
- Make chat activity easier to inspect by expanding workspace instructions, skill catalogs, and other context received by the model. by @turtle2099
- Improve patch-edit receipts by listing affected files even when collapsed and allowing them to be opened after successful edits. by @sjw1231
- Improve interaction animations on the session home screen. by @ZiyaZhang
- Improve context reminders after session resume or compaction by clarifying how current runtime information replaces older information. by @kermanx
- Improve reading code diffs in chat with added and removed row colors and per-file syntax highlighting. by @mektpoy
- Improve image and file pasting without a focused composer, routing content to the most recently used available composer or the main conversation. by @std4453
- Improve feedback when pausing or resuming scheduled tasks, keeping focus and appearance stable while preventing duplicate actions. by @turtle2099
- Refine goal-bar action order and spacing to Edit, Clear, and Pause or Resume. by @turtle2099
- Improve model-request retry settings with configurable retry conditions, counts, and wait times in model settings. by @turtle2099
- Make recovery from transient request failures easier with Continue generating, without requiring another message. by @LegGasai
- Improve API-key management with masked previews and full replacement or removal, without revealing the complete saved key. by @Magolor
- Improve multi-question research with up to 10 queries and 10 sources per web-search call by default. by @turtle2099
- Make Agent terminals visible in the sidebar and let users take over by typing; user-terminal content that agents are permitted to read enters model context and session records. by @LegGasai
- Improve batch file, task, and resource queries by allowing more read-only tools to run concurrently while returning results in call order. by @turtle2099
- Improve Desktop update progress displays, with status available from the download percentage or Check for updates. by @winewill
Bug Fixes
- Fix PR updates causing displayed diffs to use mismatched commit line numbers, and improve counts for large numbers of review threads. by @LegGasai
- Fix private Git plugin details failing to load for users with SSH-only credentials. by @turtle2099
- Fix optional plugin failures preventing the entire Web app from starting; required-plugin failures remain visible errors. by @imccyu
- Fix enabled but unloaded plugins appearing to run, clearly showing Not running and the reason. by @turtle1999
- Fix repeated waits for subagent messages within PTC waking repeatedly for the same message. by @Dudu-0223
- Fix file-tree crashes when browsing special filenames or extensions. by @LegGasai
- Fix a nonfunctional New Session button appearing in the Ungrouped session header. by @turtle2099
- Fix garbled formula copying in chat, copying formulas within a single Markdown document as TeX source. by @turtle2099
- Fix Perl regular expressions incorrectly coloring subsequent code. by @turtle2099
- Fix history loading and new-message displays remaining stuck after a chat-update error. by @Magolor
- Improve title numbering when repeatedly branching a session, skipping used numbers to reduce duplicate names. by @turtle2099
- Fix some errors during task cancellation or session shutdown leaving work running or releasing resources prematurely. by @liukx0205
- Fix retried requests during message submission or attachment preparation submitting the same message more than once. by @liukx0205
- Fix the Chinese goal bar confusing goals awaiting continuation with paused goals. by @imccyu
- Fix accumulated authentication data preventing Desktop startup after repeated launches. by @turtle2099
- Fix welcome-screen confirmation failing to save when the Windows CLI is launched through a short path. by @winewill
- Fix macOS window dragging and paste shortcuts, and white flashes when starting Windows in dark mode. by @yxy72, @winewill, @turtle2099
- Improve feedback during Windows update installation with an installation-status window, reducing unexplained waiting during restarts. by @winewill
- Fix mobile Safari enlarging chat text beyond the configured font size when unfolding or changing the viewport, while preserving manual page zoom. by @Saafo
- Fix long-running background processes slowing session loading and creation on Linux. by @turtle2099
- Fix some models rejecting further requests after tools are removed or replaced in a session. by @Tuyixiang
- For Anthropic Messages connections, omit invalid signed thinking after history-prefix changes to reduce persistent request failures after compaction. by @turtle2099
- Fix some model-gateway failures being misreported as invalid API keys, allowing retries to follow the actual response status. by @LegGasai
- Fix startup failure after configuring DeepSeek endpoints in the DSH user directory; project environment settings still cannot override these endpoints. by @LegGasai
- Fix progressively slower loading and rapid-page-navigation stalls when browsing multi-page PDFs. by @turtle2099
- Fix inspecting large Cordis trees potentially terminating the service when snapshots approach the size limit. by @turtle2099
Chores
- Web search now defaults to DeepSeek Search API, with separate account or API-key billing choices for Search and Fetch; migrate older providers and custom settings using the upgrade guide. by @yudshj
- Archiving sessions cleans up eligible Git worktrees by default while preserving branches and commits; disable cleanup to retain local directories, and migrate custom configuration and Forge plugins. by @LegGasai
- AgentTeam uses unified named subagents, with the interrupt tool disabled by default; migrate custom plugins and SDK integrations and upgrade all processes sharing session storage together. by @Dudu-0223
- SDK configuration can enable Team collaboration by default for new sessions while preserving the saved choice when resuming existing sessions. by @Dudu-0223
- Plugins can dynamically register and remove MCP servers, query their status, restart them, and probe connections without requiring users to maintain each server configuration manually. by @LegGasai
- Plugins can extend chat code-block rendering by language, falling back to ordinary code blocks when no renderer matches or rendering fails. by @imccyu
- Plugin indexes can provide GitHub stars and weekly npm downloads while keeping the order supplied by the index as the default. by @turtle1999
- Creator guidance consolidates into dsh-doc for customizing DSH and consulting current-version resources; extensions referencing old skill names or paths need migration. by @turtle1999
- Custom model providers support the native Gemini API, including model discovery and reasoning-level settings. by @turtle2099
- Model-request User-Agent headers include the active profile, helping servers distinguish Desktop, Web, CLI, and SDK requests. by @imccyu
- Account notifications support announcements and refresh with the interface language; existing sign-ins are retained, while custom account plugins and configuration need migration. by @lsdsjy
- PTC limits total tool calls according to its runtime budget; exceeding the limit terminates the code and clears retained state without undoing completed operations. by @kermanx
- Session supports batched event appends without changing the log format; custom append wrappers need to support batch calls. by @liukx0205
- Tool failures provide clearer error types and codes for diagnosis; plugins and SDK integrations relying on older classifications need updating. by @sjw1231
- Adjust Computer Use window operations, keyboard control, and authorization, keeping the system pointer still by default; upgrade custom scripts and helpers together. by @CreatixChu, @Tuyixiang, @Dudu-0223
- Office uses native tools, with skills available in Web and SDK sessions; migrate old packages and skills. Document parsing runs in the DSH host process outside the shell sandbox. by @yudshj
- Windows extra-directory grants apply only to file tools, not terminal or PTC access; related sandbox extensions need migration. by @Tuyixiang
- Adjust LiveShare multi-session sharing and plugin authorization; reconfigure old grants. PTC can access files outside the shared directory, so share only with trusted people. by @mektpoy
- npm installations and Desktop include matching source code and documentation for reference and extension development; Python single-file runtimes exclude these resources. by @turtle1999
- Upgrade Zod to 4.6.6 and Stagehand to 4.4.0; Stagehand automatically discovers extensions, and the old extensionId setting no longer takes effect. by @imccyu
dsh.so Analysis
dsh 0.2.2-rc.2 is a sizable pre-release that adds Git Worktree review (by branch, commit, and file category), named multi-level SubAgents with per-session AgentTeam, and desktop stable/development update channels. The rest is mostly polish across code review, sidebar and plugin organization, chat history loading, and diff rendering, plus a long list of stability fixes. For plugin developers it is a broad API-surface bump: plugins can now dynamically register MCP servers, extend chat code-block rendering by language, publish stars/npm download metadata in indexes, and custom providers can use the native Gemini API, while tool-error codes, batched session event appends, and menu positioning contracts changed. No items are tagged breaking, yet several changed entries explicitly require coordinated plugin/SDK migration.
Migration Guide
Read the official upgrade guide before rolling this rc out. Main items: (1) Web search now defaults to the DeepSeek Search API — migrate older providers and custom search settings, and review Search vs Fetch billing. (2) Archiving a session now cleans up eligible Git worktrees (branches and commits are preserved) — disable cleanup to keep local directories, and migrate custom Forge plugin/config. (3) AgentTeam now runs on unified named subagents with the interrupt tool off by default — migrate custom plugins and SDK integrations, and upgrade all processes that share session storage together. (4) Plugin/SDK contracts: adopt the new menu-positioning API for custom panels, support batched session event appends, update tool-failure error classifications, and migrate Stagehand's removed extensionId setting (Stagehand 4.4.0 / Zod 4.6.6). (5) Reconfigure Computer Use behavior, LiveShare grants, Windows extra-directory grants (file tools only), and legacy Office/skill package names, and update anything referencing old dsh-doc skill names or paths. Optional-plugin failures now no longer block Web startup, so verify that enabled plugins actually load.
v0.2.2-rc.1pre-release
Official Changes
New
- Improve phone and tablet support with better on-screen keyboard interaction, navigation, and narrow layouts, keeping menus and actions accessible. by @Stevring, @turtle2099, @LegGasai, @EricMoin, @Saafo
- Insert chat text as quotes in the composer and show compact previews after sending. by @lsdsjy, @imccyu
- Copy the complete conversation history as Markdown, including the original log path when available. by @tianyicui
- Keep all assistant text replies visible when work steps are collapsed, with an option to show only the final answer. by @imccyu
- Unify mouse and keyboard context menus across Sessions, workspaces, and the sidebar, with support for developer extensions. by @std4453
- Keep a directory tree in file previews and locate the current file. by @yudshj
- Add Japanese, Spanish, French, German, Russian, and Brazilian Portuguese interface text and locale configuration. by @07akioni
- Show rich-text plugin details in the plugin manager and improve page layout and navigation. by @turtle1999, @turtle2099
- Support updating third-party plugin packages and attempt to restore the previous version if hot updates fail. by @turtle1999, @turtle2099
- Add the experimental
subagent_oar tool plugin to delegate independent tasks to local Codex or Claude CLIs. by @tianyicui - Add experimental Personalized recommendations, offering official-plugin activation or personalized-page creation cards below answers when relevant. by @ZiyaZhang
- Add experimental Developer tools — Statistics for per-turn and per-step context, cache, model, and tool measurements. by @mektpoy
- Add experimental Change requests and worktrees to run Sessions in separate Git worktrees, browse local and PR diffs through a searchable file tree and per-file navigation, quote selected code and comments to the Agent, and track checks and reviews. by @LegGasai, @tianyicui
Changed
- Distinguish same-named Workspaces with their shortest unique path suffix and prioritize that suffix on narrow screens. by @turtle2099
- Support plugin icons in the Session list and improve keyboard and touch interaction. by @LegGasai
- Show working directories on sidebar Session hover cards to distinguish ungrouped or similarly named Sessions. by @turtle2099
- Improve sidebar spacing and click targets, with smoother search-field expansion and collapse. by @Yifffan
- Find Sessions by case-insensitive ID substrings in sidebar search. by @turtle2099
- Add resistance and spring-back when floating sidebar panels are dragged beyond screen edges, and keep their controls reachable when the window shrinks. by @yudshj
- Close right-sidebar tabs with the middle mouse button without selecting background tabs, while preserving the protected start tab. by @Kingwl
- Show messages and clear drafts only after the host accepts them. Keep the composer read-only while sending and preserve drafts, quotes, and attachments on failure. by @LegGasai
- Upload images as soon as they enter the composer and reuse the uploaded images when sending messages. Raise the default per-image limit to 50 MiB. by @LegGasai
- Show answered question batches as message bubbles so answers from native and PTC calls remain visible after work steps collapse. by @Kaige-Gao
- Place running status at the active turn tail before queued steering messages, distinguishing active and pending input and reducing layout jitter. by @imccyu
- Improve layout stability when expanding or collapsing work steps and interacting with the docked composer. Reduce content and scroll jumps while keeping running status visible. by @imccyu
- Show full truncated composer statistics in tooltips and include turn and step counts in Session statistics. by @turtle2099
- Briefly highlight and fade the target line in code and text previews after opening a file-line link from chat. by @turtle2099
- Pan images that exceed the viewport and transfer original files through in-app drag-and-drop or native desktop dragging. by @std4453
- Add raw JSON views of live tool results to Trajectory, displayed above rendered results. by @kermanx
- Fold Trajectory subcalls independently while keeping their parent calls and summaries visible. Reveal matching subcalls through search or cross-view navigation. by @kermanx
- Start the model picker with configured models selected, add or remove candidates while preserving custom values, and apply select-all only to visible candidates. by @turtle2099
- For models accessed through pi-ai that cannot accept additional system messages during a conversation, keep later system messages in place as reminders rather than moving them into the initial prompt. by @Tuyixiang
- Reorder models within DeepSeek and pi-ai providers by dragging or using arrow keys, preserving order and complete model parameters when saved. by @Magolor
- Clear all inactive automation tasks in one confirmed action while keeping active tasks. by @Chinesezjc
- Search prioritizes long Search API summaries for models, capped at 800 characters per source by default, while search cards retain short snippets. by @yudshj
- Improve history-context cache reuse across consecutive tool calls in Auto review to reduce repeated processing. by @turtle2099
- Background-job completion notices include small outputs and reduce duplicate notifications for already-read results and subagent closing messages. by @turtle1999
- Reduce sleeping and repeated polling in subagent guidance: end the current turn when only a result remains pending and wait for its completion notification. by @Chinesezjc
- Speed up file searches with literal directory prefixes by skipping unrelated directories while preserving results and ordering. by @kermanx
- Deliver ordinary Word edits after saving and checking content and formatting, without unnecessary ZIP, XML, or metadata inspection. by @tianyicui
- Enable WebSocket compression for remote connections by default to reduce transfers of large message histories; disable it with
websocketCompression. by @imccyu - Web static assets support ETag revalidation, returning 304 for unchanged files to avoid repeated downloads. by @imccyu
- Reduce repeated publications and catalog processing during Session state updates, and lower runtime overhead when assembling streaming replies. by @liukx0205, @imccyu
- Improve system and application permission onboarding for macOS Computer Use. Request system permissions through a standalone app with system-settings and drag-in guidance, and refresh permission status on return. Support long clicks, improve application launching, and retain application permissions across restarts. by @CreatixChu, @koalazf99
- Update to Cordis Core 4.1.0, Loader 1.1.0, and Include 1.1.0, unifying configuration access, entry changes, and persistence behavior. by @shigma, @imccyu
- Provide unified Cordis Fiber access to raw configuration, candidate resolution, and effective configuration, used consistently by settings and hot reload. by @shigma
- Raise the minimum supported Node.js version to 24.9. Upgrade older Node.js runtimes before upgrading DSH. by @tianyicui
- Upgrade pi-ai to 1.3.0 with updated model catalogs, endpoints, and reasoning replay rules; malformed completed tool arguments fail the response before any tool executes. by @tianyicui
- Default undeclared custom-model capacities to decimal 1M context and 128K output; smaller endpoints should set explicit capacities to avoid delayed compaction. by @LegGasai
- Capture the step model before prompt assembly and pre-step and retain it through retries; plugins should select through agent.model rather than changing routes in agent/request. by @kermanx
- Allow plugins to supply dynamic pi-ai headers using Session identity and request purpose, rejecting invalid headers before dispatch. by @LegGasai
- Bring the TypeScript and Python SDKs in line with Web mode for file delivery, questions and callbacks, scheduling, skills, and context. Support native commands, plugin management, plan review, goal continuation, and operation approvals; restart the SDK to apply plugin changes. by @koalazf99, @LogosVeritas
- Unify scheduled-task management across the Host with manual creation, direct editing, and prefilled prompts for creation in a Session. Retain drafts, support conflict review, and run tasks in reusable or new Sessions. by @ZiyaZhang, @Magolor
- The Git worktree entry is included in Change requests and worktrees. Remove @deepseek-ai/dsh-experimental-tool-worktree from dsh.profile.bundles if the standalone plugin was enabled. by @LegGasai
- Ralph loop and Session search are no longer listed as experimental plugins. by @ZiyaZhang
- Add
apply_patch, disabled by default, to create, edit, delete, and move multiple files in one call, with changes available in Review. by @sjw1231, @CreatixChu - Disable read-before-write and external-change checks by default while retaining sandbox limits and Review. Profiles requiring the previous checks can explicitly restore the observation policy. by @sjw1231
- Activate tools conditionally per step with consistent model declarations, PTC bindings, and execution admission. Plugins must migrate tools.resolve/executable and prompt-assembly integration. by @LegGasai
- Add a VM Script mode to Node PTC with top-level await, dynamic imports, and expression results, plus optional state retention across calls. Per-call execution remains the default; top-level return and using are unsupported. by @kermanx
- Split native and PTC tool execution into Agent-scoped plugins; enable PTC through configuration overlays and migrate tools.mode and DSH_TOOLS_MODE usage. by @kermanx
- Move the PTC Node control channel to birpc; upgrade self-deployed bootstraps and SSH helpers together, with SSH protocol increasing from 2 to 3. by @kermanx
- Report caller-cancelled run_code calls in PTC Mode as ABORTED rather than CODE_RUN_FAILED. SDK and Session consumers must update cancellation handling. by @kermanx
- Allow Web Fetch to access non-public addresses for proxies and internal networks; deployments must restrict network access separately. by @turtle2099
- Support experimental Auto review in Headless. by @tianyicui
- Retrieve diagnostic reports for desktop startup failures, including a bounded history of recent plugin operations to help troubleshooting. by @winewill
- Add independent Session APIs to read snapshots and continuously subscribe to Session event logs, execution state, and event-projection data. by @imccyu
- Fix event publication and cleanup around Session creation, recovery, and disposal. Make initialization events available to live subscribers and wait for acquired resources to finish cleanup on cancellation. by @kermanx
- Make Session Projection registration asynchronous, with plugins retaining a handle at startup. by @kermanx, @Magolor
- Allow whole-unit JSON and SQLite storage to read explicitly declared compatible older versions and write in the current version format. by @Magolor
- Rename Custom plugin markets to Custom plugin indexes. Discover reads user-added index files, and index generation excludes private versions, tags, and default-branch packages. by @turtle2099, @turtle1999
- Official bundle lists are now exported by @turtle2099
- Allow plugins to supply navigation icons for their settings pages, restoring the default icon when unloaded. by @Magolor
- Show complete diagnostics and the Host log location for plugin failures, distinguishing installation failures from subsequent activation failures. by @kermanx
Fixed
- Budget global and project AGENTS.md chains separately so project instructions do not evict global guidance; messages containing both chains can use up to twice maxBytes. by @ZiyaZhang
- Compact history with the previous model before switching to a smaller context window; stop the switch request and preserve its previous header if compaction fails. by @Dudu-0223
- Preserve the required thought signatures in Gemini tool calls over OpenAI-compatible Chat Completions and include them in subsequent requests to prevent rejection caused by missing signatures. by @turtle2099
- Reuse existing context-prefix caches for new model requests when the system prompt is unchanged, avoiding unnecessary cache invalidation. by @mektpoy
- Continue pi-ai conversations that exceed the request image-count limit by offloading the oldest images, preventing repeated failures. by @turtle2099
- Hide Web search tools when required credentials are missing; fetch tools using the newer Web API also follow credential readiness. by @LegGasai
- Preserve saved Auto permission and approval policy during application shutdown instead of unintentionally switching to Full access. by @tianyicui
- Fix Auto review failures before tool execution on OpenCode routes by supplying the reviewed Session identity and request purpose. by @LegGasai
- User steering now releases a background-output wait immediately and returns current output without stopping the job. by @mektpoy
- Fix delegation tools being temporarily unavailable after preset round trips and apply the current Agent’s tool restrictions to delegation. by @Dudu-0223
- Resume blocked goals from the Web goal bar; goals that have exhausted their round limit still require a higher limit first. by @turtle2099
- Preselect every recommended option in multiple-choice questions instead of only the first, while preserving single-choice and answered-card behavior. by @yudshj
- Approval messages explicitly state whether user approval is requested, avoiding ambiguity around the never policy. by @turtle2099
- Prevent history expansion from rewriting exclamation marks or causing persistent Bash command timeouts on macOS. by @grllll
- Tell the model to continue after a skipped question without asking it again or treating the skip as permission. by @turtle2099
- Keep skills from healthy roots available when another skill root cannot be read, and report incomplete discovery. by @Dudu-0223
- Allow Web Fetch to read valid UTF-8 pages whose encoding declarations contain multiple labels including UTF-8. by @Dudu-0223
- Fix tool calls failing on unambiguous optional arguments by accepting an empty grep include. by @turtle1999
- Expand and collapse long questions and option descriptions in place, with navigation and submission controls kept visible. by @yudshj
- Save Session recovery records before model requests and tool execution in
sdk-minimal. Stop related operations if saving fails to improve recovery after short Sessions are interrupted. by @LogosVeritas - Pause the chat running clock during disconnection or reconnection and resume elapsed-time display after reconnecting. by @turtle2099
- Keep retained steering and follow-up input in log order before assistant output in Trajectory, including after refresh and history loading. by @kermanx
- Run ordinary conversation forks independently instead of treating them as subagents, while preserving creator relationships for real subagents. by @Dudu-0223
- Restore opening historical Sessions with older subagent descriptors and fix the resulting Session search failures. by @turtle2099
- Fix chat history loading and live updates getting stuck after loading earlier compacted history. by @turtle2099
- Expand leading ~ or ~/ in local file tools to the Host home directory while preserving literal tildes elsewhere in paths. by @turtle2099
- Resolve relative chat file links from the Session working directory at click time so worktree Sessions do not open the original checkout. by @turtle2099
- Keep single tildes literal in Markdown and require double tildes for strikethrough. by @turtle2099
- Show the current local Markdown image in newly rendered messages and previews after the file is overwritten. by @turtle2099
- Fix bare URLs incorrectly including following Chinese punctuation and text in links. by @turtle2099
- Preserve backslash separators in Windows-path Markdown links and images so they resolve to the intended location. by @turtle2099
- Include whole-turn deliveries and writes in deliverable cards and closing-reply file links, even after the reply; present guidance tells agents to link files before waiting for user input. by @yudshj
- Fix prolonged page freezes caused by syntax highlighting of certain struct definitions. by @yudshj
- Fix pasted file and folder paths being highlighted only through their directory prefixes in the composer. by @turtle2099
- Preserve the sidebar file-tab strip's scroll position when selecting, opening, or closing tabs instead of restarting from the left edge. by @turtle2099
- Use isolated, theme-backed sidebar drag previews to avoid capturing content behind rows while preserving native reordering. by @Stevring
- Make settings-navigation hover visible in dark mode while retaining selected-state priority. by @turtle2099
- Accept line ranges and line/column suffixes in Markdown file links, open the file when a location is invalid, and retain URLs as web links. by @kermanx
- Retain reading position in text and Markdown previews across refreshes and temporary file shortening instead of jumping back to the first page. by @yudshj
- Preserve the actual text returned by failed tools in Trajectory lists, details, and copied output, including native tools and nested PTC calls. by @kermanx
- Restore TypeScript and Python syntax highlighting for affected historical
run_code records. by @kermanx - Use SSH for self-hosted Git plugin installation when HTTPS is unreadable and SSH is available. by @turtle2099
- Offer script approval and retry when installing Git plugins with prepare scripts instead of reporting only an unknown error. by @turtle2099
- Resolve configuration-project plugins using the project’s ESM rules for dependency subpaths, package imports, and self-references. by @shigma
- Prevent a window-activating click on a Session title from accidentally opening rename on macOS, while preserving normal double-click rename. by @turtle2099
- Fix restricted sandbox commands failing to start when DSH runs as administrator or in Windows Sandbox, while preserving file-write and deletion restrictions. by @huoyaoyuan
- Correct the Windows installed-app publisher and keep the application name separate from its version in uninstall listings. by @winewill
- Improve Windows installer progress rendering, dragging, and activation, restore native minimize transitions, and trigger caption buttons on release inside the original button. by @winewill
- Exit the Desktop Host immediately after acknowledging completed teardown so leftover event-loop handles do not block update installation. by @turtle2099
- Leave macOS fullscreen before Desktop update confirmation so failed installs recover the workspace; preserve tasks and show retry guidance if fullscreen exit times out. by @winewill
- Show desktop update prompts in-window without raising native child windows for background results, and match prompts to the app’s light or dark theme. by @winewill
- Keep conversation header menus close to their trigger buttons on macOS desktop. by @turtle2099
- Fix the native macOS directory picker initially appearing inactive and ignoring directory clicks. by @EricMoin
Full official release notes
New Features
- Improve phone and tablet support with better on-screen keyboard interaction, navigation, and narrow layouts, keeping menus and actions accessible. by @Stevring, @turtle2099, @LegGasai, @EricMoin, @Saafo
- Insert chat text as quotes in the composer and show compact previews after sending. by @lsdsjy, @imccyu
- Copy the complete conversation history as Markdown, including the original log path when available. by @tianyicui
- Keep all assistant text replies visible when work steps are collapsed, with an option to show only the final answer. by @imccyu
- Unify mouse and keyboard context menus across Sessions, workspaces, and the sidebar, with support for developer extensions. by @std4453
- Keep a directory tree in file previews and locate the current file. by @yudshj
- Add Japanese, Spanish, French, German, Russian, and Brazilian Portuguese interface text and locale configuration. by @07akioni
- Show rich-text plugin details in the plugin manager and improve page layout and navigation. by @turtle1999, @turtle2099
- Support updating third-party plugin packages and attempt to restore the previous version if hot updates fail. by @turtle1999, @turtle2099
- Add the experimental
subagent_oar tool plugin to delegate independent tasks to local Codex or Claude CLIs. by @tianyicui - Add experimental Personalized recommendations, offering official-plugin activation or personalized-page creation cards below answers when relevant. by @ZiyaZhang
- Add experimental Developer tools — Statistics for per-turn and per-step context, cache, model, and tool measurements. by @mektpoy
- Add experimental Change requests and worktrees to run Sessions in separate Git worktrees, browse local and PR diffs through a searchable file tree and per-file navigation, quote selected code and comments to the Agent, and track checks and reviews. by @LegGasai, @tianyicui
Improvements
- Distinguish same-named Workspaces with their shortest unique path suffix and prioritize that suffix on narrow screens. by @turtle2099
- Support plugin icons in the Session list and improve keyboard and touch interaction. by @LegGasai
- Show working directories on sidebar Session hover cards to distinguish ungrouped or similarly named Sessions. by @turtle2099
- Improve sidebar spacing and click targets, with smoother search-field expansion and collapse. by @Yifffan
- Find Sessions by case-insensitive ID substrings in sidebar search. by @turtle2099
- Add resistance and spring-back when floating sidebar panels are dragged beyond screen edges, and keep their controls reachable when the window shrinks. by @yudshj
- Close right-sidebar tabs with the middle mouse button without selecting background tabs, while preserving the protected start tab. by @Kingwl
- Show messages and clear drafts only after the host accepts them. Keep the composer read-only while sending and preserve drafts, quotes, and attachments on failure. by @LegGasai
- Upload images as soon as they enter the composer and reuse the uploaded images when sending messages. Raise the default per-image limit to 50 MiB. by @LegGasai
- Show answered question batches as message bubbles so answers from native and PTC calls remain visible after work steps collapse. by @Kaige-Gao
- Place running status at the active turn tail before queued steering messages, distinguishing active and pending input and reducing layout jitter. by @imccyu
- Improve layout stability when expanding or collapsing work steps and interacting with the docked composer. Reduce content and scroll jumps while keeping running status visible. by @imccyu
- Show full truncated composer statistics in tooltips and include turn and step counts in Session statistics. by @turtle2099
- Briefly highlight and fade the target line in code and text previews after opening a file-line link from chat. by @turtle2099
- Pan images that exceed the viewport and transfer original files through in-app drag-and-drop or native desktop dragging. by @std4453
- Add raw JSON views of live tool results to Trajectory, displayed above rendered results. by @kermanx
- Fold Trajectory subcalls independently while keeping their parent calls and summaries visible. Reveal matching subcalls through search or cross-view navigation. by @kermanx
- Start the model picker with configured models selected, add or remove candidates while preserving custom values, and apply select-all only to visible candidates. by @turtle2099
- For models accessed through pi-ai that cannot accept additional system messages during a conversation, keep later system messages in place as reminders rather than moving them into the initial prompt. by @Tuyixiang
- Reorder models within DeepSeek and pi-ai providers by dragging or using arrow keys, preserving order and complete model parameters when saved. by @Magolor
- Clear all inactive automation tasks in one confirmed action while keeping active tasks. by @Chinesezjc
- Search prioritizes long Search API summaries for models, capped at 800 characters per source by default, while search cards retain short snippets. by @yudshj
- Improve history-context cache reuse across consecutive tool calls in Auto review to reduce repeated processing. by @turtle2099
- Background-job completion notices include small outputs and reduce duplicate notifications for already-read results and subagent closing messages. by @turtle1999
- Reduce sleeping and repeated polling in subagent guidance: end the current turn when only a result remains pending and wait for its completion notification. by @Chinesezjc
- Speed up file searches with literal directory prefixes by skipping unrelated directories while preserving results and ordering. by @kermanx
- Deliver ordinary Word edits after saving and checking content and formatting, without unnecessary ZIP, XML, or metadata inspection. by @tianyicui
- Enable WebSocket compression for remote connections by default to reduce transfers of large message histories; disable it with
websocketCompression. by @imccyu - Web static assets support ETag revalidation, returning 304 for unchanged files to avoid repeated downloads. by @imccyu
- Reduce repeated publications and catalog processing during Session state updates, and lower runtime overhead when assembling streaming replies. by @liukx0205, @imccyu
- Improve system and application permission onboarding for macOS Computer Use. Request system permissions through a standalone app with system-settings and drag-in guidance, and refresh permission status on return. Support long clicks, improve application launching, and retain application permissions across restarts. by @CreatixChu, @koalazf99
Bug Fixes
- Budget global and project AGENTS.md chains separately so project instructions do not evict global guidance; messages containing both chains can use up to twice maxBytes. by @ZiyaZhang
- Compact history with the previous model before switching to a smaller context window; stop the switch request and preserve its previous header if compaction fails. by @Dudu-0223
- Preserve the required thought signatures in Gemini tool calls over OpenAI-compatible Chat Completions and include them in subsequent requests to prevent rejection caused by missing signatures. by @turtle2099
- Reuse existing context-prefix caches for new model requests when the system prompt is unchanged, avoiding unnecessary cache invalidation. by @mektpoy
- Continue pi-ai conversations that exceed the request image-count limit by offloading the oldest images, preventing repeated failures. by @turtle2099
- Hide Web search tools when required credentials are missing; fetch tools using the newer Web API also follow credential readiness. by @LegGasai
- Preserve saved Auto permission and approval policy during application shutdown instead of unintentionally switching to Full access. by @tianyicui
- Fix Auto review failures before tool execution on OpenCode routes by supplying the reviewed Session identity and request purpose. by @LegGasai
- User steering now releases a background-output wait immediately and returns current output without stopping the job. by @mektpoy
- Fix delegation tools being temporarily unavailable after preset round trips and apply the current Agent’s tool restrictions to delegation. by @Dudu-0223
- Resume blocked goals from the Web goal bar; goals that have exhausted their round limit still require a higher limit first. by @turtle2099
- Preselect every recommended option in multiple-choice questions instead of only the first, while preserving single-choice and answered-card behavior. by @yudshj
- Approval messages explicitly state whether user approval is requested, avoiding ambiguity around the never policy. by @turtle2099
- Prevent history expansion from rewriting exclamation marks or causing persistent Bash command timeouts on macOS. by @grllll
- Tell the model to continue after a skipped question without asking it again or treating the skip as permission. by @turtle2099
- Keep skills from healthy roots available when another skill root cannot be read, and report incomplete discovery. by @Dudu-0223
- Allow Web Fetch to read valid UTF-8 pages whose encoding declarations contain multiple labels including UTF-8. by @Dudu-0223
- Fix tool calls failing on unambiguous optional arguments by accepting an empty grep include. by @turtle1999
- Expand and collapse long questions and option descriptions in place, with navigation and submission controls kept visible. by @yudshj
- Save Session recovery records before model requests and tool execution in
sdk-minimal. Stop related operations if saving fails to improve recovery after short Sessions are interrupted. by @LogosVeritas - Pause the chat running clock during disconnection or reconnection and resume elapsed-time display after reconnecting. by @turtle2099
- Keep retained steering and follow-up input in log order before assistant output in Trajectory, including after refresh and history loading. by @kermanx
- Run ordinary conversation forks independently instead of treating them as subagents, while preserving creator relationships for real subagents. by @Dudu-0223
- Restore opening historical Sessions with older subagent descriptors and fix the resulting Session search failures. by @turtle2099
- Fix chat history loading and live updates getting stuck after loading earlier compacted history. by @turtle2099
- Expand leading ~ or ~/ in local file tools to the Host home directory while preserving literal tildes elsewhere in paths. by @turtle2099
- Resolve relative chat file links from the Session working directory at click time so worktree Sessions do not open the original checkout. by @turtle2099
- Keep single tildes literal in Markdown and require double tildes for strikethrough. by @turtle2099
- Show the current local Markdown image in newly rendered messages and previews after the file is overwritten. by @turtle2099
- Fix bare URLs incorrectly including following Chinese punctuation and text in links. by @turtle2099
- Preserve backslash separators in Windows-path Markdown links and images so they resolve to the intended location. by @turtle2099
- Include whole-turn deliveries and writes in deliverable cards and closing-reply file links, even after the reply; present guidance tells agents to link files before waiting for user input. by @yudshj
- Fix prolonged page freezes caused by syntax highlighting of certain struct definitions. by @yudshj
- Fix pasted file and folder paths being highlighted only through their directory prefixes in the composer. by @turtle2099
- Preserve the sidebar file-tab strip's scroll position when selecting, opening, or closing tabs instead of restarting from the left edge. by @turtle2099
- Use isolated, theme-backed sidebar drag previews to avoid capturing content behind rows while preserving native reordering. by @Stevring
- Make settings-navigation hover visible in dark mode while retaining selected-state priority. by @turtle2099
- Accept line ranges and line/column suffixes in Markdown file links, open the file when a location is invalid, and retain URLs as web links. by @kermanx
- Retain reading position in text and Markdown previews across refreshes and temporary file shortening instead of jumping back to the first page. by @yudshj
- Preserve the actual text returned by failed tools in Trajectory lists, details, and copied output, including native tools and nested PTC calls. by @kermanx
- Restore TypeScript and Python syntax highlighting for affected historical
run_code records. by @kermanx - Use SSH for self-hosted Git plugin installation when HTTPS is unreadable and SSH is available. by @turtle2099
- Offer script approval and retry when installing Git plugins with prepare scripts instead of reporting only an unknown error. by @turtle2099
- Resolve configuration-project plugins using the project’s ESM rules for dependency subpaths, package imports, and self-references. by @shigma
- Prevent a window-activating click on a Session title from accidentally opening rename on macOS, while preserving normal double-click rename. by @turtle2099
- Fix restricted sandbox commands failing to start when DSH runs as administrator or in Windows Sandbox, while preserving file-write and deletion restrictions. by @huoyaoyuan
- Correct the Windows installed-app publisher and keep the application name separate from its version in uninstall listings. by @winewill
- Improve Windows installer progress rendering, dragging, and activation, restore native minimize transitions, and trigger caption buttons on release inside the original button. by @winewill
- Exit the Desktop Host immediately after acknowledging completed teardown so leftover event-loop handles do not block update installation. by @turtle2099
- Leave macOS fullscreen before Desktop update confirmation so failed installs recover the workspace; preserve tasks and show retry guidance if fullscreen exit times out. by @winewill
- Show desktop update prompts in-window without raising native child windows for background results, and match prompts to the app’s light or dark theme. by @winewill
- Keep conversation header menus close to their trigger buttons on macOS desktop. by @turtle2099
- Fix the native macOS directory picker initially appearing inactive and ignoring directory clicks. by @EricMoin
Chores
- Update to Cordis Core 4.1.0, Loader 1.1.0, and Include 1.1.0, unifying configuration access, entry changes, and persistence behavior. by @shigma, @imccyu
- Provide unified Cordis Fiber access to raw configuration, candidate resolution, and effective configuration, used consistently by settings and hot reload. by @shigma
- Raise the minimum supported Node.js version to 24.9. Upgrade older Node.js runtimes before upgrading DSH. by @tianyicui
- Upgrade pi-ai to 1.3.0 with updated model catalogs, endpoints, and reasoning replay rules; malformed completed tool arguments fail the response before any tool executes. by @tianyicui
- Default undeclared custom-model capacities to decimal 1M context and 128K output; smaller endpoints should set explicit capacities to avoid delayed compaction. by @LegGasai
- Capture the step model before prompt assembly and pre-step and retain it through retries; plugins should select through agent.model rather than changing routes in agent/request. by @kermanx
- Allow plugins to supply dynamic pi-ai headers using Session identity and request purpose, rejecting invalid headers before dispatch. by @LegGasai
- Bring the TypeScript and Python SDKs in line with Web mode for file delivery, questions and callbacks, scheduling, skills, and context. Support native commands, plugin management, plan review, goal continuation, and operation approvals; restart the SDK to apply plugin changes. by @koalazf99, @LogosVeritas
- Unify scheduled-task management across the Host with manual creation, direct editing, and prefilled prompts for creation in a Session. Retain drafts, support conflict review, and run tasks in reusable or new Sessions. by @ZiyaZhang, @Magolor
- The Git worktree entry is included in Change requests and worktrees. Remove @deepseek-ai/dsh-experimental-tool-worktree from dsh.profile.bundles if the standalone plugin was enabled. by @LegGasai
- Ralph loop and Session search are no longer listed as experimental plugins. by @ZiyaZhang
- Add
apply_patch, disabled by default, to create, edit, delete, and move multiple files in one call, with changes available in Review. by @sjw1231, @CreatixChu - Disable read-before-write and external-change checks by default while retaining sandbox limits and Review. Profiles requiring the previous checks can explicitly restore the observation policy. by @sjw1231
- Activate tools conditionally per step with consistent model declarations, PTC bindings, and execution admission. Plugins must migrate tools.resolve/executable and prompt-assembly integration. by @LegGasai
- Add a VM Script mode to Node PTC with top-level await, dynamic imports, and expression results, plus optional state retention across calls. Per-call execution remains the default; top-level return and using are unsupported. by @kermanx
- Split native and PTC tool execution into Agent-scoped plugins; enable PTC through configuration overlays and migrate tools.mode and DSH_TOOLS_MODE usage. by @kermanx
- Move the PTC Node control channel to birpc; upgrade self-deployed bootstraps and SSH helpers together, with SSH protocol increasing from 2 to 3. by @kermanx
- Report caller-cancelled run_code calls in PTC Mode as ABORTED rather than CODE_RUN_FAILED. SDK and Session consumers must update cancellation handling. by @kermanx
- Allow Web Fetch to access non-public addresses for proxies and internal networks; deployments must restrict network access separately. by @turtle2099
- Support experimental Auto review in Headless. by @tianyicui
- Retrieve diagnostic reports for desktop startup failures, including a bounded history of recent plugin operations to help troubleshooting. by @winewill
- Add independent Session APIs to read snapshots and continuously subscribe to Session event logs, execution state, and event-projection data. by @imccyu
- Fix event publication and cleanup around Session creation, recovery, and disposal. Make initialization events available to live subscribers and wait for acquired resources to finish cleanup on cancellation. by @kermanx
- Make Session Projection registration asynchronous, with plugins retaining a handle at startup. by @kermanx, @Magolor
- Allow whole-unit JSON and SQLite storage to read explicitly declared compatible older versions and write in the current version format. by @Magolor
- Rename Custom plugin markets to Custom plugin indexes. Discover reads user-added index files, and index generation excludes private versions, tags, and default-branch packages. by @turtle2099, @turtle1999
- Official bundle lists are now exported by @turtle2099
- Allow plugins to supply navigation icons for their settings pages, restoring the default icon when unloaded. by @Magolor
- Show complete diagnostics and the Host log location for plugin failures, distinguishing installation failures from subsequent activation failures. by @kermanx
dsh.so Analysis
0.2.2-rc.1 is a release candidate that concentrates on mobile/tablet usability, broad localization (Japanese, Spanish, French, German, Russian, Brazilian Portuguese) and a substantial plugin-platform overhaul rather than headline end-user features. The plugin-facing changes dominate: tools can now be activated conditionally per step through a new tools.resolve/executable contract, native and PTC execution split into Agent-scoped plugins, model selection moves to agent.model, Session Projection registration becomes asynchronous, and the PTC Node control channel moves to birpc with the SSH protocol bumped from 2 to 3. The platform also advances to Cordis Core 4.1.0/Loader 1.1.0/Include 1.1.0 and pi-ai 1.3.0, raises the Node.js floor to 24.9, and adds apply_patch while disabling read-before-write checks by default. A cluster of experimental additions (subagent_oar, developer statistics, change requests and worktrees, personalized recommendations) lands behind experimental flags, so authors should expect further churn before 0.2.2 finalizes.
Migration Guide
Upgrade the runtime to Node.js 24.9+ before installing. Plugin authors must migrate the tool layer: adopt the per-step activation contract (tools.resolve/executable plus prompt-assembly integration), replace tools.mode / DSH_TOOLS_MODE usage with configuration overlays now that native and PTC execution are Agent-scoped plugins, select models through agent.model instead of rewriting routes in agent/request, and treat a caller-cancelled run_code as ABORTED rather than CODE_RUN_FAILED. Session Projection registration is now asynchronous, so retain the returned handle at startup. Self-hosted bootstraps and SSH helpers must be upgraded together (SSH protocol 2 -> 3). Remove @deepseek-ai/dsh-experimental-tool-worktree from dsh.profile.bundles if the standalone plugin was enabled, and re-add an explicit observation policy if a profile still needs read-before-write checks. Set explicit context/output capacities for custom endpoints smaller than the new 1M/128K defaults, restart the SDK after plugin changes, and note websocketCompression is now on by default for remote connections.
v0.2.2-alpha.3pre-release
Official Changes
New
- Unify mouse and keyboard context menus across Sessions, workspaces, and the sidebar, with support for developer extensions. by @std4453
- Keep a directory tree in file previews and locate the current file. by @yudshj
- Unify code review and worktree access in the experimental change-request and worktree feature. Browse local and PR diffs through a searchable file tree and per-file navigation, quote selected code and comments to the Agent, and track checks and reviews. by @LegGasai
Changed
- Improve mobile sidebar navigation and narrow-screen layouts, keeping Session titles stable and model-catalog inputs and plugin-discovery controls fully visible. by @Stevring, @Saafo, @EricMoin
- Keep menus and floating panels within the visible viewport where possible, following browser zooming, panning, and on-screen keyboard changes. by @Stevring
- Fold Trajectory subcalls independently while keeping their parent calls and summaries visible. Reveal matching subcalls through search or cross-view navigation. by @kermanx
- Improve reasoning presentation in conversations by hiding leading signature metadata from summaries, expanded content, and translations. by @LegGasai
- Reduce repeated publications and catalog processing during Session state updates, and lower runtime overhead when assembling streaming replies. by @liukx0205, @imccyu
- Improve the layout stability of the docked composer, reducing movement during typing, menu expansion, and statistics updates. by @imccyu
- Update Cordis Core to 4.0.0-rc.11, Loader to 1.0.0-rc.8, and Include to 1.1.1, unifying configuration access, entry changes, and persistence behavior. by @shigma, @imccyu
- Allow plugins to supply dynamic pi-ai headers using Session identity and request purpose, rejecting invalid headers before dispatch. by @LegGasai
- Allow plugins to supply navigation icons for their settings pages, restoring the default icon when unloaded. by @Magolor
- Show complete diagnostics and the Host log location for plugin failures, distinguishing installation failures from subsequent activation failures. by @kermanx
- The Git worktree entry is now included in change requests and worktrees. Users who enabled the standalone plugin must manually remove @deepseek-ai/dsh-experimental-tool-worktree from dsh.profile.bundles in their profile.
- Unify scheduled-task management across the Host with manual creation, direct editing, and prefilled prompts for creation in a Session. Retain drafts, support conflict review, and run tasks in reusable or new Sessions. by @ZiyaZhang, @Magolor
- Add
apply_patch, disabled by default, to create, edit, delete, and move multiple files in one call, with changes available in Review. by @sjw1231, @CreatixChu - Extend the TypeScript and Python SDKs with native commands and plugin management, supporting plan review, goal continuation, and operation approvals. Restart the SDK to apply plugin changes. by @LogosVeritas, @koalazf99
- Request macOS Computer Use permissions through a standalone app, opening the relevant system settings with drag-in guidance and refreshing permission status upon return. by @CreatixChu
- Disable read-before-write and external-change checks by default while retaining sandbox limits and Review. Profiles requiring the previous checks can explicitly restore the observation policy. by @sjw1231
- Revert the unstable compatibility parsing for multiline
$$ display math introduced in alpha.2. by @yudshj
Fixed
- Continue pi-ai conversations that exceed the request image-count limit by offloading the oldest images, preventing repeated failures. by @turtle2099
- Fix Auto review failures before tool execution on OpenCode routes by supplying the reviewed Session identity and request purpose. by @LegGasai
- Fix a regression introduced in alpha.2 that leaves resumed empty Sessions visible as untitled Sessions, and restore sorting by the last prompt time. by @imccyu
- Restore opening historical Sessions with older subagent descriptors and fix the resulting Session search failures. by @turtle2099
- Fix chat history loading and live updates getting stuck after loading earlier compacted history. by @turtle2099
- Accept line ranges and line/column suffixes in Markdown file links, open the file when a location is invalid, and retain URLs as web links. by @kermanx
- Retain reading position in text and Markdown previews across refreshes and temporary file shortening instead of jumping back to the first page. by @yudshj
- Preserve the actual text returned by failed tools in Trajectory lists, details, and copied output, including native tools and nested PTC calls. by @kermanx
- Restore TypeScript and Python syntax highlighting for affected historical
run_code records. by @kermanx - Show the appropriate date, time, interval, and weekday controls when opening existing scheduled tasks, with field-specific correction guidance. Preserve timing rules when only the name or instruction changes, and retain original text for complex rules or values beyond control precision. by @Magolor
Full official release notes
New Features
- Unify mouse and keyboard context menus across Sessions, workspaces, and the sidebar, with support for developer extensions. by @std4453
- Keep a directory tree in file previews and locate the current file. by @yudshj
- Unify code review and worktree access in the experimental change-request and worktree feature. Browse local and PR diffs through a searchable file tree and per-file navigation, quote selected code and comments to the Agent, and track checks and reviews. by @LegGasai
Improvements
- Improve mobile sidebar navigation and narrow-screen layouts, keeping Session titles stable and model-catalog inputs and plugin-discovery controls fully visible. by @Stevring, @Saafo, @EricMoin
- Keep menus and floating panels within the visible viewport where possible, following browser zooming, panning, and on-screen keyboard changes. by @Stevring
- Fold Trajectory subcalls independently while keeping their parent calls and summaries visible. Reveal matching subcalls through search or cross-view navigation. by @kermanx
- Improve reasoning presentation in conversations by hiding leading signature metadata from summaries, expanded content, and translations. by @LegGasai
- Reduce repeated publications and catalog processing during Session state updates, and lower runtime overhead when assembling streaming replies. by @liukx0205, @imccyu
- Improve the layout stability of the docked composer, reducing movement during typing, menu expansion, and statistics updates. by @imccyu
Bug Fixes
- Continue pi-ai conversations that exceed the request image-count limit by offloading the oldest images, preventing repeated failures. by @turtle2099
- Fix Auto review failures before tool execution on OpenCode routes by supplying the reviewed Session identity and request purpose. by @LegGasai
- Fix a regression introduced in alpha.2 that leaves resumed empty Sessions visible as untitled Sessions, and restore sorting by the last prompt time. by @imccyu
- Restore opening historical Sessions with older subagent descriptors and fix the resulting Session search failures. by @turtle2099
- Fix chat history loading and live updates getting stuck after loading earlier compacted history. by @turtle2099
- Accept line ranges and line/column suffixes in Markdown file links, open the file when a location is invalid, and retain URLs as web links. by @kermanx
- Retain reading position in text and Markdown previews across refreshes and temporary file shortening instead of jumping back to the first page. by @yudshj
- Preserve the actual text returned by failed tools in Trajectory lists, details, and copied output, including native tools and nested PTC calls. by @kermanx
- Restore TypeScript and Python syntax highlighting for affected historical
run_code records. by @kermanx - Show the appropriate date, time, interval, and weekday controls when opening existing scheduled tasks, with field-specific correction guidance. Preserve timing rules when only the name or instruction changes, and retain original text for complex rules or values beyond control precision. by @Magolor
Chores
- Update Cordis Core to 4.0.0-rc.11, Loader to 1.0.0-rc.8, and Include to 1.1.1, unifying configuration access, entry changes, and persistence behavior. by @shigma, @imccyu
- Allow plugins to supply dynamic pi-ai headers using Session identity and request purpose, rejecting invalid headers before dispatch. by @LegGasai
- Allow plugins to supply navigation icons for their settings pages, restoring the default icon when unloaded. by @Magolor
- Show complete diagnostics and the Host log location for plugin failures, distinguishing installation failures from subsequent activation failures. by @kermanx
- The Git worktree entry is now included in change requests and worktrees. Users who enabled the standalone plugin must manually remove @deepseek-ai/dsh-experimental-tool-worktree from dsh.profile.bundles in their profile.
- Unify scheduled-task management across the Host with manual creation, direct editing, and prefilled prompts for creation in a Session. Retain drafts, support conflict review, and run tasks in reusable or new Sessions. by @ZiyaZhang, @Magolor
- Add
apply_patch, disabled by default, to create, edit, delete, and move multiple files in one call, with changes available in Review. by @sjw1231, @CreatixChu - Extend the TypeScript and Python SDKs with native commands and plugin management, supporting plan review, goal continuation, and operation approvals. Restart the SDK to apply plugin changes. by @LogosVeritas, @koalazf99
- Request macOS Computer Use permissions through a standalone app, opening the relevant system settings with drag-in guidance and refreshing permission status upon return. by @CreatixChu
- Disable read-before-write and external-change checks by default while retaining sandbox limits and Review. Profiles requiring the previous checks can explicitly restore the observation policy. by @sjw1231
- Revert the unstable compatibility parsing for multiline
$$ display math introduced in alpha.2. by @yudshj
dsh.so Analysis
dsh 0.2.2-alpha.3 is a polishing alpha that broadens the plugin surface while simplifying defaults. Plugins can now contribute dynamic pi-ai request headers scoped to Session identity and request purpose (invalid headers rejected before dispatch), supply navigation icons for their settings pages, and surface clearer diagnostics that distinguish install failures from activation failures. The experimental change-request/worktree flow now absorbs the standalone Git worktree entry and adds a searchable diff tree with quoting to the Agent, while Cordis Core/Loader/Include bumps and SDK plugin-management commands mean plugin authors should re-verify against the new configuration plumbing. Notable default shifts: `apply_patch` ships disabled, read-before-write and external-change checks are off by default (sandbox limits and Review remain), and the unstable multiline `$$` math parsing from alpha.2 was reverted.
Migration Guide
1) If you had enabled the standalone worktree plugin, manually remove @deepseek-ai/dsh-experimental-tool-worktree from dsh.profile.bundles in your profile — the entry now lives in change requests/worktrees. 2) Re-verify plugins against Cordis Core 4.0.0-rc.11 / Loader 1.0.0-rc.8 / Include 1.1.1, which unify configuration access, entry changes, and persistence. 3) SDK users must restart the SDK after plugin changes; TS/Python SDKs now expose native commands and plugin management. 4) Read-before-write and external-change checks are now off by default; profiles that relied on them must explicitly restore the previous observation policy. 5) `apply_patch` is opt-in and disabled by default. 6) Plugins supplying pi-ai headers must use Session identity/request purpose or their headers will be rejected pre-dispatch.
v0.2.1-rc.5pre-release
Official Changes
Changed
- Improve how thinking content is displayed in conversations. by @LegGasai
Full official release notes
Improvements
- Improve how thinking content is displayed in conversations. by @LegGasai
dsh.so Analysis
This is a small 0.2.1 release candidate focused on presentation rather than runtime behavior. Its only listed change improves how thinking content is displayed in conversations, with no new features, fixes, or breaking changes recorded. For plugin developers, this should be a low-risk update: the release does not signal API or plugin-contract changes, though UI-facing plugins that render reasoning or thinking blocks may want to verify their output aligns with the improved display.
v0.2.2-alpha.2pre-release
Official Changes
New
- Show rich-text plugin details in the plugin manager and improve page layout and navigation. by @turtle1999, @turtle2099
- Support updating third-party plugin packages and attempt to restore the previous version if hot updates fail. by @turtle1999, @turtle2099
- Insert chat text as quotes in the composer and show compact previews after sending. by @lsdsjy, @imccyu
- Copy the complete conversation history as Markdown, including the original log path when available. by @tianyicui
- Keep all assistant text replies visible when work steps are collapsed, with an option to show only the final answer. by @imccyu
- Add Japanese, Spanish, French, German, Russian, and Brazilian Portuguese interface text and locale configuration. by @07akioni
- Clear all inactive automation tasks in one confirmed action while keeping active tasks. by @Chinesezjc
- Add the experimental
subagent_oar tool plugin to delegate independent tasks to local Codex or Claude CLIs. by @tianyicui - Add experimental Personalized recommendations, offering official-plugin activation or personalized-page creation cards below answers when relevant. by @ZiyaZhang
- Add experimental Developer tools — Statistics for per-turn and per-step context, cache, model, and tool measurements. by @mektpoy
- Add experimental Change requests and worktrees to run Sessions in separate Git worktrees and inspect linked PR status and code changes. by @LegGasai, @tianyicui
Changed
- Improve mobile and tablet input with fewer automatic keyboard pop-ups, keyboard dismissal after sending, and corrected caret scrolling. by @Stevring
- Use fullscreen settings with horizontal navigation on narrow browsers, scroll focused tabs fully into view, and use 16px task text fields on touch devices. by @Stevring
- Keep touch actions free from hover tooltips, expose Workspace and archived-result controls, and scroll wide Markdown tables within their own containers. by @Stevring
- Fade overflowing header status actions in narrow conversation panes so utility buttons such as Open in app remain visible and clickable. by @turtle2099
- Restore automatic icon-only model selection in narrow composers while retaining the full model name in the menu. by @LegGasai
- Fix font settings crowding their labels and descriptions on phones and narrow windows by stacking font fields while keeping size controls right-aligned. by @EricMoin
- Distinguish same-named Workspaces with their shortest unique path suffix and prioritize that suffix on narrow screens. by @turtle2099
- Use DPR-aware inset outlines on shared buttons to stabilize fine borders at fractional sizes in Safari without changing layout. by @Stevring
- Place running status at the active turn tail before queued steering messages, distinguishing active and pending input and reducing layout jitter. by @imccyu
- Support plugin icons in the Session list and improve keyboard and touch interaction. by @LegGasai
- Show working directories on sidebar Session hover cards to distinguish ungrouped or similarly named Sessions. by @turtle2099
- Improve sidebar spacing and click targets, with smoother search-field expansion and collapse. by @Yifffan
- Find Sessions by case-insensitive ID substrings in sidebar search. by @turtle2099
- Show messages and clear drafts only after the host accepts them. Keep the composer read-only while sending and preserve drafts, quotes, and attachments on failure. by @LegGasai
- Upload images as soon as they enter the composer and reuse the uploaded images when sending messages. Raise the default per-image limit to 50 MiB. by @LegGasai
- Show answered question batches as message bubbles so answers from native and PTC calls remain visible after work steps collapse. by @Kaige-Gao
- Add resistance and spring-back when floating sidebar panels are dragged beyond screen edges, and keep their controls reachable when the window shrinks. by @yudshj
- Close right-sidebar tabs with the middle mouse button without selecting background tabs, while preserving the protected start tab. by @Kingwl
- Fix transcript jumps, scroll reversal, and blank gaps when expanding or folding work steps, while keeping running status visible. by @imccyu
- Briefly highlight and fade the target line in code and text previews after opening a file-line link from chat. by @turtle2099
- Add raw JSON views of live tool results to Trajectory, displayed above rendered results. by @kermanx
- Search prioritizes long Search API summaries for models, capped at 800 characters per source by default, while search cards retain short snippets. by @yudshj
- Start the model picker with configured models selected, add or remove candidates while preserving custom values, and apply select-all only to visible candidates. by @turtle2099
- For models accessed through pi-ai that cannot accept additional system messages during a conversation, keep later system messages in place as reminders rather than moving them into the initial prompt. by @Tuyixiang
- Reorder models within DeepSeek and pi-ai providers by dragging or using arrow keys, preserving order and complete model parameters when saved. by @Magolor
- Show full truncated composer statistics in tooltips and include turn and step counts in Session statistics. by @turtle2099
- Improve history-context cache reuse across consecutive tool calls in Auto review to reduce repeated processing. by @turtle2099
- Background-job completion notices include small outputs and reduce duplicate notifications for already-read results and subagent closing messages. by @turtle1999
- Reduce sleeping and repeated polling in subagent guidance: end the current turn when only a result remains pending and wait for its completion notification. by @Chinesezjc
- Enable WebSocket compression for remote connections by default to reduce transfers of large message histories; disable it with
websocketCompression. by @imccyu - Web static assets support ETag revalidation, returning 304 for unchanged files to avoid repeated downloads. by @imccyu
- Deliver ordinary Word edits after saving and checking content and formatting, without unnecessary ZIP, XML, or metadata inspection. by @tianyicui
- Speed up first-time loading of lazy components such as the source editor in the Web preview. by @turtle2099
- Speed up file searches with literal directory prefixes by skipping unrelated directories while preserving results and ordering. by @kermanx
- Pan images that exceed the viewport and transfer original files through in-app drag-and-drop or native desktop dragging. by @std4453
- Tell phone and tablet users when a file is opened on another device. Show failure notifications on all devices and keep successful desktop operations silent. by @Stevring
- Raise the minimum supported Node.js version to 24.9. Upgrade older Node.js runtimes before upgrading DSH. by @tianyicui
- Provide SDK file delivery, questions, scheduling, skills, and context capabilities consistent with Web mode, with question callbacks and operation approval. by @koalazf99
- Fix event publication and cleanup around Session creation, recovery, and disposal. Make initialization events available to live subscribers and wait for acquired resources to finish cleanup on cancellation. by @kermanx
- Add independent Session APIs to read snapshots and continuously subscribe to Session event logs, execution state, and event-projection data. by @imccyu
- Migrate custom plugins to asynchronous retained Session-projection handles. Legacy registration disposers and key-based reads retain compatibility with deprecation notices; approval-state recovery requires the composition to provide sessionProjections and await service activation. by @kermanx, @Magolor
- Allow whole-unit JSON and SQLite storage to read explicitly declared compatible older versions and write in the current version format. by @Magolor
- Allow Web Fetch to access non-public addresses for proxies and internal networks; deployments must restrict network access separately. by @turtle2099
- Synchronize Cordis Timer with its upstream implementation; custom plugins must adapt to changed return values. by @shigma
- Provide unified Cordis Fiber access to raw configuration, candidate resolution, and effective configuration, used consistently by settings and hot reload. by @shigma
- Retrieve diagnostic reports for desktop startup failures, including a bounded history of recent plugin operations to help troubleshooting. by @winewill
- Add system and application permission onboarding to macOS Computer Use, support long clicks, and improve application launching. Retain application permissions across restarts. by @CreatixChu, @koalazf99
- Support experimental Auto review in Headless. by @tianyicui
- Keep Ralph loop and Session search bundled, but no longer list them among experimental plugins. by @ZiyaZhang
- Upgrade pi-ai to 1.3.0 with updated model catalogs, endpoints, and reasoning replay rules; malformed completed tool arguments fail the response before any tool executes. by @tianyicui
- Default undeclared custom-model capacities to decimal 1M context and 128K output; smaller endpoints should set explicit capacities to avoid delayed compaction. by @LegGasai
- Capture the step model before prompt assembly and pre-step and retain it through retries; plugins should select through agent.model rather than changing routes in agent/request. by @kermanx
- Rename Custom plugin markets to Custom plugin indexes. Discover reads user-added index files, and index generation excludes private versions, tags, and default-branch packages. by @turtle2099, @turtle1999
- Official bundle lists are now exported by @deepseek-ai/dsh-official-bundles; custom integrations must update imports from app-boot. by @turtle2099
- Activate tools conditionally per step with consistent model declarations, PTC bindings, and execution admission. Plugins must migrate tools.resolve/executable and prompt-assembly integration. by @LegGasai
- Add a VM Script mode to Node PTC with top-level await, dynamic imports, and expression results, plus optional state retention across calls. Per-call execution remains the default; top-level return and using are unsupported. by @kermanx
- Split native and PTC tool execution into Agent-scoped plugins; enable PTC through configuration overlays and migrate tools.mode and DSH_TOOLS_MODE usage. by @kermanx
- Move the PTC Node control channel to birpc; upgrade self-deployed bootstraps and SSH helpers together, with SSH protocol increasing from 2 to 3. by @kermanx
- Report caller-cancelled run_code calls in PTC Mode as ABORTED rather than CODE_RUN_FAILED. SDK and Session consumers must update cancellation handling. by @kermanx
Fixed
- Budget global and project AGENTS.md chains separately so project instructions do not evict global guidance; messages containing both chains can use up to twice maxBytes. by @ZiyaZhang
- Compact history with the previous model before switching to a smaller context window; stop the switch request and preserve its previous header if compaction fails. by @Dudu-0223
- Preserve the required thought signatures in Gemini tool calls over OpenAI-compatible Chat Completions and include them in subsequent requests to prevent rejection caused by missing signatures. by @turtle2099
- Reuse existing context-prefix caches for new model requests when the system prompt is unchanged, avoiding unnecessary cache invalidation. by @mektpoy
- Hide Web search tools when required credentials are missing; fetch tools using the newer Web API also follow credential readiness. by @LegGasai
- Preserve saved Auto permission and approval policy during application shutdown instead of unintentionally switching to Full access. by @tianyicui
- User steering now releases a background-output wait immediately and returns current output without stopping the job. by @mektpoy
- Fix delegation tools being temporarily unavailable after preset round trips and apply the current Agent’s tool restrictions to delegation. by @Dudu-0223
- Resume blocked goals from the Web goal bar; goals that have exhausted their round limit still require a higher limit first. by @turtle2099
- Save Session recovery records before model requests and tool execution in
sdk-minimal. Stop related operations if saving fails to improve recovery after short Sessions are interrupted. by @LogosVeritas - Expand leading ~ or ~/ in local file tools to the Host home directory while preserving literal tildes elsewhere in paths. by @turtle2099
- Preselect every recommended option in multiple-choice questions instead of only the first, while preserving single-choice and answered-card behavior. by @yudshj
- Resolve relative chat file links from the Session working directory at click time so worktree Sessions do not open the original checkout. by @turtle2099
- Keep single tildes literal in Markdown and require double tildes for strikethrough. by @turtle2099
- Fix multiline $$ math rendering so opening-line math and following prose are preserved. by @Chinesezjc
- Show the current local Markdown image in newly rendered messages and previews after the file is overwritten. by @turtle2099
- Fix bare URLs incorrectly including following Chinese punctuation and text in links. by @turtle2099
- Preserve backslash separators in Windows-path Markdown links and images so they resolve to the intended location. by @turtle2099
- Include whole-turn deliveries and writes in deliverable cards and closing-reply file links, even after the reply; present guidance tells agents to link files before waiting for user input. by @yudshj
- Fix prolonged page freezes caused by syntax highlighting of certain struct definitions. by @yudshj
- Fix pasted file and folder paths being highlighted only through their directory prefixes in the composer. by @turtle2099
- Pause the chat running clock during disconnection or reconnection and resume elapsed-time display after reconnecting. by @turtle2099
- Keep retained steering and follow-up input in log order before assistant output in Trajectory, including after refresh and history loading. by @kermanx
- Use isolated, theme-backed sidebar drag previews to avoid capturing content behind rows while preserving native reordering. by @Stevring
- Make settings-navigation hover visible in dark mode while retaining selected-state priority. by @turtle2099
- Expand and collapse long questions and option descriptions in place, with navigation and submission controls kept visible. by @yudshj
- Prevent a window-activating click on a Session title from accidentally opening rename on macOS, while preserving normal double-click rename. by @turtle2099
- Preserve the sidebar file-tab strip's scroll position when selecting, opening, or closing tabs instead of restarting from the left edge. by @turtle2099
- Run ordinary conversation forks independently instead of treating them as subagents, while preserving creator relationships for real subagents. by @Dudu-0223
- Use SSH for self-hosted Git plugin installation when HTTPS is unreadable and SSH is available. by @turtle2099
- Offer script approval and retry when installing Git plugins with prepare scripts instead of reporting only an unknown error. by @turtle2099
- Approval messages explicitly state whether user approval is requested, avoiding ambiguity around the never policy. by @turtle2099
- Prevent history expansion from rewriting exclamation marks or causing persistent Bash command timeouts on macOS. by @grllll
- Tell the model to continue after a skipped question without asking it again or treating the skip as permission. by @turtle2099
- Keep skills from healthy roots available when another skill root cannot be read, and report incomplete discovery. by @Dudu-0223
- Resolve configuration-project plugins using the project’s ESM rules for dependency subpaths, package imports, and self-references. by @shigma
- Allow Web Fetch to read valid UTF-8 pages whose encoding declarations contain multiple labels including UTF-8. by @Dudu-0223
- Fix tool calls failing on unambiguous optional arguments by accepting an empty grep include. by @turtle1999
- Fix restricted sandbox commands failing to start when DSH runs as administrator or in Windows Sandbox, while preserving file-write and deletion restrictions. by @huoyaoyuan
- Correct the Windows installed-app publisher and keep the application name separate from its version in uninstall listings. by @winewill
- Improve Windows installer progress rendering, dragging, and activation, restore native minimize transitions, and trigger caption buttons on release inside the original button. by @winewill
- Exit the Desktop Host immediately after acknowledging completed teardown so leftover event-loop handles do not block update installation. by @turtle2099
- Leave macOS fullscreen before Desktop update confirmation so failed installs recover the workspace; preserve tasks and show retry guidance if fullscreen exit times out. by @winewill
- Show desktop update prompts in-window without raising native child windows for background results, and match prompts to the app’s light or dark theme. by @winewill
- Keep conversation header menus close to their trigger buttons on macOS desktop. by @turtle2099
- Fix the native macOS directory picker initially appearing inactive and ignoring directory clicks. by @EricMoin
Full official release notes
New Features
- Show rich-text plugin details in the plugin manager and improve page layout and navigation. by @turtle1999, @turtle2099
- Support updating third-party plugin packages and attempt to restore the previous version if hot updates fail. by @turtle1999, @turtle2099
- Insert chat text as quotes in the composer and show compact previews after sending. by @lsdsjy, @imccyu
- Copy the complete conversation history as Markdown, including the original log path when available. by @tianyicui
- Keep all assistant text replies visible when work steps are collapsed, with an option to show only the final answer. by @imccyu
- Add Japanese, Spanish, French, German, Russian, and Brazilian Portuguese interface text and locale configuration. by @07akioni
- Clear all inactive automation tasks in one confirmed action while keeping active tasks. by @Chinesezjc
- Add the experimental
subagent_oar tool plugin to delegate independent tasks to local Codex or Claude CLIs. by @tianyicui - Add experimental Personalized recommendations, offering official-plugin activation or personalized-page creation cards below answers when relevant. by @ZiyaZhang
- Add experimental Developer tools — Statistics for per-turn and per-step context, cache, model, and tool measurements. by @mektpoy
- Add experimental Change requests and worktrees to run Sessions in separate Git worktrees and inspect linked PR status and code changes. by @LegGasai, @tianyicui
Improvements
- Improve mobile and tablet input with fewer automatic keyboard pop-ups, keyboard dismissal after sending, and corrected caret scrolling. by @Stevring
- Use fullscreen settings with horizontal navigation on narrow browsers, scroll focused tabs fully into view, and use 16px task text fields on touch devices. by @Stevring
- Keep touch actions free from hover tooltips, expose Workspace and archived-result controls, and scroll wide Markdown tables within their own containers. by @Stevring
- Fade overflowing header status actions in narrow conversation panes so utility buttons such as Open in app remain visible and clickable. by @turtle2099
- Restore automatic icon-only model selection in narrow composers while retaining the full model name in the menu. by @LegGasai
- Fix font settings crowding their labels and descriptions on phones and narrow windows by stacking font fields while keeping size controls right-aligned. by @EricMoin
- Distinguish same-named Workspaces with their shortest unique path suffix and prioritize that suffix on narrow screens. by @turtle2099
- Use DPR-aware inset outlines on shared buttons to stabilize fine borders at fractional sizes in Safari without changing layout. by @Stevring
- Place running status at the active turn tail before queued steering messages, distinguishing active and pending input and reducing layout jitter. by @imccyu
- Support plugin icons in the Session list and improve keyboard and touch interaction. by @LegGasai
- Show working directories on sidebar Session hover cards to distinguish ungrouped or similarly named Sessions. by @turtle2099
- Improve sidebar spacing and click targets, with smoother search-field expansion and collapse. by @Yifffan
- Find Sessions by case-insensitive ID substrings in sidebar search. by @turtle2099
- Show messages and clear drafts only after the host accepts them. Keep the composer read-only while sending and preserve drafts, quotes, and attachments on failure. by @LegGasai
- Upload images as soon as they enter the composer and reuse the uploaded images when sending messages. Raise the default per-image limit to 50 MiB. by @LegGasai
- Show answered question batches as message bubbles so answers from native and PTC calls remain visible after work steps collapse. by @Kaige-Gao
- Add resistance and spring-back when floating sidebar panels are dragged beyond screen edges, and keep their controls reachable when the window shrinks. by @yudshj
- Close right-sidebar tabs with the middle mouse button without selecting background tabs, while preserving the protected start tab. by @Kingwl
- Fix transcript jumps, scroll reversal, and blank gaps when expanding or folding work steps, while keeping running status visible. by @imccyu
- Briefly highlight and fade the target line in code and text previews after opening a file-line link from chat. by @turtle2099
- Add raw JSON views of live tool results to Trajectory, displayed above rendered results. by @kermanx
- Search prioritizes long Search API summaries for models, capped at 800 characters per source by default, while search cards retain short snippets. by @yudshj
- Start the model picker with configured models selected, add or remove candidates while preserving custom values, and apply select-all only to visible candidates. by @turtle2099
- For models accessed through pi-ai that cannot accept additional system messages during a conversation, keep later system messages in place as reminders rather than moving them into the initial prompt. by @Tuyixiang
- Reorder models within DeepSeek and pi-ai providers by dragging or using arrow keys, preserving order and complete model parameters when saved. by @Magolor
- Show full truncated composer statistics in tooltips and include turn and step counts in Session statistics. by @turtle2099
- Improve history-context cache reuse across consecutive tool calls in Auto review to reduce repeated processing. by @turtle2099
- Background-job completion notices include small outputs and reduce duplicate notifications for already-read results and subagent closing messages. by @turtle1999
- Reduce sleeping and repeated polling in subagent guidance: end the current turn when only a result remains pending and wait for its completion notification. by @Chinesezjc
- Enable WebSocket compression for remote connections by default to reduce transfers of large message histories; disable it with
websocketCompression. by @imccyu - Web static assets support ETag revalidation, returning 304 for unchanged files to avoid repeated downloads. by @imccyu
- Deliver ordinary Word edits after saving and checking content and formatting, without unnecessary ZIP, XML, or metadata inspection. by @tianyicui
- Speed up first-time loading of lazy components such as the source editor in the Web preview. by @turtle2099
- Speed up file searches with literal directory prefixes by skipping unrelated directories while preserving results and ordering. by @kermanx
- Pan images that exceed the viewport and transfer original files through in-app drag-and-drop or native desktop dragging. by @std4453
- Tell phone and tablet users when a file is opened on another device. Show failure notifications on all devices and keep successful desktop operations silent. by @Stevring
Bug Fixes
- Budget global and project AGENTS.md chains separately so project instructions do not evict global guidance; messages containing both chains can use up to twice maxBytes. by @ZiyaZhang
- Compact history with the previous model before switching to a smaller context window; stop the switch request and preserve its previous header if compaction fails. by @Dudu-0223
- Preserve the required thought signatures in Gemini tool calls over OpenAI-compatible Chat Completions and include them in subsequent requests to prevent rejection caused by missing signatures. by @turtle2099
- Reuse existing context-prefix caches for new model requests when the system prompt is unchanged, avoiding unnecessary cache invalidation. by @mektpoy
- Hide Web search tools when required credentials are missing; fetch tools using the newer Web API also follow credential readiness. by @LegGasai
- Preserve saved Auto permission and approval policy during application shutdown instead of unintentionally switching to Full access. by @tianyicui
- User steering now releases a background-output wait immediately and returns current output without stopping the job. by @mektpoy
- Fix delegation tools being temporarily unavailable after preset round trips and apply the current Agent’s tool restrictions to delegation. by @Dudu-0223
- Resume blocked goals from the Web goal bar; goals that have exhausted their round limit still require a higher limit first. by @turtle2099
- Save Session recovery records before model requests and tool execution in
sdk-minimal. Stop related operations if saving fails to improve recovery after short Sessions are interrupted. by @LogosVeritas - Expand leading ~ or ~/ in local file tools to the Host home directory while preserving literal tildes elsewhere in paths. by @turtle2099
- Preselect every recommended option in multiple-choice questions instead of only the first, while preserving single-choice and answered-card behavior. by @yudshj
- Resolve relative chat file links from the Session working directory at click time so worktree Sessions do not open the original checkout. by @turtle2099
- Keep single tildes literal in Markdown and require double tildes for strikethrough. by @turtle2099
- Fix multiline $$ math rendering so opening-line math and following prose are preserved. by @Chinesezjc
- Show the current local Markdown image in newly rendered messages and previews after the file is overwritten. by @turtle2099
- Fix bare URLs incorrectly including following Chinese punctuation and text in links. by @turtle2099
- Preserve backslash separators in Windows-path Markdown links and images so they resolve to the intended location. by @turtle2099
- Include whole-turn deliveries and writes in deliverable cards and closing-reply file links, even after the reply; present guidance tells agents to link files before waiting for user input. by @yudshj
- Fix prolonged page freezes caused by syntax highlighting of certain struct definitions. by @yudshj
- Fix pasted file and folder paths being highlighted only through their directory prefixes in the composer. by @turtle2099
- Pause the chat running clock during disconnection or reconnection and resume elapsed-time display after reconnecting. by @turtle2099
- Keep retained steering and follow-up input in log order before assistant output in Trajectory, including after refresh and history loading. by @kermanx
- Use isolated, theme-backed sidebar drag previews to avoid capturing content behind rows while preserving native reordering. by @Stevring
- Make settings-navigation hover visible in dark mode while retaining selected-state priority. by @turtle2099
- Expand and collapse long questions and option descriptions in place, with navigation and submission controls kept visible. by @yudshj
- Prevent a window-activating click on a Session title from accidentally opening rename on macOS, while preserving normal double-click rename. by @turtle2099
- Preserve the sidebar file-tab strip's scroll position when selecting, opening, or closing tabs instead of restarting from the left edge. by @turtle2099
- Run ordinary conversation forks independently instead of treating them as subagents, while preserving creator relationships for real subagents. by @Dudu-0223
- Use SSH for self-hosted Git plugin installation when HTTPS is unreadable and SSH is available. by @turtle2099
- Offer script approval and retry when installing Git plugins with prepare scripts instead of reporting only an unknown error. by @turtle2099
- Approval messages explicitly state whether user approval is requested, avoiding ambiguity around the never policy. by @turtle2099
- Prevent history expansion from rewriting exclamation marks or causing persistent Bash command timeouts on macOS. by @grllll
- Tell the model to continue after a skipped question without asking it again or treating the skip as permission. by @turtle2099
- Keep skills from healthy roots available when another skill root cannot be read, and report incomplete discovery. by @Dudu-0223
- Resolve configuration-project plugins using the project’s ESM rules for dependency subpaths, package imports, and self-references. by @shigma
- Allow Web Fetch to read valid UTF-8 pages whose encoding declarations contain multiple labels including UTF-8. by @Dudu-0223
- Fix tool calls failing on unambiguous optional arguments by accepting an empty grep include. by @turtle1999
- Fix restricted sandbox commands failing to start when DSH runs as administrator or in Windows Sandbox, while preserving file-write and deletion restrictions. by @huoyaoyuan
- Correct the Windows installed-app publisher and keep the application name separate from its version in uninstall listings. by @winewill
- Improve Windows installer progress rendering, dragging, and activation, restore native minimize transitions, and trigger caption buttons on release inside the original button. by @winewill
- Exit the Desktop Host immediately after acknowledging completed teardown so leftover event-loop handles do not block update installation. by @turtle2099
- Leave macOS fullscreen before Desktop update confirmation so failed installs recover the workspace; preserve tasks and show retry guidance if fullscreen exit times out. by @winewill
- Show desktop update prompts in-window without raising native child windows for background results, and match prompts to the app’s light or dark theme. by @winewill
- Keep conversation header menus close to their trigger buttons on macOS desktop. by @turtle2099
- Fix the native macOS directory picker initially appearing inactive and ignoring directory clicks. by @EricMoin
Chores
- Raise the minimum supported Node.js version to 24.9. Upgrade older Node.js runtimes before upgrading DSH. by @tianyicui
- Provide SDK file delivery, questions, scheduling, skills, and context capabilities consistent with Web mode, with question callbacks and operation approval. by @koalazf99
- Fix event publication and cleanup around Session creation, recovery, and disposal. Make initialization events available to live subscribers and wait for acquired resources to finish cleanup on cancellation. by @kermanx
- Add independent Session APIs to read snapshots and continuously subscribe to Session event logs, execution state, and event-projection data. by @imccyu
- Migrate custom plugins to asynchronous retained Session-projection handles. Legacy registration disposers and key-based reads retain compatibility with deprecation notices; approval-state recovery requires the composition to provide sessionProjections and await service activation. by @kermanx, @Magolor
- Allow whole-unit JSON and SQLite storage to read explicitly declared compatible older versions and write in the current version format. by @Magolor
- Allow Web Fetch to access non-public addresses for proxies and internal networks; deployments must restrict network access separately. by @turtle2099
- Synchronize Cordis Timer with its upstream implementation; custom plugins must adapt to changed return values. by @shigma
- Provide unified Cordis Fiber access to raw configuration, candidate resolution, and effective configuration, used consistently by settings and hot reload. by @shigma
- Retrieve diagnostic reports for desktop startup failures, including a bounded history of recent plugin operations to help troubleshooting. by @winewill
- Add system and application permission onboarding to macOS Computer Use, support long clicks, and improve application launching. Retain application permissions across restarts. by @CreatixChu, @koalazf99
- Support experimental Auto review in Headless. by @tianyicui
- Keep Ralph loop and Session search bundled, but no longer list them among experimental plugins. by @ZiyaZhang
- Upgrade pi-ai to 1.3.0 with updated model catalogs, endpoints, and reasoning replay rules; malformed completed tool arguments fail the response before any tool executes. by @tianyicui
- Default undeclared custom-model capacities to decimal 1M context and 128K output; smaller endpoints should set explicit capacities to avoid delayed compaction. by @LegGasai
- Capture the step model before prompt assembly and pre-step and retain it through retries; plugins should select through agent.model rather than changing routes in agent/request. by @kermanx
- Rename Custom plugin markets to Custom plugin indexes. Discover reads user-added index files, and index generation excludes private versions, tags, and default-branch packages. by @turtle2099, @turtle1999
- Official bundle lists are now exported by @deepseek-ai/dsh-official-bundles; custom integrations must update imports from app-boot. by @turtle2099
- Activate tools conditionally per step with consistent model declarations, PTC bindings, and execution admission. Plugins must migrate tools.resolve/executable and prompt-assembly integration. by @LegGasai
- Add a VM Script mode to Node PTC with top-level await, dynamic imports, and expression results, plus optional state retention across calls. Per-call execution remains the default; top-level return and using are unsupported. by @kermanx
- Split native and PTC tool execution into Agent-scoped plugins; enable PTC through configuration overlays and migrate tools.mode and DSH_TOOLS_MODE usage. by @kermanx
- Move the PTC Node control channel to birpc; upgrade self-deployed bootstraps and SSH helpers together, with SSH protocol increasing from 2 to 3. by @kermanx
- Report caller-cancelled run_code calls in PTC Mode as ABORTED rather than CODE_RUN_FAILED. SDK and Session consumers must update cancellation handling. by @kermanx
dsh.so Analysis
DSH 0.2.2-alpha.2 is a broad pre-release covering the plugin manager, mobile/tablet input and layout, six new interface locales, and several experimental surfaces (per-step statistics, Git worktree change requests, and a subagent_oar tool that delegates to local Codex or Claude CLIs). For plugin developers it is primarily a migration release: tools move to per-step conditional activation, native and PTC execution split into Agent-scoped plugins, custom plugin markets become plugin indexes, official bundle lists move to @deepseek-ai/dsh-official-bundles, and Session projections become asynchronous retained handles. The third-party plugin updater now hot-updates packages and restores the previous version if the update fails, and the minimum Node.js version rises to 24.9. The PTC control channel moves to birpc (SSH protocol 2 → 3), so self-deployed bootstraps and SSH helpers must be upgraded together.
Migration Guide
1) Upgrade Node.js to >= 24.9 before upgrading DSH. 2) Custom plugins: migrate to asynchronous retained Session-projection handles; legacy registration disposers and key-based reads still work but emit deprecation notices, and approval-state recovery now requires the composition to provide `sessionProjections` and to await service activation. 3) Tool plugins: migrate `tools.resolve`/`executable` and prompt-assembly integration to per-step conditional activation; split native and PTC execution into Agent-scoped plugins and migrate `tools.mode` / `DSH_TOOLS_MODE` usage to configuration overlays. 4) Select models through `agent.model` rather than changing routes in `agent/request`. 5) Update imports of official bundle lists from `app-boot` to `@deepseek-ai/dsh-official-bundles`. 6) “Custom plugin markets” are renamed to “Custom plugin indexes”; user-added index files are discovered automatically. 7) PTC: control channel moved to birpc — upgrade self-deployed bootstraps and SSH helpers together (SSH protocol 2 → 3); caller-cancelled `run_code` calls now report ABORTED instead of CODE_RUN_FAILED, so update SDK/Session cancellation handling. 8) Cordis Timer is synchronized with upstream; adapt to changed return values. 9) Undeclared custom models now default to 1M context / 128K output — set explicit capacities for smaller endpoints to avoid delayed compaction.
v0.2.1-rc.4pre-release
Official Changes
Fixed
- Fix diagnostics leaking into stdout in ACP mode. by @LegGasai, @tianyicui
Full official release notes
Bug Fixes
- Fix diagnostics leaking into stdout in ACP mode. by @LegGasai, @tianyicui
dsh.so Analysis
This is the fourth release candidate of dsh 0.2.1, a narrow patch rather than a feature drop: the only listed change fixes diagnostics leaking into stdout while running in ACP mode. For the plugin ecosystem the practical takeaway is protocol hygiene — anything a plugin or the harness writes to stdout in ACP sessions can corrupt the client-facing stream, so this fix protects editor and agent-client integrations from garbled responses. No new or changed APIs are announced, and nothing is marked breaking, so existing plugins should keep working as-is. Treat it as a low-risk upgrade, mainly relevant if you ship or consume ACP-based tooling.
Migration Guide
No breaking changes, so no code migration is required. If your plugin prints logs or debug output while running in ACP mode, route them to stderr (or a log sink) instead of stdout to avoid re-introducing the stream corruption this release fixes.
v0.2.1-rc.3pre-release
Official Changes
Changed
- Add More menus to the left sidebar, conversation views, and right sidebar for browsing and creating plugins. by @Yifffan, @imccyu
- Fix New Session losing an unsent draft after switching sessions. by @imccyu
- The DeepSeek API key adapter now updates its model list the same way as account sign-in. by @LegGasai
Full official release notes
Improvements
- Add More menus to the left sidebar, conversation views, and right sidebar for browsing and creating plugins. by @Yifffan, @imccyu
- Fix New Session losing an unsent draft after switching sessions. by @imccyu
Chores
- The DeepSeek API key adapter now updates its model list the same way as account sign-in. by @LegGasai
dsh.so Analysis
DSH 0.2.1-rc.3 is a release candidate focused on UI and reliability polish rather than new APIs. New plugin-oriented menus across the left sidebar, conversation views, and right sidebar make it easier to browse and create plugins, strengthening plugin discovery inside the harness. The release also fixes unsent drafts being lost when switching sessions and aligns the DeepSeek API key adapter's model-list updates with account sign-in. No breaking changes are listed, so plugin developers can treat this as a low-risk upgrade and a good candidate for early testing.
v0.2.1-rc.2pre-release
Official Changes
New
- Add support for DeepSeek-V4.1-Flash-1017. by @LegGasai
- Add support for DeepSeek Search and Fetch APIs, which can be enabled in Web Search settings. by @yudshj, @LegGasai
Full official release notes
New Features
- Add support for DeepSeek-V4.1-Flash-1017. by @LegGasai
- Add support for DeepSeek Search and Fetch APIs, which can be enabled in Web Search settings. by @yudshj, @LegGasai
dsh.so Analysis
dsh 0.2.1-rc.2 is a pre-release that adds a new model target, DeepSeek-V4.1-Flash-1017, plus built-in support for DeepSeek Search and Fetch APIs that users toggle on in Web Search settings. There are no changed, fixed, or breaking entries, so this is purely additive surface area rather than a corrective or disruptive drop. For plugin developers this mainly means a new model id to handle and a new optional retrieval path to consider — tools that fetch or search the web should account for whether the user has enabled those APIs, since they are opt-in and may be unavailable. Because it is a release candidate, treat the behavior as provisional and test against it before depending on it in published plugins.
v0.2.1-rc.1pre-release
Official Changes
New
- Discover and install plugins from custom plugin index sources. by @turtle1999
- Add a “Let Agent create a plugin” entry to plugin management. It opens Creator mode while preserving the draft and starts work only after the request is sent. by @ZiyaZhang
- Support dependency synchronization when plugins are enabled, disabled, uninstalled, or updated. With hot reload enabled, replaceable plugins take effect directly after an update or reinstallation; changes that cannot be hot-reloaded request a restart. by @imccyu, @turtle1999
- Support optional plugins in Minimal mode. The Official plugin catalog offers on-demand installation of Claude Code and Codex bundles matching the current release, for use in headless, SDK, and ACP profiles. by @tianyicui, @turtle2099
- Add Session state-record APIs for experimental plugins to write and read their own session records. by @tianyicui
- Add an experimental Claude Code Mods compatibility layer. At this stage, the main goal is to verify that the Claude Code Mods API's capabilities are broadly a subset of what DSH plugins can do, rather than to offer users complete, practical compatibility. by @tianyicui
- Add an experimental Developer Tools bundle with raw session logs, bidirectional navigation between chat groups and the conversation, and embedded NodeJS debugging tools. The embedded DevTools currently uses an English interface. by @imccyu, @turtle2099
- Add an experimental reasoning translation plugin, enabled from the Plugins page with Bing, Google, or paid DeepSeek Flash as the provider. by @tianyicui, @ZiyaZhang, @imccyu
- Add an experimental Git Worktrees plugin that can be enabled on the Plugins page for Agents to create and enter separate Git checkouts. by @tianyicui, @turtle2099
- Configure reasoning levels for individual custom API models in the UI without editing configuration files manually. by @LegGasai
- Support in-conversation system prompt updates and dynamic tool additions and removals on pi-ai routes according to model capabilities. by @Tuyixiang
- Minimal mode can read images and automatically compact long conversations. Web and Desktop users can run the /compact command to compact context manually. by @LogosVeritas
- Load global instructions from AGENTS.md in the shared agents directory, with DSH_AGENTS_HOME available to select its location. by @tianyicui
- Add the working_directory tool and TypeScript/Python SDK APIs for reading and changing a session’s working directory. by @tianyicui
- Add standalone executable SSH helper runtimes supporting remote file operations, processes, terminals, sandboxing, and Node PTC. by @LegGasai
- The Web app supports DeepSeek account sign-in when accessed over local HTTP. by @lsdsjy
- Detect keys and tokens in sent messages and mask them by default, with an option to reveal them. by @ZiyaZhang
- Support unsent initial prompts for new sessions and preserve file, folder, and session references when restoring drafts or moving them between workspaces. by @imccyu
- Add a setting to collapse work details either when the response finishes or when the next regular message arrives. by @imccyu
- Display YAML frontmatter as a readable field list in Markdown file previews. by @turtle2099
Changed
- Improve Automation task details in narrow windows by collapsing the linked-session action to an icon when space is limited. by @turtle2099
- Configure spawned subagents with independent Agent Presets to manage their roles and tools together. by @grllll, @Dudu-0223
- Improve subagent delegation and waiting guidance: announce delegation depth limits in advance and wait for running subtasks before starting another goal round. by @ZiyaZhang, @turtle1999
- Show a bundle’s code source and current version in its details, making installation and reinstallation information easier to find. by @turtle1999
- Show the version actually installed and explain how to request an exact version when pnpm’s release-age policy selects an older release. by @turtle2099
- Show available command descriptions, file paths, and content-generation progress while tool calls are still preparing. by @imccyu
- Support scrolling and copying full commands in Shell and plugin installation details, and expand background Bash inputs and launch receipts. by @tianyicui
- Handle continuous input, pastes, and resizing more reliably in the Web terminal, and preserve the final output when a process exits. by @LegGasai
- The Node runtime for PTC Mode adds an optional in-memory mode that reuses variables, functions, and imported modules across code executions. by @CreatixChu
- Improve large session list loading and @ session search. by @turtle1999, @imccyu
- Improve automatic session titles by retaining adequate titles for same-topic follow-ups, additional details, and requests to continue. by @tianyicui, @ZiyaZhang
- Add migration guidance to sidebar forks and subagent catalog browsing, directing users to open the original session when migration is required. by @imccyu
- Improve sidebar expansion so running sessions and sessions awaiting a response are easier to find. Session menus support copying the session ID. by @turtle1999, @imccyu
- Choose fonts and sizes separately for interface text, code and tool output, and sidebar terminals. On Desktop, use Cmd/Ctrl + plus or minus to adjust font sizes together. by @turtle2099, @koalazf99
- Refine session and workspace hover interactions, unify card and menu styling, and improve header ordering and narrow-window layouts on plugin and automation pages. by @Yifffan, @Kingwl
- Add microphone selection to voice input, with an input-device selector and live levels for the selected device in plugin details. by @yudshj
- Use the in-page directory picker in Web configurations that allow remote hosts, instead of opening a native directory dialog on the server. by @oraluben
- Improve previews of files containing overlong source lines, rendering those lines without syntax colors while regular lines retain highlighting. by @turtle2099
- Load Office editing, rendering, and export guidance as needed, reduce unrelated checks and previews for simple edits and after PDF export, and avoid referencing deleted preview images in replies. by @yudshj
- Keep the DeepSeek account model list up to date with the models available to the account, while hiding models unsupported by the current client version. by @LegGasai
- Model settings show clearer credential sources and detection status, and let users reveal an entered API key. by @Magolor
- Change API key precedence: Web and Desktop prioritize saved credentials. Headless uses environment variables and .env files by default, without reading saved keys. by @Magolor
- Remove runtime invariant plugins and package
./invariant exports. Developers using these diagnostic entry points need to update their extensions or custom profiles accordingly. by @turtle2099 - Stop reading separate
package.json files for subpath plugins; display text and icons must use the corresponding subpath exports. Plugin-development templates now include localized metadata and icons. by @turtle1999 - Third-party plugin compatibility prioritizes
engines.dsh when declared and otherwise uses the existing rules. Plugin authors should check that the declared range covers their supported DSH versions. by @turtle1999 - Split composer statistics into separate
activity and usage extension entries. Plugins replacing the former stats row must update their registered IDs. by @turtle1999 - Add extension points for user messages, text and image rendering, the new-session page, and the model selector, allowing plugins to customize their content. by @imccyu, @LegGasai
- Make Automation tasks part of Web, with reminder tools scoped to Standard, Creator, and PTC modes. Minimal mode and subagents do not receive them. Retired experimental-bundle selections are cleaned up while existing tasks are preserved. by @Chinesezjc, @turtle1999
- End the current turn and wait for user feedback when a plan review is dismissed to request changes, avoiding an extra model call. by @turtle2099
- Unify subagent execution and completion notifications, with tools returning child IDs immediately. Custom SDK runtimes must support session/wait. by @Dudu-0223
- Deliver Agent Team messages directly to the target Inbox, removing the separate outbox, automatic retries, and resend deduplication. Migrate affected configuration and result fields. by @Dudu-0223
- Apply Session filesystem sandbox policies to Python PTC; custom compositions require sandbox and sandboxPolicy services. by @tianyicui
- Remove the both mixed tool-presentation mode, leaving native and ptc. Update configurations and API calls that use the removed mode. by @tianyicui
- Remove the per-row dshHome setting from agent-instructions and resolve instruction directories from the process DSH_HOME or its default. by @tianyicui
- Change the default SDK profile from a fixed coding-agent persona to a general AI Agent identity for general-purpose tasks. by @Dudu-0223
- Using --from-default-profile to recreate an existing custom profile replaces that profile, including its plugins and settings. by @turtle2099
- The TypeScript and Python SDKs support session resume, restoring saved sessions with their original session IDs and working directories. by @koalazf99
- The Python SDK’s Office engine and full authoring environment are now downloaded on demand. by @yudshj
- Improve gateway authorization and connection management with caller-based resource access control and independent API connections whose participation in user interactions can be configured. by @imccyu
- Add
--public-url for the Web address shown to users, opened in the browser, and supplied to the model, including reverse-proxy URLs with a path prefix. by @oraluben - Allow Web to bind to a specific IPv4/IPv6 address and configure native HTTPS listeners through --tls-cert and --tls-key. by @oraluben
- Update pi-ai to 1.0.2, including upstream model-catalog updates and adapter fixes. by @tianyicui
- Update third-party model support and rename the Azure provider to azure. Provider configurations using azure-openai-responses must be migrated. by @LegGasai
- Update runtime utilities, MCP protocol integrations, image processing, and client-rendering dependencies with compatible security fixes. by @tianyicui
Fixed
- Support multiline goal editing with Shift+Enter, and improve IME handling and resizing in goal and queued-message editors. by @turtle2099
- Fix new messages remaining queued after stopping, resuming, and stopping a goal-driven task again. by @turtle2099
- Fix Trajectory marking waiting, streaming, or retrying requests as completed and showing results before compaction tasks finish. by @turtle2099, @kermanx
- Fix background workflows being marked interrupted while still running after their parent tool step or conversation turn ends normally. by @turtle2099
- Restore image paste and drop in continuable subagent composers, including images sent while running and follow-ups after completion. by @ZiyaZhang
- Tasks interrupted by an application exit now show “Task stopped” instead of appearing to have completed normally. by @turtle2099
- Fix some Bash, PowerShell, and file-mutation records failing to expand their output or diff. by @turtle2099
- Fix uncaught errors after credential, configuration, and skill watchers close, and premature resource release during Agent shutdown. by @tianyicui, @kermanx
- Fix persistent PowerShell calls failing to settle promptly after large amounts of output scroll in some Windows environments. by @Chinesezjc
- Fix PTY worker processes remaining after a terminal exits in Windows Desktop. by @winewill
- Reduce repeated checks before launching commands on Linux, lowering startup overhead and improving compatibility with older systemd environments. by @imccyu
- Fix failed commands not displaying useful status information. by @yudshj
- Reduce redundant queries when creating or restoring multiple terminals, and prevent failed terminals from retrying repeatedly when switching panels. by @LegGasai
- Improve incomplete guidance in PTC Mode, and align model identity prompts across SDK, Web, and headless profiles. by @koalazf99
- Keep Standard, Creator, and custom modes available when coding view is disabled. Built-in PTC or Minimal defaults change to Standard, while existing sessions retain their mode. by @ZiyaZhang
- Fix toggling a plugin removing styles owned by other plugins until the page is refreshed. by @turtle2099
- With development-directory watching enabled, refresh package-entry and dependency-mapping configuration while continuing to reload the entry that is already running. by @imccyu
- Fix the skill list in an open Session’s
/ menu not updating after a plugin is enabled or disabled on the Plugins page. by @grllll - Show a network-check message when a sign-in request receives no response, distinguishing connection problems from other sign-in failures. by @lsdsjy
- Fix requests remaining stuck beyond the idle timeout when a model response stream stops producing output and its transport ignores cancellation. by @tianyicui
- Fix entire DeepSeek requests being blocked when plugin package metadata cannot be read or auxiliary request-extension preparation fails. by @turtle1999, @turtle2099
- Fix editing or deleting model settings from stale data during refresh, including newly saved selections missing from the editor. by @tianyicui
- Extra fields that DSH does not use in the credentials file no longer prevent the application from starting. by @turtle2099
- Let the operating system assign the Desktop port by default, avoiding startup failures caused by reserved port ranges on Windows. by @turtle2099
- Fix the background job list in the session header being obscured or clipped when the right sidebar is expanded. by @turtle2099
- Fix Windows Desktop image-preview masks and close buttons overlapping the caption, and inconsistent sidebar-button hover corners. by @turtle2099
- Fix drive-root validation in the Windows installer to reject root paths containing repeated trailing separators. by @tianyicui
- Fix corrupt small Finder icons for the macOS app and icons shown in application copy and replacement dialogs. by @07akioni
- Fix Page Up in a text input shifting the entire interface to the left on Windows and Linux when the right sidebar is collapsed. by @imccyu
- Keep session loading animations synchronized after sidebar rows move or become visible again. by @turtle2099
- Fix input errors and draft/display mismatches between commands such as /goal or /plan and their arguments. Commands can be selected and deleted as a whole, and restored after undo or a page reload. by @LegGasai
- Fix large blank areas and scroll jumps when switching sessions, collapsing work details, or sending follow-up messages. by @imccyu
- Fix failures when continuing some sessions after an application restart, and history compatibility errors when switching to DeepSeek. by @imccyu, @yudshj
- Fix pasting directory paths into the directory picker when adding a workspace on macOS, and prevent cancelled selections from adding a workspace. by @turtle2099
- Fix failures when restoring a blank session or switching workspaces after its original preset was removed or changed. by @LegGasai
- Fix a case where final session records could be lost while unloading the session storage plugin. by @turtle1999
- Fix clipped recording onsets and missing initial words or syllables in local SenseVoice transcription with VAD enabled. by @yudshj
- Fix false disconnects during network congestion and lost language, theme, and other preferences after refreshing a remote Web client. by @turtle2099, @oraluben
Full official release notes
New Features
- Discover and install plugins from custom plugin index sources. by @turtle1999
- Add a “Let Agent create a plugin” entry to plugin management. It opens Creator mode while preserving the draft and starts work only after the request is sent. by @ZiyaZhang
- Support dependency synchronization when plugins are enabled, disabled, uninstalled, or updated. With hot reload enabled, replaceable plugins take effect directly after an update or reinstallation; changes that cannot be hot-reloaded request a restart. by @imccyu, @turtle1999
- Support optional plugins in Minimal mode. The Official plugin catalog offers on-demand installation of Claude Code and Codex bundles matching the current release, for use in headless, SDK, and ACP profiles. by @tianyicui, @turtle2099
- Add Session state-record APIs for experimental plugins to write and read their own session records. by @tianyicui
- Add an experimental Claude Code Mods compatibility layer. At this stage, the main goal is to verify that the Claude Code Mods API's capabilities are broadly a subset of what DeepSeek Harness plugins can do, rather than to offer users complete, practical compatibility. by @tianyicui
- Add an experimental Developer Tools bundle with raw session logs, bidirectional navigation between chat groups and the conversation, and embedded NodeJS debugging tools. The embedded DevTools currently uses an English interface. by @imccyu, @turtle2099
- Add an experimental reasoning translation plugin, enabled from the Plugins page with Bing, Google, or paid DeepSeek Flash as the provider. by @tianyicui, @ZiyaZhang, @imccyu
- Add an experimental Git Worktrees plugin that can be enabled on the Plugins page for Agents to create and enter separate Git checkouts. by @tianyicui, @turtle2099
- Configure reasoning levels for individual custom API models in the UI without editing configuration files manually. by @LegGasai
- Support in-conversation system prompt updates and dynamic tool additions and removals on pi-ai routes according to model capabilities. by @Tuyixiang
- Minimal mode can read images and automatically compact long conversations. Web and Desktop users can run the /compact command to compact context manually. by @LogosVeritas
- Load global instructions from AGENTS.md in the shared agents directory, with DSH_AGENTS_HOME available to select its location. by @tianyicui
- Add the working_directory tool and TypeScript/Python SDK APIs for reading and changing a session’s working directory. by @tianyicui
- Add standalone executable SSH helper runtimes supporting remote file operations, processes, terminals, sandboxing, and Node PTC. by @LegGasai
- The Web app supports DeepSeek account sign-in when accessed over local HTTP. by @lsdsjy
- Detect keys and tokens in sent messages and mask them by default, with an option to reveal them. by @ZiyaZhang
- Support unsent initial prompts for new sessions and preserve file, folder, and session references when restoring drafts or moving them between workspaces. by @imccyu
- Add a setting to collapse work details either when the response finishes or when the next regular message arrives. by @imccyu
- Display YAML frontmatter as a readable field list in Markdown file previews. by @turtle2099
Improvements
- Improve Automation task details in narrow windows by collapsing the linked-session action to an icon when space is limited. by @turtle2099
- Configure spawned subagents with independent Agent Presets to manage their roles and tools together. by @grllll, @Dudu-0223
- Improve subagent delegation and waiting guidance: announce delegation depth limits in advance and wait for running subtasks before starting another goal round. by @ZiyaZhang, @turtle1999
- Show a bundle’s code source and current version in its details, making installation and reinstallation information easier to find. by @turtle1999
- Show the version actually installed and explain how to request an exact version when pnpm’s release-age policy selects an older release. by @turtle2099
- Show available command descriptions, file paths, and content-generation progress while tool calls are still preparing. by @imccyu
- Support scrolling and copying full commands in Shell and plugin installation details, and expand background Bash inputs and launch receipts. by @tianyicui
- Handle continuous input, pastes, and resizing more reliably in the Web terminal, and preserve the final output when a process exits. by @LegGasai
- The Node runtime for PTC Mode adds an optional in-memory mode that reuses variables, functions, and imported modules across code executions. by @CreatixChu
- Improve large session list loading and @ session search. by @turtle1999, @imccyu
- Improve automatic session titles by retaining adequate titles for same-topic follow-ups, additional details, and requests to continue. by @tianyicui, @ZiyaZhang
- Add migration guidance to sidebar forks and subagent catalog browsing, directing users to open the original session when migration is required. by @imccyu
- Improve sidebar expansion so running sessions and sessions awaiting a response are easier to find. Session menus support copying the session ID. by @turtle1999, @imccyu
- Choose fonts and sizes separately for interface text, code and tool output, and sidebar terminals. On Desktop, use Cmd/Ctrl + plus or minus to adjust font sizes together. by @turtle2099, @koalazf99
- Refine session and workspace hover interactions, unify card and menu styling, and improve header ordering and narrow-window layouts on plugin and automation pages. by @Yifffan, @Kingwl
- Add microphone selection to voice input, with an input-device selector and live levels for the selected device in plugin details. by @yudshj
- Use the in-page directory picker in Web configurations that allow remote hosts, instead of opening a native directory dialog on the server. by @oraluben
- Improve previews of files containing overlong source lines, rendering those lines without syntax colors while regular lines retain highlighting. by @turtle2099
- Load Office editing, rendering, and export guidance as needed, reduce unrelated checks and previews for simple edits and after PDF export, and avoid referencing deleted preview images in replies. by @yudshj
- Keep the DeepSeek account model list up to date with the models available to the account, while hiding models unsupported by the current client version. by @LegGasai
- Model settings show clearer credential sources and detection status, and let users reveal an entered API key. by @Magolor
Bug Fixes
- Support multiline goal editing with Shift+Enter, and improve IME handling and resizing in goal and queued-message editors. by @turtle2099
- Fix new messages remaining queued after stopping, resuming, and stopping a goal-driven task again. by @turtle2099
- Fix Trajectory marking waiting, streaming, or retrying requests as completed and showing results before compaction tasks finish. by @turtle2099, @kermanx
- Fix background workflows being marked interrupted while still running after their parent tool step or conversation turn ends normally. by @turtle2099
- Restore image paste and drop in continuable subagent composers, including images sent while running and follow-ups after completion. by @ZiyaZhang
- Tasks interrupted by an application exit now show “Task stopped” instead of appearing to have completed normally. by @turtle2099
- Fix some Bash, PowerShell, and file-mutation records failing to expand their output or diff. by @turtle2099
- Fix uncaught errors after credential, configuration, and skill watchers close, and premature resource release during Agent shutdown. by @tianyicui, @kermanx
- Fix persistent PowerShell calls failing to settle promptly after large amounts of output scroll in some Windows environments. by @Chinesezjc
- Fix PTY worker processes remaining after a terminal exits in Windows Desktop. by @winewill
- Reduce repeated checks before launching commands on Linux, lowering startup overhead and improving compatibility with older systemd environments. by @imccyu
- Fix failed commands not displaying useful status information. by @yudshj
- Reduce redundant queries when creating or restoring multiple terminals, and prevent failed terminals from retrying repeatedly when switching panels. by @LegGasai
- Improve incomplete guidance in PTC Mode, and align model identity prompts across SDK, Web, and headless profiles. by @koalazf99
- Keep Standard, Creator, and custom modes available when coding view is disabled. Built-in PTC or Minimal defaults change to Standard, while existing sessions retain their mode. by @ZiyaZhang
- Fix toggling a plugin removing styles owned by other plugins until the page is refreshed. by @turtle2099
- With development-directory watching enabled, refresh package-entry and dependency-mapping configuration while continuing to reload the entry that is already running. by @imccyu
- Fix the skill list in an open Session’s
/ menu not updating after a plugin is enabled or disabled on the Plugins page. by @grllll - Show a network-check message when a sign-in request receives no response, distinguishing connection problems from other sign-in failures. by @lsdsjy
- Fix requests remaining stuck beyond the idle timeout when a model response stream stops producing output and its transport ignores cancellation. by @tianyicui
- Fix entire DeepSeek requests being blocked when plugin package metadata cannot be read or auxiliary request-extension preparation fails. by @turtle1999, @turtle2099
- Fix editing or deleting model settings from stale data during refresh, including newly saved selections missing from the editor. by @tianyicui
- Extra fields that DSH does not use in the credentials file no longer prevent the application from starting. by @turtle2099
- Let the operating system assign the Desktop port by default, avoiding startup failures caused by reserved port ranges on Windows. by @turtle2099
- Fix the background job list in the session header being obscured or clipped when the right sidebar is expanded. by @turtle2099
- Fix Windows Desktop image-preview masks and close buttons overlapping the caption, and inconsistent sidebar-button hover corners. by @turtle2099
- Fix drive-root validation in the Windows installer to reject root paths containing repeated trailing separators. by @tianyicui
- Fix corrupt small Finder icons for the macOS app and icons shown in application copy and replacement dialogs. by @07akioni
- Fix Page Up in a text input shifting the entire interface to the left on Windows and Linux when the right sidebar is collapsed. by @imccyu
- Keep session loading animations synchronized after sidebar rows move or become visible again. by @turtle2099
- Fix input errors and draft/display mismatches between commands such as /goal or /plan and their arguments. Commands can be selected and deleted as a whole, and restored after undo or a page reload. by @LegGasai
- Fix large blank areas and scroll jumps when switching sessions, collapsing work details, or sending follow-up messages. by @imccyu
- Fix failures when continuing some sessions after an application restart, and history compatibility errors when switching to DeepSeek. by @imccyu, @yudshj
- Fix pasting directory paths into the directory picker when adding a workspace on macOS, and prevent cancelled selections from adding a workspace. by @turtle2099
- Fix failures when restoring a blank session or switching workspaces after its original preset was removed or changed. by @LegGasai
- Fix a case where final session records could be lost while unloading the session storage plugin. by @turtle1999
- Fix clipped recording onsets and missing initial words or syllables in local SenseVoice transcription with VAD enabled. by @yudshj
- Fix false disconnects during network congestion and lost language, theme, and other preferences after refreshing a remote Web client. by @turtle2099, @oraluben
Chores
- Change API key precedence: Web and Desktop prioritize saved credentials. Headless uses environment variables and .env files by default, without reading saved keys. by @Magolor
- Remove runtime invariant plugins and package
./invariant exports. Developers using these diagnostic entry points need to update their extensions or custom profiles accordingly. by @turtle2099 - Stop reading separate
package.json files for subpath plugins; display text and icons must use the corresponding subpath exports. Plugin-development templates now include localized metadata and icons. by @turtle1999 - Third-party plugin compatibility prioritizes
engines.dsh when declared and otherwise uses the existing rules. Plugin authors should check that the declared range covers their supported DSH versions. by @turtle1999 - Split composer statistics into separate
activity and usage extension entries. Plugins replacing the former stats row must update their registered IDs. by @turtle1999 - Add extension points for user messages, text and image rendering, the new-session page, and the model selector, allowing plugins to customize their content. by @imccyu, @LegGasai
- Make Automation tasks part of Web, with reminder tools scoped to Standard, Creator, and PTC modes. Minimal mode and subagents do not receive them. Retired experimental-bundle selections are cleaned up while existing tasks are preserved. by @Chinesezjc, @turtle1999
- End the current turn and wait for user feedback when a plan review is dismissed to request changes, avoiding an extra model call. by @turtle2099
- Unify subagent execution and completion notifications, with tools returning child IDs immediately. Custom SDK runtimes must support session/wait. by @Dudu-0223
- Deliver Agent Team messages directly to the target Inbox, removing the separate outbox, automatic retries, and resend deduplication. Migrate affected configuration and result fields. by @Dudu-0223
- Apply Session filesystem sandbox policies to Python PTC; custom compositions require sandbox and sandboxPolicy services. by @tianyicui
- Remove the both mixed tool-presentation mode, leaving native and ptc. Update configurations and API calls that use the removed mode. by @tianyicui
- Remove the per-row dshHome setting from agent-instructions and resolve instruction directories from the process DSH_HOME or its default. by @tianyicui
- Change the default SDK profile from a fixed coding-agent persona to a general AI Agent identity for general-purpose tasks. by @Dudu-0223
- Using --from-default-profile to recreate an existing custom profile replaces that profile, including its plugins and settings. by @turtle2099
- The TypeScript and Python SDKs support session resume, restoring saved sessions with their original session IDs and working directories. by @koalazf99
- The Python SDK’s Office engine and full authoring environment are now downloaded on demand. by @yudshj
- Improve gateway authorization and connection management with caller-based resource access control and independent API connections whose participation in user interactions can be configured. by @imccyu
- Add
--public-url for the Web address shown to users, opened in the browser, and supplied to the model, including reverse-proxy URLs with a path prefix. by @oraluben - Allow Web to bind to a specific IPv4/IPv6 address and configure native HTTPS listeners through --tls-cert and --tls-key. by @oraluben
- Update pi-ai to 1.0.2, including upstream model-catalog updates and adapter fixes. by @tianyicui
- Update third-party model support and rename the Azure provider to azure. Provider configurations using azure-openai-responses must be migrated. by @LegGasai
- Update runtime utilities, MCP protocol integrations, image processing, and client-rendering dependencies with compatible security fixes. by @tianyicui
dsh.so Analysis
DSH 0.2.1-rc.1 is a large prerelease whose center of gravity is the plugin system: plugins can now be discovered and installed from custom index sources, their dependencies are synchronized (and hot-reloaded where replaceable) on enable, disable, uninstall and update, and Minimal mode can offer on-demand official Claude Code and Codex bundles for headless, SDK and ACP use. Alongside that come new extension surfaces — session state-record APIs, extension points for user messages, text/image rendering, the new-session page and the model selector, plus experimental Developer Tools, Git Worktrees, reasoning-translation plugins and a Claude Code Mods compatibility layer that the maintainers explicitly describe as a capability-subset check, not full compatibility. For plugin authors the real work is contract cleanup rather than new features: invariant runtime exports, per-subpath package.json reads, the composer `stats` extension ID, the mixed `both` tool-presentation mode, agent-instructions `dshHome`, and the `azure-openai-responses` provider name are all gone or renamed, and third-party compatibility now prefers a declared `engines.dsh` range.
Migration Guide
Prerelease (rc) — pin versions deliberately; the official breaking list is empty, but several removed/renamed contracts require edits. Plugin authors should audit: (1) remove any use of runtime invariant plugins and `./invariant` exports; (2) subpath plugins must publish display text and icons via subpath exports — separate `package.json` files are no longer read; (3) composer statistics are split: re-register plugins that replaced the `stats` row under the `activity` and `usage` entry IDs; (4) the mixed `both` tool-presentation mode is removed — use `native` or `ptc`; (5) declare and verify `engines.dsh` in your manifest, as third-party compatibility now prioritizes it; (6) custom SDK runtimes must support session/wait, and custom Python PTC compositions must provide `sandbox` and `sandboxPolicy` services; (7) rename provider configuration `azure-openai-responses` to `azure`; (8) drop the per-row `dshHome` setting from agent-instructions and rely on DSH_HOME / the shared DSH_AGENTS_HOME directory; (9) note the SDK default profile is now a general AI Agent identity, and `--from-default-profile` overwrites an existing custom profile including its plugins and settings. Also review credential handling: Web/Desktop now prefer saved credentials while headless reads environment variables and .env files only.
v0.2.1-alpha.5pre-release
Official Changes
Changed
- Add the
conversation.input.model.label Slot so plugins can customize model labels by provider in the composer’s model selector. by @LegGasai
Fixed
- Fix the skill list in an open Session’s
/ menu not updating after a plugin is enabled or disabled on the Plugins page. by @grllll - Reduce redundant queries when creating or restoring multiple terminals, and prevent failed terminals from retrying repeatedly when switching panels. by @LegGasai
- Improve incomplete guidance in PTC Mode, and align model identity prompts across SDK, Web, and headless profiles. by @koalazf99
- Fix Page Up in a text input shifting the entire interface to the left on Windows and Linux when the right sidebar is collapsed. by @imccyu
Full official release notes
Bug Fixes
- Fix the skill list in an open Session’s
/ menu not updating after a plugin is enabled or disabled on the Plugins page. by @grllll - Reduce redundant queries when creating or restoring multiple terminals, and prevent failed terminals from retrying repeatedly when switching panels. by @LegGasai
- Improve incomplete guidance in PTC Mode, and align model identity prompts across SDK, Web, and headless profiles. by @koalazf99
- Fix Page Up in a text input shifting the entire interface to the left on Windows and Linux when the right sidebar is collapsed. by @imccyu
Chores
- Add the
conversation.input.model.label Slot so plugins can customize model labels by provider in the composer’s model selector. by @LegGasai
dsh.so Analysis
dsh 0.2.1-alpha.5 is an alpha pre-release with no new headline features and no breaking changes; its substance is one added extension point plus four fixes. The notable addition is the `conversation.input.model.label` slot, which lets plugins customize model labels per provider in the composer's model selector — a small but real widening of the plugin surface for provider-aware UI. The fixes matter for plugin developers too: the skill list in an open session's `/` menu now refreshes when a plugin is enabled or disabled, so plugin toggles reflect immediately, while terminal query/retry behavior, PTC Mode guidance, model identity prompts across SDK/Web/headless, and a Windows/Linux Page Up layout shift are all cleaned up. Since this is an alpha, expect further churn before a stable cut.
v0.2.1-alpha.4pre-release
Official Changes
New
- Configure reasoning levels for individual custom API models in the UI without editing configuration files manually. by @LegGasai
- Discover and install plugins from custom plugin index sources. by @turtle1999
Changed
- Third-party plugin compatibility prioritizes
engines.dsh when declared and otherwise uses the existing rules. Plugin authors should check that the declared range covers their supported DSH versions. by @turtle1999
Fixed
- Fix input glitches between a command and its arguments. Commands can be selected and deleted as a whole, and restored after undo or a page reload. by @LegGasai
- Improve Office file delivery: avoid referencing deleted preview images in replies and reduce unnecessary tool searches and extra checks after PDF export. by @yudshj
- Fix Developer Tools requiring a page reload before its panel can open after being enabled. by @imccyu
- Reduce repeated checks before launching commands on Linux, lowering startup overhead and improving compatibility with older systemd environments. by @imccyu
- Fix failed commands not displaying useful status information. by @yudshj
Full official release notes
English
New Features
- Configure reasoning levels for individual custom API models in the UI without editing configuration files manually. by @LegGasai
- Discover and install plugins from custom plugin index sources. by @turtle1999
Bug Fixes
- Fix input glitches between a command and its arguments. Commands can be selected and deleted as a whole, and restored after undo or a page reload. by @LegGasai
- Improve Office file delivery: avoid referencing deleted preview images in replies and reduce unnecessary tool searches and extra checks after PDF export. by @yudshj
- Fix Developer Tools requiring a page reload before its panel can open after being enabled. by @imccyu
- Reduce repeated checks before launching commands on Linux, lowering startup overhead and improving compatibility with older systemd environments. by @imccyu
- Fix failed commands not displaying useful status information. by @yudshj
Other Changes
- Third-party plugin compatibility prioritizes
engines.dsh when declared and otherwise uses the existing rules. Plugin authors should check that the declared range covers their supported DSH versions. by @turtle1999
dsh.so Analysis
DSH 0.2.1-alpha.4 is a small pre-release that mostly polishes the plugin and model-config experience rather than changing core behavior. The headline additions are UI-level reasoning-level configuration for individual custom API models and the ability to discover and install plugins from custom plugin index sources, which broadens how registries like dsh.so can be consumed. The compatibility rule for third-party plugins now prefers a declared engines.dsh range, falling back to the previous rules otherwise. There are no breaking changes; the fixes cover command input, Office file delivery, Developer Tools activation, Linux startup overhead, and failed-command status reporting.
Migration Guide
No breaking changes, so no mandatory migration. Plugin authors should still verify that any declared engines.dsh range actually covers the DSH versions they support, since that declaration now takes precedence in third-party compatibility checks. Users who rely on non-default plugin indexes can start using custom index sources, but should confirm each source is trusted before installing from it.
v0.2.1-alpha.3pre-release
Official Changes
New
- The Web app supports DeepSeek account sign-in when accessed over local HTTP. by @lsdsjy
- Detect keys and tokens in sent messages and mask them by default, with an option to reveal them. by @ZiyaZhang
- Minimal mode can read images and automatically compact long conversations. Web and Desktop users can run the /compact command to compact context manually. by @LogosVeritas
Changed
- Improve session list loading and @ session search. by @imccyu
- Configure spawned subagents with independent Agent Presets to manage their roles and tools together. by @grllll, @Dudu-0223
- Improve sidebar expansion so running sessions and sessions awaiting a response are easier to find. Session menus support copying the session ID. by @turtle1999, @imccyu
- Keep the DeepSeek account model list up to date with the models available to the account, while hiding models unsupported by the current client version. by @LegGasai
- Model settings show clearer credential sources and detection status, and let users reveal an entered API key. by @Magolor
- Load Office editing, rendering, and export guidance as needed, reducing unnecessary checks and previews for simple content edits. by @yudshj
- Improve subagent delegation and waiting guidance: announce delegation depth limits in advance and wait for running subtasks before starting another goal round. by @ZiyaZhang, @turtle1999
- Handle continuous input, pastes, and resizing more reliably in the Web terminal, and preserve the final output when a process exits. by @LegGasai
- Use Cmd/Ctrl + plus or minus on Desktop to adjust text, code, and terminal font sizes together. by @koalazf99
- Refine session and workspace hover interactions, unify card and menu styling, and improve header ordering and narrow-window layouts on plugin and automation pages. by @Yifffan, @Kingwl
- The Node runtime for PTC Mode adds an optional in-memory mode that reuses variables, functions, and imported modules across code executions. by @CreatixChu
- Change API key precedence: Web and Desktop prioritize saved credentials. Headless uses environment variables and .env files by default, without reading saved keys. by @Magolor
- Update third-party model support and rename the Azure provider to azure. Provider configurations using azure-openai-responses must be migrated. by @LegGasai
- The Python SDK’s Office engine and full authoring environment are now downloaded on demand. by @yudshj
- Using --from-default-profile to recreate an existing custom profile replaces that profile, including its plugins and settings. by @turtle2099
- The TypeScript and Python SDKs support session resume, restoring saved sessions with their original session IDs and working directories. by @koalazf99
Fixed
- Fix large blank areas and scroll jumps when switching sessions, collapsing work details, or sending follow-up messages. by @imccyu
- Fix failures when continuing some sessions after an application restart, and history compatibility errors when switching to DeepSeek. by @imccyu, @yudshj
- Fix stale plugin code after updates or reinstallation. With hot reload enabled, replaceable plugins take effect immediately; changes that cannot be hot-reloaded request a restart. by @turtle1999
- Fix pasting directory paths into the directory picker when adding a workspace on macOS, and prevent cancelled selections from adding a workspace. by @turtle2099
- Fix failures when restoring a blank session or switching workspaces after its original preset was removed or changed. by @LegGasai
- Fix worktree creation failures with some older Git versions. by @turtle2099
- Fix false disconnects during network congestion and lost language, theme, and other preferences after refreshing a remote Web client. by @turtle2099, @oraluben
- Tasks interrupted by an application exit now show “Task stopped” instead of appearing to have completed normally. by @turtle2099
- Extra fields that DSH does not use in the credentials file no longer prevent the application from starting. by @turtle2099
- Fix a case where final session records could be lost while unloading the session storage plugin. by @turtle1999
Full official release notes
New Features
- The Web app supports DeepSeek account sign-in when accessed over local HTTP. by @lsdsjy
- Detect keys and tokens in sent messages and mask them by default, with an option to reveal them. by @ZiyaZhang
- Minimal mode can read images and automatically compact long conversations. Web and Desktop users can run the /compact command to compact context manually. by @LogosVeritas
Bug Fixes
- Fix large blank areas and scroll jumps when switching sessions, collapsing work details, or sending follow-up messages. by @imccyu
- Fix failures when continuing some sessions after an application restart, and history compatibility errors when switching to DeepSeek. by @imccyu, @yudshj
- Fix stale plugin code after updates or reinstallation. With hot reload enabled, replaceable plugins take effect immediately; changes that cannot be hot-reloaded request a restart. by @turtle1999
- Fix pasting directory paths into the directory picker when adding a workspace on macOS, and prevent cancelled selections from adding a workspace. by @turtle2099
- Fix failures when restoring a blank session or switching workspaces after its original preset was removed or changed. by @LegGasai
- Fix worktree creation failures with some older Git versions. by @turtle2099
- Fix false disconnects during network congestion and lost language, theme, and other preferences after refreshing a remote Web client. by @turtle2099, @oraluben
- Tasks interrupted by an application exit now show “Task stopped” instead of appearing to have completed normally. by @turtle2099
- Extra fields that DSH does not use in the credentials file no longer prevent the application from starting. by @turtle2099
- Fix a case where final session records could be lost while unloading the session storage plugin. by @turtle1999
Improvements
- Improve session list loading and @ session search. by @imccyu
- Configure spawned subagents with independent Agent Presets to manage their roles and tools together. by @grllll, @Dudu-0223
- Improve sidebar expansion so running sessions and sessions awaiting a response are easier to find. Session menus support copying the session ID. by @turtle1999, @imccyu
- Keep the DeepSeek account model list up to date with the models available to the account, while hiding models unsupported by the current client version. by @LegGasai
- Model settings show clearer credential sources and detection status, and let users reveal an entered API key. by @Magolor
- Load Office editing, rendering, and export guidance as needed, reducing unnecessary checks and previews for simple content edits. by @yudshj
- Improve subagent delegation and waiting guidance: announce delegation depth limits in advance and wait for running subtasks before starting another goal round. by @ZiyaZhang, @turtle1999
- Handle continuous input, pastes, and resizing more reliably in the Web terminal, and preserve the final output when a process exits. by @LegGasai
- Use Cmd/Ctrl + plus or minus on Desktop to adjust text, code, and terminal font sizes together. by @koalazf99
- Refine session and workspace hover interactions, unify card and menu styling, and improve header ordering and narrow-window layouts on plugin and automation pages. by @Yifffan, @Kingwl
- The Node runtime for PTC Mode adds an optional in-memory mode that reuses variables, functions, and imported modules across code executions. by @CreatixChu
Chores
- Change API key precedence: Web and Desktop prioritize saved credentials. Headless uses environment variables and .env files by default, without reading saved keys. by @Magolor
- Update third-party model support and rename the Azure provider to azure. Provider configurations using azure-openai-responses must be migrated. by @LegGasai
- The Python SDK’s Office engine and full authoring environment are now downloaded on demand. by @yudshj
- Using --from-default-profile to recreate an existing custom profile replaces that profile, including its plugins and settings. by @turtle2099
- The TypeScript and Python SDKs support session resume, restoring saved sessions with their original session IDs and working directories. by @koalazf99
dsh.so Analysis
dsh 0.2.1-alpha.3 is an alpha release centered on credential and secret hygiene, context management, and plugin/runtime polish. Highlights include DeepSeek account sign-in from the local-HTTP Web app, default masking of detected keys and tokens in sent messages with an opt-in reveal, minimal mode gaining image reading plus manual /compact and automatic long-conversation compaction, and subagents configured through independent Agent Presets. For plugin developers the notable items are the fix for stale plugin code (hot-reloadable plugins now apply immediately, others request a restart), on-demand download of the Python SDK Office engine, and TypeScript/Python SDK session resume with preserved session IDs and working directories. No breaking entries were listed, but the Azure provider rename and the new API key precedence are behavior changes that deserve config review before upgrading.
Migration Guide
Some real config review is needed despite no listed breaking items. (1) Azure provider: configurations using the azure-openai-responses provider name must be migrated to the renamed azure provider. (2) API key precedence changed: Web and Desktop now prefer saved credentials, while headless uses environment variables and .env files by default and no longer reads saved keys — verify which credential source your environment relies on. (3) --from-default-profile now replaces an existing custom profile, including its plugins and settings, so avoid reusing that flag on profiles you intend to keep. (4) Plugin behavior after updates: hot-reloadable plugins take effect immediately, while non-hot-reloadable changes require a restart — plan restarts accordingly. Session resume in the TypeScript and Python SDKs is additive; no migration required to keep existing session flows.
v0.2.1-alpha.2pre-release
Official Changes
New
- Add an experimental reasoning translation plugin, enabled from the Plugins page with Bing, Google, or paid DeepSeek Flash as the provider. by @tianyicui, @ZiyaZhang, @imccyu
- Add an experimental Git Worktrees plugin that can be enabled on the Plugins page for Agents to create and enter separate Git checkouts. by @tianyicui
- Add Session state-record APIs for experimental plugins to write and read their own session records. by @tianyicui
- Load global instructions from AGENTS.md in the shared agents directory, with DSH_AGENTS_HOME available to select its location. by @tianyicui
- Add the working_directory tool and TypeScript/Python SDK APIs for reading and changing a session’s working directory. by @tianyicui
- Add on-demand installation of Claude Code and Codex bundles to the Official plugin catalog, using packages matching the running release. by @tianyicui
- Add a setting to collapse work details either when the response finishes or when the next regular message arrives. by @imccyu
- Support in-conversation system prompt updates and dynamic tool additions and removals on pi-ai routes according to model capabilities. by @Tuyixiang
- Add standalone executable SSH helper runtimes supporting remote file operations, processes, terminals, sandboxing, and Node PTC. by @LegGasai
Changed
- Add General settings for independently choosing fonts and sizes for interface text, code and tool output, and sidebar terminals. by @turtle2099
- Add microphone selection to voice input, with an input-device selector and live levels for the selected device in plugin details. by @yudshj
- Allow Web to bind to a specific IPv4/IPv6 address and configure native HTTPS listeners through --tls-cert and --tls-key. by @oraluben
- Support scrolling and copying full commands in Shell and plugin installation details, and expand background Bash inputs and launch receipts. by @tianyicui
- Improve previews of files containing overlong source lines, rendering those lines without syntax colors while regular lines retain highlighting. by @turtle2099
- Improve automatic session titles by retaining adequate titles for same-topic follow-ups, additional details, and requests to continue. by @tianyicui, @ZiyaZhang
- Use the in-page directory picker in Web configurations that allow remote hosts, instead of opening a native directory dialog on the server. by @oraluben
- Add migration guidance to sidebar forks and subagent catalog browsing, directing users to open the original session when migration is required. by @imccyu
- Apply Session filesystem sandbox policies to Python PTC; custom compositions require sandbox and sandboxPolicy services. by @tianyicui
- Remove the both mixed tool-presentation mode, leaving native and ptc. Update configurations and API calls that use the removed mode. by @tianyicui
- Remove the per-row dshHome setting from agent-instructions and resolve instruction directories from the process DSH_HOME or its default. by @tianyicui
- Unify subagent execution and completion notifications, with tools returning child IDs immediately. Custom SDK runtimes must support session/wait. by @Dudu-0223
- Deliver Agent Team messages directly to the target Inbox, removing the separate outbox, automatic retries, and resend deduplication. Migrate affected configuration and result fields. by @Dudu-0223
- Change the default SDK profile from a fixed coding-agent persona to a general AI Agent identity for general-purpose tasks. by @Dudu-0223
- Support optional plugins in Minimal mode and allow Claude Code and Codex bundles in headless, SDK, and ACP profiles. by @turtle2099
- Update runtime utilities, MCP protocol integrations, image processing, and client-rendering dependencies with compatible security fixes. by @tianyicui
- Update pi-ai to 1.0.2, including upstream model-catalog updates and adapter fixes. by @tianyicui
Fixed
- Fix requests remaining stuck beyond the idle timeout when a model response stream stops producing output and its transport ignores cancellation. by @tianyicui
- Fix entire DeepSeek requests being blocked when plugin package metadata cannot be read or auxiliary request-extension preparation fails. by @turtle1999, @turtle2099
- Fix uncaught errors after credential, configuration, and skill watchers close, and premature resource release during Agent shutdown. by @tianyicui, @kermanx
- Fix editing or deleting model settings from stale data during refresh, including newly saved selections missing from the editor. by @tianyicui
- Fix persistent PowerShell calls failing to settle promptly after large amounts of output scroll in some Windows environments. by @Chinesezjc
- Fix the Claude Code Mods Blast Radius example executing tools after cancellation on Windows when the sleep command is unavailable. by @tianyicui
- Fix Trajectory marking waiting, streaming, or retrying requests as completed and showing results before compaction tasks finish. by @turtle2099, @kermanx
- Fix background workflows being marked interrupted while still running after their parent tool step or conversation turn ends normally. by @turtle2099
- Restore image paste and drop in continuable subagent composers, including images sent while running and follow-ups after completion. by @ZiyaZhang
- Fix editor errors and draft/display mismatches when typing between highlighted commands such as /goal or /plan and their arguments. by @LegGasai
- Fix the background job list in the session header being obscured or clipped when the right sidebar is expanded. by @turtle2099
- Fix Windows Desktop image-preview masks and close buttons overlapping the caption, and inconsistent sidebar-button hover corners. by @turtle2099
- Fix response reads and connections remaining open after the caller cancels a request while Developer Tools captures network responses. by @turtle2099
- Fix clipped recording onsets and missing initial words or syllables in local SenseVoice transcription with VAD enabled. by @yudshj
- Fix drive-root validation in the Windows installer to reject root paths containing repeated trailing separators. by @tianyicui
- Fix corrupt small Finder icons for the macOS app and icons shown in application copy and replacement dialogs. by @07akioni
- Fix PTY worker processes remaining after a terminal exits in Windows Desktop. by @winewill
Full official release notes
New Features
- Add an experimental reasoning translation plugin, enabled from the Plugins page with Bing, Google, or paid DeepSeek Flash as the provider. by @tianyicui, @ZiyaZhang, @imccyu
- Add an experimental Git Worktrees plugin that can be enabled on the Plugins page for Agents to create and enter separate Git checkouts. by @tianyicui
- Add Session state-record APIs for experimental plugins to write and read their own session records. by @tianyicui
- Load global instructions from AGENTS.md in the shared agents directory, with DSH_AGENTS_HOME available to select its location. by @tianyicui
- Add the working_directory tool and TypeScript/Python SDK APIs for reading and changing a session’s working directory. by @tianyicui
- Add on-demand installation of Claude Code and Codex bundles to the Official plugin catalog, using packages matching the running release. by @tianyicui
- Add a setting to collapse work details either when the response finishes or when the next regular message arrives. by @imccyu
- Support in-conversation system prompt updates and dynamic tool additions and removals on pi-ai routes according to model capabilities. by @Tuyixiang
- Add standalone executable SSH helper runtimes supporting remote file operations, processes, terminals, sandboxing, and Node PTC. by @LegGasai
Bug Fixes
- Fix requests remaining stuck beyond the idle timeout when a model response stream stops producing output and its transport ignores cancellation. by @tianyicui
- Fix entire DeepSeek requests being blocked when plugin package metadata cannot be read or auxiliary request-extension preparation fails. by @turtle1999, @turtle2099
- Fix uncaught errors after credential, configuration, and skill watchers close, and premature resource release during Agent shutdown. by @tianyicui, @kermanx
- Fix editing or deleting model settings from stale data during refresh, including newly saved selections missing from the editor. by @tianyicui
- Fix persistent PowerShell calls failing to settle promptly after large amounts of output scroll in some Windows environments. by @Chinesezjc
- Fix the Claude Code Mods Blast Radius example executing tools after cancellation on Windows when the sleep command is unavailable. by @tianyicui
- Fix Trajectory marking waiting, streaming, or retrying requests as completed and showing results before compaction tasks finish. by @turtle2099, @kermanx
- Fix background workflows being marked interrupted while still running after their parent tool step or conversation turn ends normally. by @turtle2099
- Restore image paste and drop in continuable subagent composers, including images sent while running and follow-ups after completion. by @ZiyaZhang
- Fix editor errors and draft/display mismatches when typing between highlighted commands such as /goal or /plan and their arguments. by @LegGasai
- Fix the background job list in the session header being obscured or clipped when the right sidebar is expanded. by @turtle2099
- Fix Windows Desktop image-preview masks and close buttons overlapping the caption, and inconsistent sidebar-button hover corners. by @turtle2099
- Fix response reads and connections remaining open after the caller cancels a request while Developer Tools captures network responses. by @turtle2099
- Fix clipped recording onsets and missing initial words or syllables in local SenseVoice transcription with VAD enabled. by @yudshj
- Fix drive-root validation in the Windows installer to reject root paths containing repeated trailing separators. by @tianyicui
- Fix corrupt small Finder icons for the macOS app and icons shown in application copy and replacement dialogs. by @07akioni
- Fix PTY worker processes remaining after a terminal exits in Windows Desktop. by @winewill
Improvements
- Add General settings for independently choosing fonts and sizes for interface text, code and tool output, and sidebar terminals. by @turtle2099
- Add microphone selection to voice input, with an input-device selector and live levels for the selected device in plugin details. by @yudshj
- Allow Web to bind to a specific IPv4/IPv6 address and configure native HTTPS listeners through --tls-cert and --tls-key. by @oraluben
- Support scrolling and copying full commands in Shell and plugin installation details, and expand background Bash inputs and launch receipts. by @tianyicui
- Improve previews of files containing overlong source lines, rendering those lines without syntax colors while regular lines retain highlighting. by @turtle2099
- Improve automatic session titles by retaining adequate titles for same-topic follow-ups, additional details, and requests to continue. by @tianyicui, @ZiyaZhang
- Use the in-page directory picker in Web configurations that allow remote hosts, instead of opening a native directory dialog on the server. by @oraluben
- Add migration guidance to sidebar forks and subagent catalog browsing, directing users to open the original session when migration is required. by @imccyu
Chores
- Apply Session filesystem sandbox policies to Python PTC; custom compositions require sandbox and sandboxPolicy services. by @tianyicui
- Remove the both mixed tool-presentation mode, leaving native and ptc. Update configurations and API calls that use the removed mode. by @tianyicui
- Remove the per-row dshHome setting from agent-instructions and resolve instruction directories from the process DSH_HOME or its default. by @tianyicui
- Unify subagent execution and completion notifications, with tools returning child IDs immediately. Custom SDK runtimes must support session/wait. by @Dudu-0223
- Deliver Agent Team messages directly to the target Inbox, removing the separate outbox, automatic retries, and resend deduplication. Migrate affected configuration and result fields. by @Dudu-0223
- Change the default SDK profile from a fixed coding-agent persona to a general AI Agent identity for general-purpose tasks. by @Dudu-0223
- Support optional plugins in Minimal mode and allow Claude Code and Codex bundles in headless, SDK, and ACP profiles. by @turtle2099
- Update runtime utilities, MCP protocol integrations, image processing, and client-rendering dependencies with compatible security fixes. by @tianyicui
- Update pi-ai to 1.0.2, including upstream model-catalog updates and adapter fixes. by @tianyicui
dsh.so Analysis
dsh 0.2.1-alpha.2 is an alpha release that broadens the plugin surface and tightens session/runtime behavior rather than shipping one headline feature. Highlights include experimental Reasoning Translation and Git Worktrees plugins, a working_directory tool with TypeScript/Python SDK APIs, session state-record APIs for experimental plugins, and a reasoning-body Slot plus official Markdown Content Factory, alongside UI settings for fonts, microphone selection, and collapsing work details. For the plugin ecosystem it is mostly additive, but the changed list removes the mixed tool-presentation mode, drops the per-row dshHome agent-instructions setting, and reworks Agent Team message delivery and subagent completion IDs, so plugins and custom SDK runtimes on those paths must adapt. There is no explicit breaking section, yet alpha status means further churn is likely.
Migration Guide
Alpha release — validate in a test profile before upgrading. Changes requiring action: (1) the mixed tool-presentation mode is removed; switch configurations and API calls to 'native' or 'ptc'. (2) The per-row dshHome setting for agent-instructions is gone; instruction directories now resolve from the process DSH_HOME or its default. (3) Agent Team messages go directly to the target Inbox with no separate outbox, automatic retries, or resend deduplication — migrate affected configuration and result fields. (4) Subagent tools now return child IDs immediately, so custom SDK runtimes must support session/wait. (5) Python PTC now applies session filesystem sandbox policies; custom compositions must provide sandbox and sandboxPolicy services. (6) The default SDK profile changed from a fixed coding persona to a general AI Agent identity — set an explicit persona if you relied on the old default. Experimental plugins (Reasoning Translation, Git Worktrees) and the on-demand Claude Code/Codex bundles are opt-in from the Plugins page.
v0.2.1-alpha.1pre-release
Official Changes
New
- Add an experimental Claude Code Mods compatibility layer. At this stage, the main goal is to verify that the Claude Code Mods API's capabilities are broadly a subset of what DSH plugins can do, rather than to offer users complete, practical compatibility. by @tianyicui
- Add a “Let Agent create a plugin” entry to plugin management. It opens Creator mode while preserving the draft and starts work only after the request is sent. by @ZiyaZhang
- Support unsent initial prompts for new sessions and preserve file, folder, and session references when restoring drafts or moving them between workspaces. by @imccyu
- Display YAML frontmatter as a readable field list in Markdown file previews. by @turtle2099
- Add
--public-url for the Web address shown to users, opened in the browser, and supplied to the model, including reverse-proxy URLs with a path prefix. by @oraluben - Add an optional Developer Tools bundle with raw session logs, bidirectional navigation between chat groups and the conversation, and embedded Host diagnostics. The embedded DevTools currently uses an English interface. by @imccyu
Changed
- Improve Automation task details in narrow windows by collapsing the linked-session action to an icon when space is limited. by @turtle2099
- Show a bundle’s code source and current version in its details, making installation and reinstallation information easier to find. by @turtle1999
- Show available command descriptions, file paths, and content-generation progress while tool calls are still preparing. by @imccyu
- Speed up large session listings while periodically allowing other work to run. by @turtle1999
- Show the version actually installed and explain how to request an exact version when pnpm’s release-age policy selects an older release. by @turtle2099
- Make Automation tasks part of Web, with reminder tools scoped to Standard, Creator, and PTC modes. Minimal mode and subagents do not receive them. Retired experimental-bundle selections are cleaned up while existing tasks are preserved. by @Chinesezjc, @turtle1999
- Stop reading separate
package.json files for subpath plugins; display text and icons must use the corresponding subpath exports. Plugin-development templates now include localized metadata and icons. by @turtle1999 - Breaking change: remove runtime invariant plugins and package
./invariant exports. Extensions and custom profiles using these diagnostic entry points must be updated. by @turtle2099 - Split composer statistics into separate
activity and usage extension entries. Plugins replacing the former stats row must update their registered IDs. by @turtle1999
Fixed
- Support multiline goal editing with Shift+Enter, and improve IME handling and resizing in goal and queued-message editors. by @turtle2099
- Fix new messages remaining queued after stopping, resuming, and stopping a goal-driven task again. by @turtle2099
- Fix some Bash, PowerShell, and file-mutation records failing to expand their output or diff. by @turtle2099
- Keep Standard, Creator, and custom modes available when coding view is disabled. Built-in PTC or Minimal defaults change to Standard, while existing sessions retain their mode. by @ZiyaZhang
- Fix toggling a plugin removing styles owned by other plugins until the page is refreshed. by @turtle2099
- Show a network-check message when a sign-in request receives no response, distinguishing connection problems from other sign-in failures. by @lsdsjy
- Let the operating system assign the Desktop port by default, avoiding startup failures caused by reserved port ranges on Windows. by @turtle2099
- Keep session loading animations synchronized after sidebar rows move or become visible again. by @turtle2099
- With development-directory watching enabled, refresh package-entry and dependency-mapping configuration while continuing to reload the entry that is already running. by @imccyu
- Fix missing dependencies after enabling a new bundle and stale dependency mappings after disabling or uninstalling bundles. Replacing an installed package version still requires a restart. by @imccyu
Full official release notes
New Features
- Add an experimental Claude Code Mods compatibility layer. At this stage, the main goal is to verify that the Claude Code Mods API's capabilities are broadly a subset of what DeepSeek Harness plugins can do, rather than to offer users complete, practical compatibility. by @tianyicui
- Add a “Let Agent create a plugin” entry to plugin management. It opens Creator mode while preserving the draft and starts work only after the request is sent. by @ZiyaZhang
- Support unsent initial prompts for new sessions and preserve file, folder, and session references when restoring drafts or moving them between workspaces. by @imccyu
- Display YAML frontmatter as a readable field list in Markdown file previews. by @turtle2099
- Add
--public-url for the Web address shown to users, opened in the browser, and supplied to the model, including reverse-proxy URLs with a path prefix. by @oraluben - Add an optional Developer Tools bundle with raw session logs, bidirectional navigation between chat groups and the conversation, and embedded Host diagnostics. The embedded DevTools currently uses an English interface. by @imccyu
Bug Fixes
- Support multiline goal editing with Shift+Enter, and improve IME handling and resizing in goal and queued-message editors. by @turtle2099
- Fix new messages remaining queued after stopping, resuming, and stopping a goal-driven task again. by @turtle2099
- Fix some Bash, PowerShell, and file-mutation records failing to expand their output or diff. by @turtle2099
- Keep Standard, Creator, and custom modes available when coding view is disabled. Built-in PTC or Minimal defaults change to Standard, while existing sessions retain their mode. by @ZiyaZhang
- Fix toggling a plugin removing styles owned by other plugins until the page is refreshed. by @turtle2099
- Show a network-check message when a sign-in request receives no response, distinguishing connection problems from other sign-in failures. by @lsdsjy
- Let the operating system assign the Desktop port by default, avoiding startup failures caused by reserved port ranges on Windows. by @turtle2099
- Keep session loading animations synchronized after sidebar rows move or become visible again. by @turtle2099
- With development-directory watching enabled, refresh package-entry and dependency-mapping configuration while continuing to reload the entry that is already running. by @imccyu
- Fix missing dependencies after enabling a new bundle and stale dependency mappings after disabling or uninstalling bundles. Replacing an installed package version still requires a restart. by @imccyu
Improvements
- Improve Automation task details in narrow windows by collapsing the linked-session action to an icon when space is limited. by @turtle2099
- Show a bundle’s code source and current version in its details, making installation and reinstallation information easier to find. by @turtle1999
- Show available command descriptions, file paths, and content-generation progress while tool calls are still preparing. by @imccyu
- Speed up large session listings while periodically allowing other work to run. by @turtle1999
- Show the version actually installed and explain how to request an exact version when pnpm’s release-age policy selects an older release. by @turtle2099
Chores
- Make Automation tasks part of Web, with reminder tools scoped to Standard, Creator, and PTC modes. Minimal mode and subagents do not receive them. Retired experimental-bundle selections are cleaned up while existing tasks are preserved. by @Chinesezjc, @turtle1999
- Stop reading separate
package.json files for subpath plugins; display text and icons must use the corresponding subpath exports. Plugin-development templates now include localized metadata and icons. by @turtle1999 - Breaking change: remove runtime invariant plugins and package
./invariant exports. Extensions and custom profiles using these diagnostic entry points must be updated. by @turtle2099 - Split composer statistics into separate
activity and usage extension entries. Plugins replacing the former stats row must update their registered IDs. by @turtle1999
dsh.so Analysis
dsh 0.2.1-alpha.1 is an alpha release focused on plugin-authoring ergonomics, UI polish, and compatibility groundwork. Highlights include an experimental Claude Code Mods compatibility layer (intended mainly to validate that its API is largely a subset of DSH plugin capabilities, not to promise full practical compatibility), a “Let Agent create a plugin” Creator-mode entry, YAML frontmatter rendering in Markdown previews, `--public-url` support for reverse-proxy/path-prefixed deployments, and an optional Developer Tools bundle. For the plugin ecosystem, the notable changes are structural: runtime invariant plugins and `./invariant` exports are removed, the composer `stats` row is split into `activity` and `usage` extension entries, and subpath plugins must rely on subpath exports rather than separate `package.json` files for text and icons. Fixes also improve bundle dependency handling, though replacing an installed package version still requires a restart.
Migration Guide
Breaking changes require action: (1) Extensions and custom profiles that use runtime invariant plugins or package `./invariant` diagnostic exports must be updated or removed, since those entry points no longer exist. (2) Plugins replacing the composer `stats` row must update their registered IDs to the new `activity` and `usage` entries. (3) Subpath plugins must stop relying on separate `package.json` files for display text and icons and use the corresponding subpath exports instead; plugin templates now include localized metadata and icons. (4) After enabling, disabling, or uninstalling bundles, dependency mapping fixes reduce stale/missing dependencies, but replacing an installed package version still requires a restart.
v0.2.0-rc.2pre-release
Official Changes
New
- Bundle the dsh command with macOS and Windows Desktop for plugin management, without requiring a separate Node or pnpm installation. The command needs to be installed with the "Manage dsh command" menu bar item. by @tianyicui
Changed
- Add search for longer model lists, with fuzzy matching and keyboard selection. by @MrCroxx
- Open the current folder in a local app directly from the Files sidebar, with the selected app remembered. by @yudshj
- Refine elapsed-time displays, process details, typography, and dark-theme styling, and reduce animation overhead. by @yixiangihsiang, @imccyu
- Simplify plugin installation guidance and distinguish upgrade advice for installed, incompatible, and bundled plugins. by @Yifffan, @turtle2099
- Frame delivered automation reminders as scheduled user messages, removing the instruction to treat them only as untrusted reminder content to relay. by @Chinesezjc
- Strengthen Bash and PowerShell tool guidance to remind the Agent to verify resolved target paths before deleting or moving files, helping prevent path mistakes. by @turtle2099
- Combine Windows sandbox permission diagnosis and repair in one authorized run, retaining pre-change backups and recovery commands. by @Elevator14B
- Update the third-party model catalog and compatibility integration to pi-ai 0.87.1. Some older model IDs have been removed, so saved selections may need to be reselected. by @tianyicui
- Add an experimental asynchronous question mode that requires manual configuration to enable: the Agent can continue independent work after the wait expires, while users can still answer later. by @Magolor
Fixed
- Remove duplicate shell names from the new-terminal menu. by @LegGasai
- Fix plan reviews failing to open and losing their full-text action after switching sessions or returning to the conversation. by @LegGasai
- Fix Agent preset changes being unavailable in Settings when “Show coding view” is disabled. by @lsdsjy
- Fix persistent PowerShell failing to recognize command completion, losing exit codes, or exposing internal markers when completion status lines contain trailing spaces. by @turtle2099
- Fix signing permissions for the bundled Node runtime in Intel Mac builds to prevent Office skill commands from crashing at startup. by @07akioni
- Load the login-shell environment for graphical Desktop launches on macOS and Linux, making configured tool paths, proxies, and other user environment settings available to sessions. by @lsdsjy
Full official release notes
New Features
- Bundle the dsh command with macOS and Windows Desktop for plugin management, without requiring a separate Node or pnpm installation. The command needs to be installed with the "Manage dsh command" menu bar item. by @tianyicui
Bug Fixes
- Remove duplicate shell names from the new-terminal menu. by @LegGasai
- Fix plan reviews failing to open and losing their full-text action after switching sessions or returning to the conversation. by @LegGasai
- Fix Agent preset changes being unavailable in Settings when “Show coding view” is disabled. by @lsdsjy
- Fix persistent PowerShell failing to recognize command completion, losing exit codes, or exposing internal markers when completion status lines contain trailing spaces. by @turtle2099
- Fix signing permissions for the bundled Node runtime in Intel Mac builds to prevent Office skill commands from crashing at startup. by @07akioni
- Load the login-shell environment for graphical Desktop launches on macOS and Linux, making configured tool paths, proxies, and other user environment settings available to sessions. by @lsdsjy
Improvements
- Add search for longer model lists, with fuzzy matching and keyboard selection. by @MrCroxx
- Open the current folder in a local app directly from the Files sidebar, with the selected app remembered. by @yudshj
- Refine elapsed-time displays, process details, typography, and dark-theme styling, and reduce animation overhead. by @yixiangihsiang, @imccyu
- Simplify plugin installation guidance and distinguish upgrade advice for installed, incompatible, and bundled plugins. by @Yifffan, @turtle2099
- Frame delivered automation reminders as scheduled user messages, removing the instruction to treat them only as untrusted reminder content to relay. by @Chinesezjc
- Strengthen Bash and PowerShell tool guidance to remind the Agent to verify resolved target paths before deleting or moving files, helping prevent path mistakes. by @turtle2099
Chores
- Combine Windows sandbox permission diagnosis and repair in one authorized run, retaining pre-change backups and recovery commands. by @Elevator14B
- Update the third-party model catalog and compatibility integration to pi-ai 0.87.1. Some older model IDs have been removed, so saved selections may need to be reselected. by @tianyicui
- Add an experimental asynchronous question mode that requires manual configuration to enable: the Agent can continue independent work after the wait expires, while users can still answer later. by @Magolor
dsh.so Analysis
dsh 0.2.0-rc.2 is a pre-release that bundles the dsh CLI into the macOS and Windows Desktop apps, so plugin management no longer requires a separate Node or pnpm installation. It refines plugin installation and upgrade guidance across installed, incompatible, and bundled plugins, and refreshes the third-party model catalog to pi-ai 0.87.1. A batch of Desktop fixes (plan reviews, persistent PowerShell completion, login-shell environment on macOS/Linux, Windows sandbox permission repair) tightens the agent and terminal tooling plugin developers rely on. No breaking changes are declared; the practical care points are reselecting removed model IDs and opting in to the experimental asynchronous question mode manually.
Migration Guide
Release candidate; the change list declares no breaking changes. Post-upgrade checks: (1) pi-ai 0.87.1 removed some older model IDs, so saved model selections may need to be reselected in settings; (2) the experimental asynchronous question mode is off by default and must be enabled manually via configuration. On macOS/Windows, use the "Manage dsh command" menu bar item to install the bundled dsh command if you want CLI-based plugin management without a separate Node/pnpm install.
v0.2.0-rc.1pre-release
Official Changes
Changed
- Improve live status animations, elapsed-time information, and spacing in running and completed conversations. by @yixiangihsiang, @imccyu
- Improve reliability when re-uploading expired images and continuing conversation requests. by @CreatixChu
- Desktop update prompts clarify versions, downloads, and retries. by @liyao
- History entries without a title display “Untitled” and open an empty rename field. by @liyao
- Improve layouts and interactions in plugin management and the built-in plugin inventory, along with installation guidance. by @ZiyaZhang, @Yifffan
- Improve switch color contrast in the dark theme. by @Yifffan
- Improve text-selection visibility in Office and PDF previews in both light and dark themes. by @yudshj
- Reduce waiting time when saving plugin configuration. by @turtle1999
- Creator mode improves plugin-development guidance and provides the agent-experience skill. by @turtle1999
- Conversations using DeepSeek account models can search the web without configuring an additional API key. by @lsdsjy
- The built-in Windows sandbox includes a permission-diagnosis skill that identifies supported causes of access denials and provides backed-up, recoverable permission repairs within a permitted directory. by @Elevator14B
- Fix conversations becoming unable to continue after a tool-scheduling failure. Operations with unknown outcomes instruct the agent to verify side effects before retrying. by @tianyicui
- Fix title-bar clearance for Desktop dialogs, menus, and floating panels, improving visibility and interaction in small windows and when switching fullscreen modes. by @yudshj
- Fix hidden Explorer windows and unresponsive actions when opening a folder or revealing a file on Windows. by @yudshj
- Fix missing audio-input permissions affecting microphone authorization on macOS Desktop. by @LegGasai
- Fix reply recovery when refreshing Safari during a streaming response. by @grllll
- Fix npm installation failures on some Linux systems when optional native prebuilt packages are unavailable. by @turtle2099
- Automation tasks are now provided by an optional plugin bundle. by @Chinesezjc, @ZiyaZhang
- Adjust the default work-detail display for different initialization paths. by @imccyu
Full official release notes
🎨 Improvements
- Improve live status animations, elapsed-time information, and spacing in running and completed conversations. by @yixiangihsiang, @imccyu
- Improve reliability when re-uploading expired images and continuing conversation requests. by @CreatixChu
- Desktop update prompts clarify versions, downloads, and retries. by @liyao
- History entries without a title display “Untitled” and open an empty rename field. by @liyao
- Improve layouts and interactions in plugin management and the built-in plugin inventory, along with installation guidance. by @ZiyaZhang, @Yifffan
- Improve switch color contrast in the dark theme. by @Yifffan
- Improve text-selection visibility in Office and PDF previews in both light and dark themes. by @yudshj
- Reduce waiting time when saving plugin configuration. by @turtle1999
- Creator mode improves plugin-development guidance and provides the agent-experience skill. by @turtle1999
- Conversations using DeepSeek account models can search the web without configuring an additional API key. by @lsdsjy
🐛 Bug Fixes
- The built-in Windows sandbox includes a permission-diagnosis skill that identifies supported causes of access denials and provides backed-up, recoverable permission repairs within a permitted directory. by @Elevator14B
- Fix conversations becoming unable to continue after a tool-scheduling failure. Operations with unknown outcomes instruct the agent to verify side effects before retrying. by @tianyicui
- Fix title-bar clearance for Desktop dialogs, menus, and floating panels, improving visibility and interaction in small windows and when switching fullscreen modes. by @yudshj
- Fix hidden Explorer windows and unresponsive actions when opening a folder or revealing a file on Windows. by @yudshj
- Fix missing audio-input permissions affecting microphone authorization on macOS Desktop. by @LegGasai
- Fix reply recovery when refreshing Safari during a streaming response. by @grllll
- Fix npm installation failures on some Linux systems when optional native prebuilt packages are unavailable. by @turtle2099
⚠️ Chores
- Automation tasks are now provided by an optional plugin bundle. by @Chinesezjc, @ZiyaZhang
- Adjust the default work-detail display for different initialization paths. by @imccyu
dsh.so Analysis
dsh 0.2.0-rc.1 is a release candidate focused on polish rather than new platform surface: smoother live-status animations and elapsed-time display, more reliable image re-upload and resumed conversations, improved plugin-management layouts with faster config saving, and a batch of Desktop fixes (Windows Explorer/folder reveal, macOS microphone permissions, Safari streaming recovery, Linux npm installs). The most ecosystem-relevant items are the expanded Creator-mode plugin-development guidance and agent-experience skill, the Windows sandbox permission-diagnosis skill for access denials, web search without an extra API key on DeepSeek account models, and automation tasks moving out of core into an optional plugin bundle. No breaking changes are declared, so plugin authors mostly need to re-verify their plugins against the reworked plugin-management and Creator-mode surfaces. Because it is an RC, treat it as a preview to validate before production rollout.
Migration Guide
No declared breaking changes. The main migration action: automation tasks are now delivered as an optional plugin bundle—install/enable it if you depended on the previously built-in automation tasks. If npm installs failed on your Linux system due to missing optional native prebuilt packages, upgrade/reinstall to pick up the fix. Since this is a release candidate, validate plugins (especially plugin-management and Creator-mode flows) in a staging environment before production rollout.
v0.1.7-rc.2pre-release
Official Changes
Changed
- Manage reminders and view their run history after enabling scheduled tasks. Tasks survive app restarts and can repeat as often as once a minute. by @Chinesezjc, @ZiyaZhang
- New Desktop onboarding introduces available credit and helps users choose their intended use and how much work detail to show. Interrupted onboarding can be resumed. by @std4453
- View, search, customize, and reset keyboard shortcuts on Web and Desktop, with current bindings shown in the sidebar. by @yxy72, @yixiangihsiang
- Support dynamic tool additions without invalidating KV Cache when the configured model explicitly declares support. by @Tuyixiang
- When Auto review denies an operation, users can decide whether to proceed in conversations that allow manual approval. Review failures are reported separately. by @turtle1999
- Tasks continue in the background when the Desktop window is closed. Quitting the app warns users about the impact on tasks. by @winewill
- Windows file menus display application icons more accurately and prefer associated applications when opening files. by @mektpoy
- Fix startup failures in some Desktop installation packages. by @winewill
- Fix missing plugin information on some plugin details and settings pages, and improve startup error messages. by @LegGasai
- Reduce unwanted autofill of saved login passwords into API Key fields. by @LegGasai
- Local Markdown images in Desktop chat can be previewed and enlarged. by @Kaige-Gao
- Users already using a mirror can choose another installation method when installing a plugin from GitHub fails. by @ZiyaZhang
- Edit account models directly in Settings. by @lsdsjy
- Desktop remembers dismissed notices in embedded Platform pages for the current account, avoiding repeated prompts. by @lsdsjy
- Quota warnings match the current task, helping API Key users avoid topping up the signed-in account by mistake. by @lsdsjy
- Windows update prompts explain automatic restart more clearly, and the updated app opens in the foreground. Installation also warns earlier when the app is still running. by @winewill
- The folder name of a newly created default workspace no longer depends on the interface language. Its display name remains localized unless renamed by the user; existing workspaces remain unchanged. by @kermanx
- Drag macOS windows reliably from the top area while keeping buttons, forms, and dialogs usable. by @mektpoy
- Improve the guidance agents follow when helping users enable plugins and features. by @turtle1999
- When voice input is not ready, clicking the microphone provides guidance and a route to voice plugin settings. by @LegGasai
- The file sidebar can open Windows directory links whose targets are inside the workspace. by @mektpoy
- Fix persistent plugin installation and settings-save failures after an app crash or interrupted installation. by @turtle1999
- Fix broken characters in long tool output that could also cause subsequent conversation requests to fail. by @mektpoy
- Reduce cases where a slower account balance refresh leaves the balance unavailable. by @lsdsjy
- Fix persistent message-sending failures in some long conversations. by @LegGasai
- Enable Auto review from the Plugins page. Inspector is no longer included by default and must be installed separately. by @turtle1999
- Account-funded and API Key tasks have separate model entries. Signing out confirms and stops running account tasks; an expired sign-in prompts users to sign in again. by @lsdsjy
- Coding Tools controls the trajectory, code changes, and mode selection for new tasks. The separate mode-selection switch is removed, and new tasks use the saved default mode. by @lsdsjy
- When time context is enabled, the agent receives time updates every ten minutes by default. Custom intervals remain unchanged. by @turtle1999
- Scheduled tasks and time context are disabled by default on Web and Desktop and can be enabled when needed. by @turtle1999
- Reduce the token overhead of fixed instructions in each Standard mode conversation turn. by @turtle1999
- Choose Hide archived, All conversations, or Archived only. Archived-only views hide workspaces without archived conversations. by @Yifffan
- Tool cards, file previews, and code diffs use more consistent syntax highlighting and support more file types. by @mektpoy
- Document previews have clearer loading indicators, more readable page spacing, and improved light-theme backgrounds. by @yudshj
- Rounded corners, menus, and hover states have more consistent styling. Single-file changes and addition-only or deletion-only diffs use a more compact layout. by @yixiangihsiang
- Keyboard focus indicators are more consistent and no longer appear unexpectedly after mouse interaction. by @mektpoy
- Show progress while switching models and reduce the wait after making a selection. by @turtle1999, @LegGasai
- Warnings about skipped incompatible plugins appear only once per app startup. by @turtle1999
- Plugin installation clearly identifies the selected official registry or mirror and combines duplicate choices. by @turtle1999
- Approval cards follow the interface language and guide agents to explain approval requests in the language of the user's question. by @turtle1999
- Chinese plugin management and settings pages consistently use 子智能体 for subagents. by @turtle1999
- Open a fetched page directly from its URL in a collapsed tool card without expanding the card. by @turtle1999
Full official release notes
✨ New Features
- Manage reminders and view their run history after enabling scheduled tasks. Tasks survive app restarts and can repeat as often as once a minute. by @Chinesezjc, @ZiyaZhang
- New Desktop onboarding introduces available credit and helps users choose their intended use and how much work detail to show. Interrupted onboarding can be resumed. by @std4453
- View, search, customize, and reset keyboard shortcuts on Web and Desktop, with current bindings shown in the sidebar. by @yxy72, @yixiangihsiang
- Support dynamic tool additions without invalidating KV Cache when the configured model explicitly declares support. by @Tuyixiang
- When Auto review denies an operation, users can decide whether to proceed in conversations that allow manual approval. Review failures are reported separately. by @turtle1999
- Tasks continue in the background when the Desktop window is closed. Quitting the app warns users about the impact on tasks. by @winewill
🐛 Bug Fixes
- Windows file menus display application icons more accurately and prefer associated applications when opening files. by @mektpoy
- Fix startup failures in some Desktop installation packages. by @winewill
- Fix missing plugin information on some plugin details and settings pages, and improve startup error messages. by @LegGasai
- Reduce unwanted autofill of saved login passwords into API Key fields. by @LegGasai
- Local Markdown images in Desktop chat can be previewed and enlarged. by @Kaige-Gao
- Users already using a mirror can choose another installation method when installing a plugin from GitHub fails. by @ZiyaZhang
- Edit account models directly in Settings. by @lsdsjy
- Desktop remembers dismissed notices in embedded Platform pages for the current account, avoiding repeated prompts. by @lsdsjy
- Quota warnings match the current task, helping API Key users avoid topping up the signed-in account by mistake. by @lsdsjy
- Windows update prompts explain automatic restart more clearly, and the updated app opens in the foreground. Installation also warns earlier when the app is still running. by @winewill
- The folder name of a newly created default workspace no longer depends on the interface language. Its display name remains localized unless renamed by the user; existing workspaces remain unchanged. by @kermanx
- Drag macOS windows reliably from the top area while keeping buttons, forms, and dialogs usable. by @mektpoy
- Improve the guidance agents follow when helping users enable plugins and features. by @turtle1999
- When voice input is not ready, clicking the microphone provides guidance and a route to voice plugin settings. by @LegGasai
- The file sidebar can open Windows directory links whose targets are inside the workspace. by @mektpoy
- Fix persistent plugin installation and settings-save failures after an app crash or interrupted installation. by @turtle1999
- Fix broken characters in long tool output that could also cause subsequent conversation requests to fail. by @mektpoy
- Reduce cases where a slower account balance refresh leaves the balance unavailable. by @lsdsjy
- Fix persistent message-sending failures in some long conversations. by @LegGasai
⚠️ Changes
- Enable Auto review from the Plugins page. Inspector is no longer included by default and must be installed separately. by @turtle1999
- Account-funded and API Key tasks have separate model entries. Signing out confirms and stops running account tasks; an expired sign-in prompts users to sign in again. by @lsdsjy
- Coding Tools controls the trajectory, code changes, and mode selection for new tasks. The separate mode-selection switch is removed, and new tasks use the saved default mode. by @lsdsjy
- When time context is enabled, the agent receives time updates every ten minutes by default. Custom intervals remain unchanged. by @turtle1999
- Scheduled tasks and time context are disabled by default on Web and Desktop and can be enabled when needed. by @turtle1999
- Reduce the token overhead of fixed instructions in each Standard mode conversation turn. by @turtle1999
🎨 Improvements
- Choose Hide archived, All conversations, or Archived only. Archived-only views hide workspaces without archived conversations. by @Yifffan
- Tool cards, file previews, and code diffs use more consistent syntax highlighting and support more file types. by @mektpoy
- Document previews have clearer loading indicators, more readable page spacing, and improved light-theme backgrounds. by @yudshj
- Rounded corners, menus, and hover states have more consistent styling. Single-file changes and addition-only or deletion-only diffs use a more compact layout. by @yixiangihsiang
- Keyboard focus indicators are more consistent and no longer appear unexpectedly after mouse interaction. by @mektpoy
- Show progress while switching models and reduce the wait after making a selection. by @turtle1999, @LegGasai
- Warnings about skipped incompatible plugins appear only once per app startup. by @turtle1999
- Plugin installation clearly identifies the selected official registry or mirror and combines duplicate choices. by @turtle1999
- Approval cards follow the interface language and guide agents to explain approval requests in the language of the user's question. by @turtle1999
- Chinese plugin management and settings pages consistently use 子智能体 for subagents. by @turtle1999
- Open a fetched page directly from its URL in a collapsed tool card without expanding the card. by @turtle1999
dsh.so Analysis
0.1.7-rc.2 is a release candidate with no listed new or breaking entries, so it reads mainly as a stability and polish pass. Much of it targets the plugin experience: plugin details and settings pages now surface plugin information correctly, installation clearly shows whether the official registry or a mirror is selected, and installs interrupted by a crash no longer leave persistent plugin-install or settings-save failures. Notable behaviour changes include Auto review being enabled from the Plugins page with Inspector no longer bundled by default, and scheduled tasks plus time context being off by default on Web and Desktop. Desktop/Web also pick up shortcut customisation, improved onboarding, background task continuation when the window is closed, and more consistent UI and syntax highlighting.
Migration Guide
Mostly non-breaking, but some defaults changed. Auto review is now enabled from the Plugins page, and Inspector is no longer bundled by default, so install it separately if you depended on it. Scheduled tasks and time context are off by default on Web and Desktop and must be enabled explicitly. Newly created default workspace folders no longer derive their name from the interface language (the display name stays localised; existing workspaces are unchanged). Desktop tasks keep running after the window is closed and quitting warns about the impact, so plan upgrades around in-flight tasks.
v0.1.7-rc.1pre-release
Official Changes
New
- Add terminals to the Web sidebar, with multiple tabs, shell selection, and recovery after page refreshes. by @LegGasai
- Manage archived sessions with pinning, filters and restoration; confirm affected tasks before archiving a running session. by @tianyicui, @Yifffan, @LegGasai
- MCP supports resource discovery and reading, and URI templates. Shared resource tools are available after configuring an MCP server in a built-in Profile. by @tianyicui
- Headless can read tasks from standard input, resume sessions with
--session-id, and emit run events as newline-delimited JSON with --json. by @lsdsjy - Extend file, command, and PTC tools so DSH can run locally while using a remote workspace over SSH. by @tianyicui
- Add experimental Playwright MCP, Chrome DevTools MCP, and Stagehand browser backends. by @tianyicui
- Add experimental Computer Use through Cua Driver MCP or the native driver for local computer interaction and screenshots. by @tianyicui
- Add experimental Auto review mode. by @pku-xht
- Review session file changes in cards and the sidebar, with line-level and side-by-side diffs, highlighting, synchronized scrolling, hover previews, and improved colors in both themes. by @CreatixChu, @yixiangihsiang, @sjw1231
- Manage plugin installation, configuration, activation and runtime removal. by @LegGasai, @turtle1999, @imccyu
- Preview Word, Excel, PowerPoint, CSV and TSV files in the sidebar. Excel previews support worksheets, cells, formulas and copying, with clearer controls in narrow panes and better trackpad scrolling. by @yudshj, @imccyu
- Open a specified URL in browser mode in the sidebar. by @imccyu
- Open Subagent conversations in the sidebar. by @imccyu
- Preview submission plans in the sidebar, including plans received while another panel is open. by @LegGasai
- Choose an official, mirrored or custom registry for plugin installation. The first installation selects an available source automatically, and GitHub network failures can be retried through a mirror. by @LegGasai, @Yifffan, @ZiyaZhang
- Prepare a local model for experimental speech transcription, with automatic or manual Hugging Face and HF-Mirror selection and automatic fallback. by @LegGasai
- The Agent Team panel shows live member and task updates, and the chat header lets you view or switch members. by @Dudu-0223, @Yifffan
- View and enlarge local images directly in chat, and preview image links on hover or keyboard focus. by @Kaige-Gao
Changed
- Use consistent zoom controls for image, PDF and Office previews and retain each tab’s zoom level. Redraw pages after pinch zooming to keep text sharp. by @Yifffan, @yudshj
- Adapt image resizing and token estimates for DeepSeek V4.1, and increase default request-image size and encoding quality. by @CreatixChu
- Upgrade MCP to the official SDK v2 with protocol negotiation, paginated tool lists, and support for servers without tools. by @tianyicui
- Improve file references and sidebar interactions: open existing files directly and use file previews and terminals before sending the first message. by @LegGasai, @Dudu-0223
- Move long commands and workflows into background jobs, show live output in the job panel, and wake their sessions when jobs finish. by @LegGasai, @turtle1999
- Create a default workspace and blank session on first launch after a fresh installation, without requiring a folder selection. by @kermanx
- Refresh file previews after turns and on local file changes. by @grllll
- Open files with the system default or another associated application, or reveal their location, from previews, deliverable cards, and change review. Files without preview support can also be opened directly. by @CreatixChu
- Improve initial loading and turn navigation in long conversations, and reduce history-loading overhead. by @imccyu, @tianyicui
- Address Team members by name and guide new members in finding teammates and contacting the Lead. by @Dudu-0223
- Make the Team task board read-only; agents create and update tasks through tools. by @Dudu-0223
- Unify model setup under Add Model Provider, with switching between third-party providers and custom APIs while preserving drafts. by @LegGasai
- Stabilize scroll following in conversations and work-detail groups. Improve history pagination and turn navigation, and reduce momentary jumps or duplicate display when sending messages. by @imccyu
- Unify code-block styling across conversations, with copy and wrapping controls and clearer diffs and line numbers. by @yixiangihsiang
- Show original model IDs in discovered-model lists, reveal names on hover, and keep search by name or ID. by @LegGasai, @yudshj
- Choose Compact, Standard, Detailed or fully expanded live work steps. Consecutive reasoning and tool calls appear in collapsible groups. by @imccyu
- Show tool calls while arguments are being prepared, including content preparation progress for file writes and edits. by @imccyu
- Control how much performance and usage information appears in chat. by @lsdsjy
- Use the Developer Tools setting to control diagnostics while keeping plugin-provided tabs visible. by @std4453, @lsdsjy
- Open configuration and other local files with their associated Windows applications. by @Elevator14B
- Office tasks use the LibreOffice runtime installed with the application by default. by @yudshj
- Use the Messages API exclusively for the official DeepSeek adapter and reuse uploaded images through the Files API. Migrate legacy protocol settings and Chat Completions URLs. by @LegGasai, @tianyicui
- Disable Ralph by default. Enable it explicitly if needed. by @tianyicui
- Remove the built-in E2B execution backends; update custom configurations that use them. by @tianyicui
- Rename PTC packages and services to the
ptc-runtime family without legacy aliases; update custom plugins and configurations. by @tianyicui - Replace the workflow executor with
workflow-ptc under the session file policy; update custom configurations. Python PTC is not supported. by @tianyicui - Replace
agent/session-start with asynchronous, serial agent/created initialization; the first model request waits for completion. Update affected plugins and registration calls. by @kermanx - Deprecate the synchronous Session history APIs
snapshotEvents, eventAt, and ownEvents. by @kermanx - Use
spawn_teammate in experimental Team mode, disable subagent and subagent_fork, and raise the default teammate creation limit from 8 to 16. by @Dudu-0223 - Run Node PTC in separate processes under the session file policy with output and heap limits;
process.env is empty, so code relying on the previous environment must migrate. by @tianyicui - Remove transactional rollback from hot reload: parse failures preserve the original configuration, while activation failures may leave partial changes that require correction. by @turtle1999
- Make
SandboxProvider.confine and ShellExecutor.start cancellable and asynchronous, with preparation included in timeouts; fix POSIX symlink/parent-directory combinations and Windows drive-relative paths. by @tianyicui - Remove V4 Flash and V4 Flash Vision Exp from the default model list. by @tianyicui
- Continuable Subagent chains default to at most 8 live children and a delegation depth of 1, adjustable in settings. by @Dudu-0223, @ZiyaZhang
- Creator mode removes the previous Cordis dynamic definition and execution tools and uses Plugin Manager to install persistent plugins. by @turtle1999
- Client Sessions support multiple coexisting instances, with changes to related APIs and slots. by @imccyu
- Upgrade Session logs to V4 and add a batch migration tool for developers, including support for some V3 histories with missing turn-end records. by @tianyicui, @kermanx
- Attachments stored only in custom events are no longer read or exported automatically; plugins must adapt. by @tianyicui
- Allow plugins to declare localized titles and descriptions through the locale data structure and icons in package.json for display in Plugin Manager. by @imccyu, @turtle1999
- Allow plugin bundles to load multiple patch files in order while retaining single-file declarations. by @turtle1999
- Add --dump-config-schema to export JSON Schema for Cordis configuration and patches, assisting configuration authoring and static checks. by @turtle1999
- Support bidirectional Remote streams and binary results to reduce encoding overhead for large Office previews. Workspace file reads now use
readBytes; plugins must migrate from the old API. by @imccyu, @yudshj - Declare and install Agent presets through plugin bundles, with creation and overrides available in Creator mode. Settings retains viewing and selection but removes copy, delete, and open-directory actions; legacy directory-based presets require migration. by @turtle1999
- Save settings in the current Profile’s plugin configuration, supporting fields declared for live updates. Import from the legacy settings.yaml is attempted only once; custom settings plugins must adapt. by @turtle1999
- Retain text and images from tool results within a shared estimated-token budget, preserving both ends and providing access paths for omitted content. Fix MCP images becoming unavailable after text truncation. Custom
spill-policy configurations must replace maxInlineBytes with maxInlineTokens and set the budget in tokens. by @CreatixChu - Plugins can declare configuration fields that update without a reload, retaining running instances when only those fields change. by @turtle1999
- Check plugin compatibility with the running DSH version during installation and startup, explain refusals, and allow exact-version exemptions. by @turtle1999
Fixed
- Distinguish automatic from manual reconnects and resume replies after a Web server restart once the app is ready, preserving history and drafts. by @Yifffan, @imccyu
- Keep usable plugins running after optional startup failures and exit when a required plugin fails. by @turtle1999
- Fix older subagent completion notifications preventing parent sessions from continuing through the Messages API. by @tianyicui, @LegGasai
- Group startup errors and pending services, and save full diagnostics to a log file. by @turtle1999
- Fix pi-ai vision models being recognized as text-only, and allow input types to be adjusted manually. by @Kingwl, @LegGasai
- Restore pending Inbox messages after a restart. by @kermanx
- Avoid requesting approval again for the already effective permission mode. by @turtle1999
- When another DSH instance holds a session, prompt the user to exit that instance and retry. by @07akioni
- Web user terminals run with system-user permissions, independently of the Agent sandbox mode. by @LegGasai
- Fix Web access when deployed under a reverse-proxy subpath. by @oraluben
- Create blank sessions without reusing existing history or sessions held by another instance; preserve their status after reconnects and report creation failures. by @LegGasai, @turtle1999, @liukx0205
- Continue Profile loading past unreadable optional bundles and retain diagnostics and disable/remove controls in Plugin Manager. by @turtle1999
- Allow pending plugin installation dialogs to close immediately and reopen the same task. Recover results after connection failures when possible and clearly report unknown outcomes. by @LegGasai
- Fix local images in sidebar Markdown previews, including document-relative paths, Chinese characters, spaces, and URL encoding. by @LegGasai
- Reserve model output capacity and additional context headroom for proactive compaction, reducing overflow after long outputs. by @Dudu-0223
- Fix source-launch initialization failures caused by runtime module resolution, and support linking plugins under local development. by @imccyu
- Fix Windows sandbox deletions escaping the authorized directory, and prevent deletions across workspaces. by @Elevator14B
- Fix large streaming tool-call arguments blocking the entire DSH process in pi-ai. by @turtle1999
- Fix crashes and load failures when Pkg runtimes concurrently load native addons for the first time. by @koalazf99
- Fix saving speech-recognition language and recognizer selections. Changes take effect immediately and persist across restarts. by @LegGasai
- Fix mouse selection and trigger-button dismissal of model menus in Safari/WebKit, and restore keyboard focus. by @grllll
- Keep the official DeepSeek provider first in model settings while preserving the order of other providers. by @LegGasai
- Restore module routes correctly after the Web server recovers. by @turtle1999
- Bound stalled plugin installation and removal so they do not hold profile configuration indefinitely. by @turtle1999
- Stop long-lived Gateway streams from retaining data already consumed. by @imccyu
Full official release notes
New Features
- Add terminals to the Web sidebar, with multiple tabs, shell selection, and recovery after page refreshes. by @LegGasai
- Manage archived sessions with pinning, filters and restoration; confirm affected tasks before archiving a running session. by @tianyicui, @Yifffan, @LegGasai
- MCP supports resource discovery and reading, and URI templates. Shared resource tools are available after configuring an MCP server in a built-in Profile. by @tianyicui
- Headless can read tasks from standard input, resume sessions with
--session-id, and emit run events as newline-delimited JSON with --json. by @lsdsjy - Extend file, command, and PTC tools so DSH can run locally while using a remote workspace over SSH. by @tianyicui
- Add experimental Playwright MCP, Chrome DevTools MCP, and Stagehand browser backends. by @tianyicui
- Add experimental Computer Use through Cua Driver MCP or the native driver for local computer interaction and screenshots. by @tianyicui
- Add experimental Auto review mode. by @pku-xht
- Review session file changes in cards and the sidebar, with line-level and side-by-side diffs, highlighting, synchronized scrolling, hover previews, and improved colors in both themes. by @CreatixChu, @yixiangihsiang, @sjw1231
- Manage plugin installation, configuration, activation and runtime removal. by @LegGasai, @turtle1999, @imccyu
- Preview Word, Excel, PowerPoint, CSV and TSV files in the sidebar. Excel previews support worksheets, cells, formulas and copying, with clearer controls in narrow panes and better trackpad scrolling. by @yudshj, @imccyu
- Open a specified URL in browser mode in the sidebar. by @imccyu
- Open Subagent conversations in the sidebar. by @imccyu
- Preview submission plans in the sidebar, including plans received while another panel is open. by @LegGasai
- Choose an official, mirrored or custom registry for plugin installation. The first installation selects an available source automatically, and GitHub network failures can be retried through a mirror. by @LegGasai, @Yifffan, @ZiyaZhang
- Prepare a local model for experimental speech transcription, with automatic or manual Hugging Face and HF-Mirror selection and automatic fallback. by @LegGasai
- The Agent Team panel shows live member and task updates, and the chat header lets you view or switch members. by @Dudu-0223, @Yifffan
- View and enlarge local images directly in chat, and preview image links on hover or keyboard focus. by @Kaige-Gao
Improvements
- Use consistent zoom controls for image, PDF and Office previews and retain each tab’s zoom level. Redraw pages after pinch zooming to keep text sharp. by @Yifffan, @yudshj
- Adapt image resizing and token estimates for DeepSeek V4.1, and increase default request-image size and encoding quality. by @CreatixChu
- Upgrade MCP to the official SDK v2 with protocol negotiation, paginated tool lists, and support for servers without tools. by @tianyicui
- Improve file references and sidebar interactions: open existing files directly and use file previews and terminals before sending the first message. by @LegGasai, @Dudu-0223
- Move long commands and workflows into background jobs, show live output in the job panel, and wake their sessions when jobs finish. by @LegGasai, @turtle1999
- Create a default workspace and blank session on first launch after a fresh installation, without requiring a folder selection. by @kermanx
- Refresh file previews after turns and on local file changes. by @grllll
- Open files with the system default or another associated application, or reveal their location, from previews, deliverable cards, and change review. Files without preview support can also be opened directly. by @CreatixChu
- Improve initial loading and turn navigation in long conversations, and reduce history-loading overhead. by @imccyu, @tianyicui
- Address Team members by name and guide new members in finding teammates and contacting the Lead. by @Dudu-0223
- Make the Team task board read-only; agents create and update tasks through tools. by @Dudu-0223
- Unify model setup under Add Model Provider, with switching between third-party providers and custom APIs while preserving drafts. by @LegGasai
- Stabilize scroll following in conversations and work-detail groups. Improve history pagination and turn navigation, and reduce momentary jumps or duplicate display when sending messages. by @imccyu
- Unify code-block styling across conversations, with copy and wrapping controls and clearer diffs and line numbers. by @yixiangihsiang
- Show original model IDs in discovered-model lists, reveal names on hover, and keep search by name or ID. by @LegGasai, @yudshj
- Choose Compact, Standard, Detailed or fully expanded live work steps. Consecutive reasoning and tool calls appear in collapsible groups. by @imccyu
- Show tool calls while arguments are being prepared, including content preparation progress for file writes and edits. by @imccyu
- Control how much performance and usage information appears in chat. by @lsdsjy
- Use the Developer Tools setting to control diagnostics while keeping plugin-provided tabs visible. by @std4453, @lsdsjy
- Open configuration and other local files with their associated Windows applications. by @Elevator14B
- Office tasks use the LibreOffice runtime installed with the application by default. by @yudshj
Bug Fixes
- Distinguish automatic from manual reconnects and resume replies after a Web server restart once the app is ready, preserving history and drafts. by @Yifffan, @imccyu
- Keep usable plugins running after optional startup failures and exit when a required plugin fails. by @turtle1999
- Fix older subagent completion notifications preventing parent sessions from continuing through the Messages API. by @tianyicui, @LegGasai
- Group startup errors and pending services, and save full diagnostics to a log file. by @turtle1999
- Fix pi-ai vision models being recognized as text-only, and allow input types to be adjusted manually. by @Kingwl, @LegGasai
- Restore pending Inbox messages after a restart. by @kermanx
- Avoid requesting approval again for the already effective permission mode. by @turtle1999
- When another DSH instance holds a session, prompt the user to exit that instance and retry. by @07akioni
- Web user terminals run with system-user permissions, independently of the Agent sandbox mode. by @LegGasai
- Fix Web access when deployed under a reverse-proxy subpath. by @oraluben
- Create blank sessions without reusing existing history or sessions held by another instance; preserve their status after reconnects and report creation failures. by @LegGasai, @turtle1999, @liukx0205
- Continue Profile loading past unreadable optional bundles and retain diagnostics and disable/remove controls in Plugin Manager. by @turtle1999
- Allow pending plugin installation dialogs to close immediately and reopen the same task. Recover results after connection failures when possible and clearly report unknown outcomes. by @LegGasai
- Fix local images in sidebar Markdown previews, including document-relative paths, Chinese characters, spaces, and URL encoding. by @LegGasai
- Reserve model output capacity and additional context headroom for proactive compaction, reducing overflow after long outputs. by @Dudu-0223
- Fix source-launch initialization failures caused by runtime module resolution, and support linking plugins under local development. by @imccyu
- Fix Windows sandbox deletions escaping the authorized directory, and prevent deletions across workspaces. by @Elevator14B
- Fix large streaming tool-call arguments blocking the entire DSH process in pi-ai. by @turtle1999
- Fix crashes and load failures when Pkg runtimes concurrently load native addons for the first time. by @koalazf99
- Fix saving speech-recognition language and recognizer selections. Changes take effect immediately and persist across restarts. by @LegGasai
- Fix mouse selection and trigger-button dismissal of model menus in Safari/WebKit, and restore keyboard focus. by @grllll
- Keep the official DeepSeek provider first in model settings while preserving the order of other providers. by @LegGasai
- Restore module routes correctly after the Web server recovers. by @turtle1999
- Bound stalled plugin installation and removal so they do not hold profile configuration indefinitely. by @turtle1999
- Stop long-lived Gateway streams from retaining data already consumed. by @imccyu
Chores
- Use the Messages API exclusively for the official DeepSeek adapter and reuse uploaded images through the Files API. Migrate legacy protocol settings and Chat Completions URLs. by @LegGasai, @tianyicui
- Disable Ralph by default. Enable it explicitly if needed. by @tianyicui
- Remove the built-in E2B execution backends; update custom configurations that use them. by @tianyicui
- Rename PTC packages and services to the
ptc-runtime family without legacy aliases; update custom plugins and configurations. by @tianyicui - Replace the workflow executor with
workflow-ptc under the session file policy; update custom configurations. Python PTC is not supported. by @tianyicui - Replace
agent/session-start with asynchronous, serial agent/created initialization; the first model request waits for completion. Update affected plugins and registration calls. by @kermanx - Deprecate the synchronous Session history APIs
snapshotEvents, eventAt, and ownEvents. by @kermanx - Use
spawn_teammate in experimental Team mode, disable subagent and subagent_fork, and raise the default teammate creation limit from 8 to 16. by @Dudu-0223 - Run Node PTC in separate processes under the session file policy with output and heap limits;
process.env is empty, so code relying on the previous environment must migrate. by @tianyicui - Remove transactional rollback from hot reload: parse failures preserve the original configuration, while activation failures may leave partial changes that require correction. by @turtle1999
- Make
SandboxProvider.confine and ShellExecutor.start cancellable and asynchronous, with preparation included in timeouts; fix POSIX symlink/parent-directory combinations and Windows drive-relative paths. by @tianyicui - Remove V4 Flash and V4 Flash Vision Exp from the default model list. by @tianyicui
- Continuable Subagent chains default to at most 8 live children and a delegation depth of 1, adjustable in settings. by @Dudu-0223, @ZiyaZhang
- Creator mode removes the previous Cordis dynamic definition and execution tools and uses Plugin Manager to install persistent plugins. by @turtle1999
- Client Sessions support multiple coexisting instances, with changes to related APIs and slots. by @imccyu
- Upgrade Session logs to V4 and add a batch migration tool for developers, including support for some V3 histories with missing turn-end records. by @tianyicui, @kermanx
- Attachments stored only in custom events are no longer read or exported automatically; plugins must adapt. by @tianyicui
- Allow plugins to declare localized titles and descriptions through the locale data structure and icons in package.json for display in Plugin Manager. by @imccyu, @turtle1999
- Allow plugin bundles to load multiple patch files in order while retaining single-file declarations. by @turtle1999
- Add --dump-config-schema to export JSON Schema for Cordis configuration and patches, assisting configuration authoring and static checks. by @turtle1999
- Support bidirectional Remote streams and binary results to reduce encoding overhead for large Office previews. Workspace file reads now use
readBytes; plugins must migrate from the old API. by @imccyu, @yudshj - Declare and install Agent presets through plugin bundles, with creation and overrides available in Creator mode. Settings retains viewing and selection but removes copy, delete, and open-directory actions; legacy directory-based presets require migration. by @turtle1999
- Save settings in the current Profile’s plugin configuration, supporting fields declared for live updates. Import from the legacy settings.yaml is attempted only once; custom settings plugins must adapt. by @turtle1999
- Retain text and images from tool results within a shared estimated-token budget, preserving both ends and providing access paths for omitted content. Fix MCP images becoming unavailable after text truncation. Custom
spill-policy configurations must replace maxInlineBytes with maxInlineTokens and set the budget in tokens. by @CreatixChu - Plugins can declare configuration fields that update without a reload, retaining running instances when only those fields change. by @turtle1999
- Check plugin compatibility with the running DSH version during installation and startup, explain refusals, and allow exact-version exemptions. by @turtle1999
dsh.so Analysis
dsh 0.1.7-rc.1 is a large pre-release that broadens DSH's surface with Web sidebar terminals, session archiving, MCP resource discovery and URI templates, headless NDJSON run events, SSH remote workspaces, and browser/computer-use backends, plus plugin install/configure/remove management with official, mirrored, or custom registries. It also carries heavy API and runtime churn: PTC packages become the ptc-runtime family, workflow-ptc replaces the workflow executor, agent/created replaces agent/session-start asynchronously, Node PTC runs in separate processes with an empty process.env, spill policies switch to token budgets, and E2B backends and V4 Flash models are removed. Plugin authors should treat this RC as a migration checkpoint, retesting against Session logs V4, Profile-based plugin settings, preset bundles, and plugin-version compatibility checks before the stable release.
Migration Guide
Plan a real migration for this RC. Rename PTC packages/services to the ptc-runtime family and move to workflow-ptc (Python PTC unsupported); drop E2B execution backends and legacy PTC environment assumptions, since Node PTC now runs in separate processes with an empty process.env. Update plugins that use agent/session-start to the async, serial agent/created initialization (the first model request waits for it), stop using snapshotEvents/eventAt/ownEvents, and expect multi-instance Client Sessions plus Session log V4 with the batch migration tool. Replace spill-policy maxInlineBytes with maxInlineTokens and set a token budget; switch workspace file reads to readBytes for remote/binary streams. Settings now live in the current Profile's plugin configuration with one-time import from legacy settings.yaml, Agent presets must be declared through plugin bundles, Creator mode installs persistent plugins via Plugin Manager instead of Cordis dynamic tools, and plugin compatibility is checked against the running DSH version. Also note Removed V4 Flash/V4 Flash Vision Exp, Ralph disabled by default, subagent/subagent_fork disabled in Team mode in favor of spawn_teammate, and attachments kept only in custom events no longer auto-read or exported.
v0.1.7-alpha.2pre-release
Official Changes
Changed
- Stabilize scroll following in conversations and work-detail groups. Improve history pagination and turn navigation, and reduce momentary jumps or duplicate display when sending messages. by @imccyu
- Unify code-block styling across conversations, with copy and wrapping controls and clearer diffs and line numbers. by @yixiangihsiang
- Preserve line breaks when re-editing queued messages so multiline content reaches the model unchanged. by @turtle2099
- Add teammate-discovery and Lead-contact guidance to Agent Team members’ initial tasks, including messaging by member name. by @Dudu-0223
- Prefer the most responsive available npm registry for the first plugin installation when none is configured, while preserving manual choices and private-registry settings. by @LegGasai
- Retain text and images from tool results within a shared estimated-token budget, preserving both ends and providing access paths for omitted content. Fix MCP images becoming unavailable after text truncation. Custom
spill-policy configurations must replace maxInlineBytes with maxInlineTokens and set the budget in tokens. by @CreatixChu - Restrict automatic dependency updates for Cordis and other vendored packages, plus Node Addon System, to patch releases within the same minor version. by @imccyu
Fixed
- Fix long filenames overflowing message bubbles and file-picker menus becoming detached when the review window is dragged. by @sjw1231
- Fix preview failures and missing content in Excel files with special content. by @yudshj
- Remove unnecessary waiting after persistent PowerShell commands finish. by @Elevator14B
- Resize Excel previews with their pane while preserving the selected worksheet and cell. by @yudshj
- Fix sessions stalling after successive background commands or one-shot subagent tasks finish. Completion-triggered Agent wakeups are unlimited by default, with an optional configurable cap. by @turtle1999
- Fix saving speech-recognition language and recognizer selections. Changes take effect immediately and persist across restarts. by @LegGasai
- Show readable names in discovered-model lists, falling back to model IDs. Search by name or ID and retain the original ID when adding a model. by @LegGasai
- Fix Web clients appearing connected after a server restart but no longer displaying replies. Reconnect the existing page once the application is ready, preserving conversation history and input drafts. by @imccyu
Full official release notes
Improvements
- Stabilize scroll following in conversations and work-detail groups. Improve history pagination and turn navigation, and reduce momentary jumps or duplicate display when sending messages. by @imccyu
- Unify code-block styling across conversations, with copy and wrapping controls and clearer diffs and line numbers. by @yixiangihsiang
- Preserve line breaks when re-editing queued messages so multiline content reaches the model unchanged. by @turtle2099
- Add teammate-discovery and Lead-contact guidance to Agent Team members’ initial tasks, including messaging by member name. by @Dudu-0223
- Prefer the most responsive available npm registry for the first plugin installation when none is configured, while preserving manual choices and private-registry settings. by @LegGasai
Bug Fixes
- Fix long filenames overflowing message bubbles and file-picker menus becoming detached when the review window is dragged. by @sjw1231
- Fix preview failures and missing content in Excel files with special content. by @yudshj
- Remove unnecessary waiting after persistent PowerShell commands finish. by @Elevator14B
- Resize Excel previews with their pane while preserving the selected worksheet and cell. by @yudshj
- Fix sessions stalling after successive background commands or one-shot subagent tasks finish. Completion-triggered Agent wakeups are unlimited by default, with an optional configurable cap. by @turtle1999
- Fix saving speech-recognition language and recognizer selections. Changes take effect immediately and persist across restarts. by @LegGasai
- Show readable names in discovered-model lists, falling back to model IDs. Search by name or ID and retain the original ID when adding a model. by @LegGasai
- Fix Web clients appearing connected after a server restart but no longer displaying replies. Reconnect the existing page once the application is ready, preserving conversation history and input drafts. by @imccyu
Chores
- Retain text and images from tool results within a shared estimated-token budget, preserving both ends and providing access paths for omitted content. Fix MCP images becoming unavailable after text truncation. Custom
spill-policy configurations must replace maxInlineBytes with maxInlineTokens and set the budget in tokens. by @CreatixChu - Restrict automatic dependency updates for Cordis and other vendored packages, plus Node Addon System, to patch releases within the same minor version. by @imccyu
dsh.so Analysis
dsh 0.1.7-alpha.2 is a small prerelease focused on polishing the chat/work experience rather than adding features: scroll following, history pagination, turn navigation, and unified code-block styling with copy and wrap controls. For plugin and harness developers the two meaningful items are a reworked tool-result retention model that shares an estimated-token budget between text and images (preserving both ends and fixing MCP images lost after truncation), and npm registry selection that now prefers the most responsive configured registry on first plugin install. Several fixes improve reliability of background commands, subagent completion wakeups (unlimited by default, optionally capped), speech-recognition settings persistence, Excel previews, and Web client reconnection after a server restart. There are no declared breaking changes, but custom spill-policy configuration is a required migration point for anyone who set maxInlineBytes.
Migration Guide
Only one real migration: custom `spill-policy` configurations must replace `maxInlineBytes` with `maxInlineTokens` and express the budget in tokens. If you rely on completion-triggered Agent wakeups, note that they are now unlimited by default and can optionally be capped. No other breaking changes are declared, so standard upgrade applies.
v0.1.7-alpha.1pre-release
Official Changes
Changed
- Add sidebar session pinning and archive management, with filtering, undo, and restoration from search results. by @Yifffan
- Archiving a running session lists affected turns, subagents, jobs, and reminders and requires “Stop and archive” confirmation. by @LegGasai
- Add Work Details, Performance and Usage, and Developer Tools settings. Consecutive reasoning and tool calls form collapsible groups, with Compact, Detailed, and fully expanded views for running turns. Developer Tools is enabled by default and keeps third-party session tabs visible when disabled. by @lsdsjy, @std4453, @imccyu
- Confirm stopping running jobs from the job list. Long-running commands can continue in the background after the wait timeout when configured, and workflows also support background execution. by @LegGasai
- Create a default workspace and blank session on first launch after a fresh installation, without requiring a folder selection. by @kermanx
- Add a Feedback action to the session header menu for submitting feedback on the current session. by @Kaige-Gao
- Refresh file previews after turns and on local file changes. by @grllll
- Open files with the system default or another associated application, or reveal their location, from previews, deliverable cards, and change review. Files without preview support can also be opened directly. by @CreatixChu
- Default file-change reviews to side-by-side comparison with syntax highlighting and synchronized scrolling. by @CreatixChu, @yixiangihsiang
- Preview single-column diffs by hovering over changed-file cards without opening the sidebar; the sidebar continues to use a side-by-side view by default. by @yixiangihsiang
- Refine file-delivery guidance to favor results in the response and reduce duplicate presentation in file cards. by @CreatixChu
- Unify icons, status indicators, menus, and scrollbars while keeping failures and interruptions clearly visible. by @yixiangihsiang
- Replace JSON displays for conversation settings, goals, to-dos, schedules, and supported historical tool results with compact cards. by @kermanx
- Improve initial loading and turn navigation in long conversations, and reduce history-loading overhead. by @imccyu, @tianyicui
- Use member names as targets in Team tools and unify idle/ready status display for subagents and Teams. by @Dudu-0223
- Make the Team task board read-only; agents create and update tasks through tools. by @Dudu-0223
- Expand jobs in the background job list to view live output. by @LegGasai
- Add descriptions, guides, and example tasks for built-in Agent modes to help users choose a suitable mode. by @ZiyaZhang
- Unify model setup under Add Model Provider, with switching between third-party providers and custom APIs while preserving drafts. by @LegGasai
- Expand workspace session lists in batches, keeping running sessions and parents with running subagents visible. by @turtle2099
- Collapse the model name to an icon when the composer runs out of space, and restore it when space becomes available to reduce control wrapping. by @turtle2099
- Preview XLSX, XLS, CSV, and TSV spreadsheets as read-only files in the sidebar, with worksheet switching, cell selection and copying, and formula inspection. The preview flags some unsupported content. by @yudshj, @imccyu
- Unify zoom controls for PDF, Office, and image previews, with Fit Width by default, percentage and gesture zoom, and a retained zoom level per tab. by @yudshj
- Upgrade Session logs to V4 and add a batch migration tool for developers, including support for some V3 histories with missing turn-end records. by @tianyicui, @kermanx
- Attachments stored only in custom events are no longer read or exported automatically; plugins must adapt. by @tianyicui
- Use only the Messages API in the official DeepSeek adapter, removing Chat Completions and the protocol option. Remove protocol from existing configurations and use a Messages-compatible endpoint. by @tianyicui
- Allow plugins to declare localized titles and descriptions through the locale data structure and icons in package.json for display in Plugin Manager. by @imccyu, @turtle1999
- Choose the official registry, npmmirror, or a custom registry for installation in Plugin Manager, with installation examples and progress display. by @LegGasai, @Yifffan
- Support ordered patch-file lists in plugin bundles while retaining single-file declarations. Plugins can declare configuration fields that update without reloading, retaining running instances when only those fields change. by @turtle1999
- Add --dump-config-schema to export JSON Schema for Cordis configuration and patches, assisting configuration authoring and static checks. by @turtle1999
- Support bidirectional Remote streams and binary transfer for ordinary call results and Office previews, reducing large-file encoding overhead. Unify workspace file reads under readBytes; plugins must migrate from the old APIs. by @imccyu, @yudshj
- Streamline Creator mode prompts and load plugin development references, templates, and legacy preset migration guidance on demand. Inspect configuration fields and constraints of running plugins, with the current Profile name and directory available to Shell commands. by @turtle1999
- Declare and install Agent presets through plugin bundles, with creation and overrides available in Creator mode. Settings retains viewing and selection but removes copy, delete, and open-directory actions; legacy directory-based presets require migration. by @turtle1999
- Save settings in the current Profile’s plugin configuration, supporting fields declared for live updates. Import from the legacy settings.yaml is attempted only once; custom settings plugins must adapt. by @turtle1999
- The built-in browser is disabled by default in Web and enabled by default in Electron. Choose whether chat links open in the built-in browser or a new tab. by @turtle2099
- Add an experimental speech transcription plugin. Download the recognition model locally before first use; download failures include the specific cause, source, and recovery guidance. by @LegGasai
Fixed
- Fix Web access when deployed under a reverse-proxy subpath. by @mektpoy
- Fix Messages API request failures when resuming sessions containing historical subagent notifications. by @LegGasai
- Fix New Session reusing conversations that already contain history or blank sessions held by another DSH instance. by @LegGasai, @turtle1999
- Continue Profile loading past unreadable optional bundles and retain diagnostics and disable/remove controls in Plugin Manager. by @turtle1999
- Allow pending plugin installation dialogs to close immediately and reopen the same task. Recover results after connection failures when possible and clearly report unknown outcomes. by @LegGasai
- Match custom-provider URL examples to the selected protocol to avoid duplicate
/v1 segments with Anthropic Messages. by @LegGasai - Fix local images in sidebar Markdown previews, including document-relative paths, Chinese characters, spaces, and URL encoding. by @LegGasai
- Reserve model output capacity and additional context headroom for proactive compaction, reducing overflow after long outputs. by @Dudu-0223
- Preserve special JSON keys in plugin projection caches when reopening sessions. by @tianyicui
- Fix source-launch initialization failures caused by runtime module resolution, and support linking plugins under local development. by @imccyu
- Fix failures when creating new sessions, subagents, and other Agents with the Playwright browser plugin enabled. by @mektpoy
- Fix persistent Bash and PowerShell cancellations displaying
[object Object] in minimal mode. by @imccyu - Include the failed operation and HTTP status when the DeepSeek Files API returns empty or truncated JSON. by @tianyicui
- Fix Windows sandbox deletions escaping the authorized directory, and prevent deletions across workspaces. by @Elevator14B
- Fix accepted or running sessions incorrectly appearing as blank new sessions after list refreshes or reconnection. by @liukx0205
- Show the failure reason when a new session cannot be created. by @LegGasai
- Fix View Full Text and sidebar previews failing when a plan review arrives while another panel is open. by @LegGasai
- Allow settings navigation to scroll independently so bottom entries remain accessible in short windows or with many sections. by @grllll
- Fix large streaming tool-call arguments blocking the entire DSH process in pi-ai. by @turtle1999
- Fix turn-end records failing to write or including internal stack traces when a turn is cancelled. by @kermanx
- Allow ordinary Bash calls with an empty, unused permission explanation; privilege elevation still requires a valid reason. by @turtle1999
- Fix duplicate inspection-tool registration preventing Agent presets from loading when multiple presets with inspection tools coexist. by @turtle1999
- Fix crashes and load failures when Pkg runtimes concurrently load native addons for the first time. by @koalazf99
- Fix duplicate applications in the macOS Open With menu while preserving side-by-side installations with different names. by @Yifffan
- Fix edge rebound, inconsistent blank-area backgrounds, and truncated filename endings in side-by-side diffs. by @sjw1231
Full official release notes
Improvements
- Add sidebar session pinning and archive management, with filtering, undo, and restoration from search results. by @Yifffan
- Archiving a running session lists affected turns, subagents, jobs, and reminders and requires “Stop and archive” confirmation. by @LegGasai
- Add Work Details, Performance and Usage, and Developer Tools settings. Consecutive reasoning and tool calls form collapsible groups, with Compact, Detailed, and fully expanded views for running turns. Developer Tools is enabled by default and keeps third-party session tabs visible when disabled. by @lsdsjy, @std4453, @imccyu
- Confirm stopping running jobs from the job list. Long-running commands can continue in the background after the wait timeout when configured, and workflows also support background execution. by @LegGasai
- Create a default workspace and blank session on first launch after a fresh installation, without requiring a folder selection. by @kermanx
- Add a Feedback action to the session header menu for submitting feedback on the current session. by @Kaige-Gao
- Refresh file previews after turns and on local file changes. by @grllll
- Open files with the system default or another associated application, or reveal their location, from previews, deliverable cards, and change review. Files without preview support can also be opened directly. by @CreatixChu
- Default file-change reviews to side-by-side comparison with syntax highlighting and synchronized scrolling. by @CreatixChu, @yixiangihsiang
- Preview single-column diffs by hovering over changed-file cards without opening the sidebar; the sidebar continues to use a side-by-side view by default. by @yixiangihsiang
- Refine file-delivery guidance to favor results in the response and reduce duplicate presentation in file cards. by @CreatixChu
- Unify icons, status indicators, menus, and scrollbars while keeping failures and interruptions clearly visible. by @yixiangihsiang
- Replace JSON displays for conversation settings, goals, to-dos, schedules, and supported historical tool results with compact cards. by @kermanx
- Improve initial loading and turn navigation in long conversations, and reduce history-loading overhead. by @imccyu, @tianyicui
- Use member names as targets in Team tools and unify idle/ready status display for subagents and Teams. by @Dudu-0223
- Make the Team task board read-only; agents create and update tasks through tools. by @Dudu-0223
- Expand jobs in the background job list to view live output. by @LegGasai
- Add descriptions, guides, and example tasks for built-in Agent modes to help users choose a suitable mode. by @ZiyaZhang
- Unify model setup under Add Model Provider, with switching between third-party providers and custom APIs while preserving drafts. by @LegGasai
- Expand workspace session lists in batches, keeping running sessions and parents with running subagents visible. by @turtle2099
- Collapse the model name to an icon when the composer runs out of space, and restore it when space becomes available to reduce control wrapping. by @turtle2099
- Preview XLSX, XLS, CSV, and TSV spreadsheets as read-only files in the sidebar, with worksheet switching, cell selection and copying, and formula inspection. The preview flags some unsupported content. by @yudshj, @imccyu
- Unify zoom controls for PDF, Office, and image previews, with Fit Width by default, percentage and gesture zoom, and a retained zoom level per tab. by @yudshj
Bug Fixes
- Fix Web access when deployed under a reverse-proxy subpath. by @mektpoy
- Fix Messages API request failures when resuming sessions containing historical subagent notifications. by @LegGasai
- Fix New Session reusing conversations that already contain history or blank sessions held by another DSH instance. by @LegGasai, @turtle1999
- Continue Profile loading past unreadable optional bundles and retain diagnostics and disable/remove controls in Plugin Manager. by @turtle1999
- Allow pending plugin installation dialogs to close immediately and reopen the same task. Recover results after connection failures when possible and clearly report unknown outcomes. by @LegGasai
- Match custom-provider URL examples to the selected protocol to avoid duplicate
/v1 segments with Anthropic Messages. by @LegGasai - Fix local images in sidebar Markdown previews, including document-relative paths, Chinese characters, spaces, and URL encoding. by @LegGasai
- Reserve model output capacity and additional context headroom for proactive compaction, reducing overflow after long outputs. by @Dudu-0223
- Preserve special JSON keys in plugin projection caches when reopening sessions. by @tianyicui
- Fix source-launch initialization failures caused by runtime module resolution, and support linking plugins under local development. by @imccyu
- Fix failures when creating new sessions, subagents, and other Agents with the Playwright browser plugin enabled. by @mektpoy
- Fix persistent Bash and PowerShell cancellations displaying
[object Object] in minimal mode. by @imccyu - Include the failed operation and HTTP status when the DeepSeek Files API returns empty or truncated JSON. by @tianyicui
- Fix Windows sandbox deletions escaping the authorized directory, and prevent deletions across workspaces. by @Elevator14B
- Fix accepted or running sessions incorrectly appearing as blank new sessions after list refreshes or reconnection. by @liukx0205
- Show the failure reason when a new session cannot be created. by @LegGasai
- Fix View Full Text and sidebar previews failing when a plan review arrives while another panel is open. by @LegGasai
- Allow settings navigation to scroll independently so bottom entries remain accessible in short windows or with many sections. by @grllll
- Fix large streaming tool-call arguments blocking the entire DSH process in pi-ai. by @turtle1999
- Fix turn-end records failing to write or including internal stack traces when a turn is cancelled. by @kermanx
- Allow ordinary Bash calls with an empty, unused permission explanation; privilege elevation still requires a valid reason. by @turtle1999
- Fix duplicate inspection-tool registration preventing Agent presets from loading when multiple presets with inspection tools coexist. by @turtle1999
- Fix crashes and load failures when Pkg runtimes concurrently load native addons for the first time. by @koalazf99
- Fix duplicate applications in the macOS Open With menu while preserving side-by-side installations with different names. by @Yifffan
- Fix edge rebound, inconsistent blank-area backgrounds, and truncated filename endings in side-by-side diffs. by @sjw1231
Chores
- Upgrade Session logs to V4 and add a batch migration tool for developers, including support for some V3 histories with missing turn-end records. by @tianyicui, @kermanx
- Attachments stored only in custom events are no longer read or exported automatically; plugins must adapt. by @tianyicui
- Use only the Messages API in the official DeepSeek adapter, removing Chat Completions and the protocol option. Remove protocol from existing configurations and use a Messages-compatible endpoint. by @tianyicui
- Allow plugins to declare localized titles and descriptions through the locale data structure and icons in package.json for display in Plugin Manager. by @imccyu, @turtle1999
- Choose the official registry, npmmirror, or a custom registry for installation in Plugin Manager, with installation examples and progress display. by @LegGasai, @Yifffan
- Support ordered patch-file lists in plugin bundles while retaining single-file declarations. Plugins can declare configuration fields that update without reloading, retaining running instances when only those fields change. by @turtle1999
- Add --dump-config-schema to export JSON Schema for Cordis configuration and patches, assisting configuration authoring and static checks. by @turtle1999
- Support bidirectional Remote streams and binary transfer for ordinary call results and Office previews, reducing large-file encoding overhead. Unify workspace file reads under readBytes; plugins must migrate from the old APIs. by @imccyu, @yudshj
- Streamline Creator mode prompts and load plugin development references, templates, and legacy preset migration guidance on demand. Inspect configuration fields and constraints of running plugins, with the current Profile name and directory available to Shell commands. by @turtle1999
- Declare and install Agent presets through plugin bundles, with creation and overrides available in Creator mode. Settings retains viewing and selection but removes copy, delete, and open-directory actions; legacy directory-based presets require migration. by @turtle1999
- Save settings in the current Profile’s plugin configuration, supporting fields declared for live updates. Import from the legacy settings.yaml is attempted only once; custom settings plugins must adapt. by @turtle1999
- The built-in browser is disabled by default in Web and enabled by default in Electron. Choose whether chat links open in the built-in browser or a new tab. by @turtle2099
- Add an experimental speech transcription plugin. Download the recognition model locally before first use; download failures include the specific cause, source, and recovery guidance. by @LegGasai
dsh.so Analysis
dsh 0.1.7-alpha.1 is a broad pre-release that reshapes session management, file handling, and the plugin/configuration surface. Highlights include session pinning and archive management with undo, richer file previews (spreadsheet support and unified zoom), V4 session logs with a batch migration tool, and Plugin Manager upgrades such as registry selection, localized plugin titles/icons in package.json, ordered patch-file lists, and configuration fields that update without reloading. For plugin developers the impact is largely contractual: the official DeepSeek adapter now uses only the Messages API (Chat Completions and the protocol option are gone), attachments stored only in custom events are no longer read or exported, workspace file reads are unified behind readBytes, and settings plus Agent presets move into Profile plugin configuration and plugin bundles. The official change list marks no `new` or `breaking` items, but these changed behaviours mean existing plugins should be adapted before upgrading.
Migration Guide
1) DeepSeek 适配器:从现有配置中删除 protocol 字段,改用兼容 Messages 的端点;Chat Completions 不再受支持。2) 仅在自定义事件中保存附件的插件必须改用受支持的持久化方式,自动读取/导出已取消。3) 将旧的工作区文件读取 API 迁移到 readBytes。4) 运行 V4 会话日志批量迁移工具(可处理部分缺少 turn-end 记录的 V3 历史)。5) 将设置迁入当前 Profile 的插件配置;legacy settings.yaml 只会尝试导入一次,自定义设置插件需适配。6) 把基于目录的 Agent 预设迁移为插件包声明,必要时使用有序补丁文件列表与可实时更新的配置字段。7) 用 --dump-config-schema 校验 Cordis 配置与补丁的 JSON Schema 并做静态检查。另请注意:内置浏览器在 Web 默认关闭、在 Electron 默认开启;语音转写插件为实验性,首次使用前需本地下载识别模型。
v0.1.5-rc.3
dsh.so Analysis
dsh 0.1.5-rc.3 is a pre-release build in the 0.1.5 stabilization line, published on 2026-09-22. The official change list lists no entries under new, changed, fixed, or breaking, so this drop appears to be an internal or packaging-only refresh rather than a feature release. For plugin authors there is nothing new to adopt and no API surface change signalled, so existing plugins should continue to work unchanged against the 0.1.5 pre-release channel. Treat it as a validation build: keep pinning exact versions and verify your plugin against it before the 0.1.5 stable cut, since RC builds can still shift.
v0.1.6-alpha.2pre-release
Official Changes
New
- Add a Plugins page for installing and configuring plugins, with live enabling and disabling. by @LegGasai, @turtle1999
- Add end-of-turn file change cards to conversations, with file-by-file review in the sidebar. by @CreatixChu
- Preview Office files in the sidebar, currently supporting Word, Excel and PowerPoint. by @yudshj
- Open a specified URL in browser mode in the sidebar. by @imccyu
- Open Subagent conversations in the sidebar. by @imccyu
- Preview submitted plans in the sidebar. by @LegGasai
Changed
- Group workspaces by directory hierarchy. by @turtle1999
- Persist sidebar layouts and maintain sidebar terminal connections across refreshes. by @LegGasai
- Improve file references and sidebar interactions: open existing files directly and use file previews and terminals before sending the first message. by @LegGasai, @Dudu-0223
- Unify keyboard controls in composer menus: arrow keys to select, Enter or Tab to confirm, and Escape to dismiss. by @liukx0205
- Show text, images and file attachments consistently in Trajectory, with attachment thumbnails in previews. by @sjw1231
- Render thinking content with compact Markdown formatting. by @tianyicui
- Move context usage to the composer footer, with details available on click. by @LegGasai
- Reduce CLI and Web startup wait times. by @imccyu
- Remove V4 Flash and V4 Flash Vision Exp from the default model list. by @tianyicui
- Plugin dependencies now use runtime resolution, and Plugin Manager supports runtime unloading. Plugin developers should check their loading and unloading logic. by @imccyu
- Launch a profile with
dsh <profile> in the CLI. by @turtle1999 - Continuable Subagent chains default to at most 8 live children and a delegation depth of 1, adjustable in settings. by @Dudu-0223, @ZiyaZhang
- Creator mode removes the previous Cordis dynamic definition and execution tools and uses Plugin Manager to install persistent plugins. by @turtle1999
- Client Sessions support multiple coexisting instances, with changes to related APIs and slots. by @imccyu
- Full Changelog: dsh-v0.1.6-alpha.1...dsh-v0.1.6-alpha.2
Fixed
- Group startup errors and pending services, and save full diagnostics to a log file. by @turtle1999
- Fix pi-ai vision models being recognized as text-only, and allow input types to be adjusted manually. by @Kingwl, @LegGasai
- Restore pending Inbox messages after a restart. by @kermanx
- Fix request failures caused by Messages API endpoint construction and malformed historical tool inputs. by @Magolor, @LegGasai
- Avoid requesting approval again for the already effective permission mode. by @turtle1999
- Prevent console windows from flashing when running PTC and shell commands on Windows. by @07akioni
- When another DSH instance holds a session, prompt the user to exit that instance and retry. by @07akioni
- Fix conversation resize handles obstructing content and nested tooltips overlapping. by @yixiangihsiang, @winewill
- Web user terminals run with system-user permissions, independently of the Agent sandbox mode. by @LegGasai
Full official release notes
New Features
- Add a Plugins page for installing and configuring plugins, with live enabling and disabling. by @LegGasai, @turtle1999
- Add end-of-turn file change cards to conversations, with file-by-file review in the sidebar. by @CreatixChu
- Preview Office files in the sidebar, currently supporting Word, Excel and PowerPoint. by @yudshj
- Open a specified URL in browser mode in the sidebar. by @imccyu
- Open Subagent conversations in the sidebar. by @imccyu
- Preview submitted plans in the sidebar. by @LegGasai
Improvements
- Group workspaces by directory hierarchy. by @turtle1999
- Persist sidebar layouts and maintain sidebar terminal connections across refreshes. by @LegGasai
- Improve file references and sidebar interactions: open existing files directly and use file previews and terminals before sending the first message. by @LegGasai, @Dudu-0223
- Unify keyboard controls in composer menus: arrow keys to select, Enter or Tab to confirm, and Escape to dismiss. by @liukx0205
- Show text, images and file attachments consistently in Trajectory, with attachment thumbnails in previews. by @sjw1231
- Render thinking content with compact Markdown formatting. by @tianyicui
- Move context usage to the composer footer, with details available on click. by @LegGasai
- Reduce CLI and Web startup wait times. by @imccyu
Bug Fixes
- Group startup errors and pending services, and save full diagnostics to a log file. by @turtle1999
- Fix pi-ai vision models being recognized as text-only, and allow input types to be adjusted manually. by @Kingwl, @LegGasai
- Restore pending Inbox messages after a restart. by @kermanx
- Fix request failures caused by Messages API endpoint construction and malformed historical tool inputs. by @Magolor, @LegGasai
- Avoid requesting approval again for the already effective permission mode. by @turtle1999
- Prevent console windows from flashing when running PTC and shell commands on Windows. by @07akioni
- When another DSH instance holds a session, prompt the user to exit that instance and retry. by @07akioni
- Fix conversation resize handles obstructing content and nested tooltips overlapping. by @yixiangihsiang, @winewill
- Web user terminals run with system-user permissions, independently of the Agent sandbox mode. by @LegGasai
Chores
- Remove V4 Flash and V4 Flash Vision Exp from the default model list. by @tianyicui
- Plugin dependencies now use runtime resolution, and Plugin Manager supports runtime unloading. Plugin developers should check their loading and unloading logic. by @imccyu
- Launch a profile with
dsh <profile> in the CLI. by @turtle1999 - Continuable Subagent chains default to at most 8 live children and a delegation depth of 1, adjustable in settings. by @Dudu-0223, @ZiyaZhang
- Creator mode removes the previous Cordis dynamic definition and execution tools and uses Plugin Manager to install persistent plugins. by @turtle1999
- Client Sessions support multiple coexisting instances, with changes to related APIs and slots. by @imccyu
Full Changelog: dsh-v0.1.6-alpha.1...dsh-v0.1.6-alpha.2
dsh.so Analysis
dsh 0.1.6-alpha.2 is a large plugin- and UI-focused alpha: it adds a dedicated Plugins page with live enable/disable, end-of-turn file change cards, and rich sidebar previews (Office files, URLs, subagent conversations, submitted plans). Under the hood, plugin dependencies now resolve at runtime and the Plugin Manager supports runtime unloading; Creator mode drops the old Cordis dynamic definition/execution tools in favour of installing persistent plugins, and Client Sessions can now coexist as multiple instances with related API and slot changes. Sidebar layouts and terminal connections now persist across refreshes, startup is faster, and many reliability fixes landed. For the ecosystem this means plugin authors must re-verify loading/unloading and any session/slot integrations, while users get a smoother, more discoverable plugin workflow.
Migration Guide
No hard breaking entries were listed, but plugin authors should act on three changes: (1) plugin dependencies now use runtime resolution and Plugin Manager supports runtime unloading — review and test your load/unload lifecycle, cleanup, and dependency assumptions; (2) Creator mode no longer provides the Cordis dynamic definition/execution tools — switch to installing persistent plugins via Plugin Manager; (3) Client Sessions can now run multiple coexisting instances, with changed APIs and slots — update any session or slot integrations and re-verify them. Also note V4 Flash and V4 Flash Vision Exp were removed from the default model list; re-add them explicitly if your setup depends on them. Subagent chains now default to at most 8 live children and delegation depth 1, adjustable in settings.
v0.1.6-alpha.1pre-release
Official Changes
New
- Add terminals to the Web sidebar, with multiple tabs, shell selection, and recovery after page refreshes. by @LegGasai
- Add an archived-session list in Settings for browsing and restoring sessions. by @tianyicui
- MCP supports resource discovery and reading, and URI templates. Shared resource tools are available after configuring an MCP server in a built-in Profile. by @tianyicui
- Headless can read tasks from standard input, resume sessions with
--session-id, and emit run events as newline-delimited JSON with --json. by @lsdsjy - Extend file, command, and PTC tools so DSH can run locally while using a remote workspace over SSH. by @tianyicui
- Add experimental Browser Use through Playwright MCP, Chrome DevTools MCP, and Stagehand browser backends. by @tianyicui
- Add experimental Computer Use through Cua Driver MCP or the native driver for local computer interaction and screenshots. by @tianyicui
- Add experimental Auto review mode. by @pku-xht
Changed
- Preview file and Skill references and delivered-file links in the sidebar by default. by @LegGasai
- Allow the mode-switching UI to be disabled in Agent Presets settings. by @ZiyaZhang
- Improve file previews with preserved file-tree scroll positions, panel-fitted images and PDFs, simpler viewer selection, and clearer loading and format messages. by @Yifffan
- Expand and copy JSON strings in Trajectory, inspect PTC code and call results, show reasoning expanded by default, and recover recorded run timing. by @kermanx
- Reorganize the composer’s plus menu, move file attachment into it, remove the separate attachment button, and align Chinese and English command presentation in the slash menu. by @CreatixChu, @Yifffan
- Distinguish automatic and manual reconnection, support click-to-retry, and reduce notice flicker. by @Yifffan
- Show turn durations in hours, minutes, and seconds once they exceed an hour. by @lsdsjy
- Adapt image resizing and token estimates for DeepSeek V4.1, and increase default request-image size and encoding quality. by @CreatixChu
- Improve persistent Bash performance when processing large amounts of previous output. by @turtle2099
- Support fullscreen viewing, zoom, and pan for Mermaid diagrams on the documentation site. by @grllll
- Support per-call timeouts for Node PTC’s
run_code, with a default of 120 seconds and a maximum of 600 seconds. by @tianyicui - Upgrade MCP to the official SDK v2 with protocol negotiation, paginated tool lists, and support for servers without tools. by @tianyicui
- Keep expanded reasoning and compaction-summary headers pinned while scrolling for easy collapse, without covering code copy buttons in summaries. by @Chinesezjc
- Improve Web terminal text and cursor contrast and preserve application colors across theme changes; new views after refresh do not yet restore those colors. by @LegGasai
- Add an image offload session event to record historical images omitted from requests and preserve that record across session recovery and forks. by @CreatixChu
- Use Messages as the default DeepSeek protocol and reuse uploaded images through the Files API. Custom API addresses are preserved. If you explicitly set the old official root URL, remove that override or change it to
https://api.deepseek.com/anthropic. by @LegGasai, @tianyicui - Disable Ralph by default. Enable it explicitly if needed. by @tianyicui
- Remove the built-in E2B execution backends; update custom configurations that use them. by @tianyicui
- Rename PTC packages and services to the
ptc-runtime family without legacy aliases; update custom plugins and configurations. by @tianyicui - Replace the workflow executor with
workflow-ptc under the session file policy; update custom configurations. Python PTC is not supported. by @tianyicui - Replace
agent/session-start with asynchronous, serial agent/created initialization; the first model request waits for completion. Update affected plugins and registration calls. by @kermanx - Deprecate the synchronous Session history APIs
snapshotEvents, eventAt, and ownEvents. by @kermanx - Use
spawn_teammate in experimental Team mode, disable subagent and subagent_fork, and raise the default teammate creation limit from 8 to 16. by @Dudu-0223 - Run Node PTC in separate processes under the session file policy with output and heap limits;
process.env is empty, so code relying on the previous environment must migrate. by @tianyicui - Remove transactional rollback from hot reload: parse failures preserve the original configuration, while activation failures may leave partial changes that require correction. by @turtle1999
- Make
SandboxProvider.confine and ShellExecutor.start cancellable and asynchronous, with preparation included in timeouts; fix POSIX symlink/parent-directory combinations and Windows drive-relative paths. by @tianyicui - Move the request-image cache to
DSH_HOME/cache/attachments/request-images, where it can be rebuilt after deletion; preserve originals and leave old caches untouched. by @turtle1999 - When using the DeepSeek model adapter with an official API endpoint, session events can be reported with requests. This experimental feature is currently enabled and can be disabled in configuration. by @tianyicui
Fixed
- Fix session recency sorting, preserve manual order after refreshes, and place new blank sessions at the top. by @Dudu-0223
- Fix turn-based forks including inputs and settings from later turns. by @Dudu-0223
- Fix PTC prompt generation failures and unintended text replacements when tool descriptions contain double braces. by @kermanx
- Fix waiting and exit-result handling during Linux subprocess termination and cleanup. by @turtle1999, @tianyicui
- Keep usable plugins running after optional startup failures, exit on required-plugin failures, and fix module-route registration after Web server recovery. by @turtle1999
- Fix page jumps when hovering over or focusing short Markdown tables. by @07akioni
- Show line-level changes and context in file edit cards, correct added/deleted line counts, and display large replacements as whole fragments. by @turtle2099
- Pass only body text in subagent completion notices to fix reasoning blocks causing parent-session Messages failures; saved notices are unchanged. by @tianyicui
Full official release notes
New Features
- Add terminals to the Web sidebar, with multiple tabs, shell selection, and recovery after page refreshes. by @LegGasai
- Add an archived-session list in Settings for browsing and restoring sessions. by @tianyicui
- MCP supports resource discovery and reading, and URI templates. Shared resource tools are available after configuring an MCP server in a built-in Profile. by @tianyicui
- Headless can read tasks from standard input, resume sessions with
--session-id, and emit run events as newline-delimited JSON with --json. by @lsdsjy - Extend file, command, and PTC tools so DSH can run locally while using a remote workspace over SSH. by @tianyicui
- Add experimental Browser Use through Playwright MCP, Chrome DevTools MCP, and Stagehand browser backends. by @tianyicui
- Add experimental Computer Use through Cua Driver MCP or the native driver for local computer interaction and screenshots. by @tianyicui
- Add experimental Auto review mode. by @pku-xht
Improvements
- Preview file and Skill references and delivered-file links in the sidebar by default. by @LegGasai
- Allow the mode-switching UI to be disabled in Agent Presets settings. by @ZiyaZhang
- Improve file previews with preserved file-tree scroll positions, panel-fitted images and PDFs, simpler viewer selection, and clearer loading and format messages. by @Yifffan
- Expand and copy JSON strings in Trajectory, inspect PTC code and call results, show reasoning expanded by default, and recover recorded run timing. by @kermanx
- Reorganize the composer’s plus menu, move file attachment into it, remove the separate attachment button, and align Chinese and English command presentation in the slash menu. by @CreatixChu, @Yifffan
- Distinguish automatic and manual reconnection, support click-to-retry, and reduce notice flicker. by @Yifffan
- Show turn durations in hours, minutes, and seconds once they exceed an hour. by @lsdsjy
- Adapt image resizing and token estimates for DeepSeek V4.1, and increase default request-image size and encoding quality. by @CreatixChu
- Improve persistent Bash performance when processing large amounts of previous output. by @turtle2099
- Support fullscreen viewing, zoom, and pan for Mermaid diagrams on the documentation site. by @grllll
- Support per-call timeouts for Node PTC’s
run_code, with a default of 120 seconds and a maximum of 600 seconds. by @tianyicui - Upgrade MCP to the official SDK v2 with protocol negotiation, paginated tool lists, and support for servers without tools. by @tianyicui
- Keep expanded reasoning and compaction-summary headers pinned while scrolling for easy collapse, without covering code copy buttons in summaries. by @Chinesezjc
- Improve Web terminal text and cursor contrast and preserve application colors across theme changes; new views after refresh do not yet restore those colors. by @LegGasai
Bug Fixes
- Fix session recency sorting, preserve manual order after refreshes, and place new blank sessions at the top. by @Dudu-0223
- Fix turn-based forks including inputs and settings from later turns. by @Dudu-0223
- Fix PTC prompt generation failures and unintended text replacements when tool descriptions contain double braces. by @kermanx
- Fix waiting and exit-result handling during Linux subprocess termination and cleanup. by @turtle1999, @tianyicui
- Keep usable plugins running after optional startup failures, exit on required-plugin failures, and fix module-route registration after Web server recovery. by @turtle1999
- Fix page jumps when hovering over or focusing short Markdown tables. by @07akioni
- Show line-level changes and context in file edit cards, correct added/deleted line counts, and display large replacements as whole fragments. by @turtle2099
- Pass only body text in subagent completion notices to fix reasoning blocks causing parent-session Messages failures; saved notices are unchanged. by @tianyicui
Chores
- Add an image offload session event to record historical images omitted from requests and preserve that record across session recovery and forks. by @CreatixChu
- Use Messages as the default DeepSeek protocol and reuse uploaded images through the Files API. Custom API addresses are preserved. If you explicitly set the old official root URL, remove that override or change it to
https://api.deepseek.com/anthropic. by @LegGasai, @tianyicui - Disable Ralph by default. Enable it explicitly if needed. by @tianyicui
- Remove the built-in E2B execution backends; update custom configurations that use them. by @tianyicui
- Rename PTC packages and services to the
ptc-runtime family without legacy aliases; update custom plugins and configurations. by @tianyicui - Replace the workflow executor with
workflow-ptc under the session file policy; update custom configurations. Python PTC is not supported. by @tianyicui - Replace
agent/session-start with asynchronous, serial agent/created initialization; the first model request waits for completion. Update affected plugins and registration calls. by @kermanx - Deprecate the synchronous Session history APIs
snapshotEvents, eventAt, and ownEvents. by @kermanx - Use
spawn_teammate in experimental Team mode, disable subagent and subagent_fork, and raise the default teammate creation limit from 8 to 16. by @Dudu-0223 - Run Node PTC in separate processes under the session file policy with output and heap limits;
process.env is empty, so code relying on the previous environment must migrate. by @tianyicui - Remove transactional rollback from hot reload: parse failures preserve the original configuration, while activation failures may leave partial changes that require correction. by @turtle1999
- Make
SandboxProvider.confine and ShellExecutor.start cancellable and asynchronous, with preparation included in timeouts; fix POSIX symlink/parent-directory combinations and Windows drive-relative paths. by @tianyicui - Move the request-image cache to
DSH_HOME/cache/attachments/request-images, where it can be rebuilt after deletion; preserve originals and leave old caches untouched. by @turtle1999 - When using the DeepSeek model adapter with an official API endpoint, session events can be reported with requests. This experimental feature is currently enabled and can be disabled in configuration. by @tianyicui
dsh.so Analysis
0.1.6-alpha.1 is a wide-ranging experimental alpha that broadens DSH's surface: a Web sidebar terminal with tabs and refresh recovery, archived-session browsing, MCP resource discovery with URI templates, headless stdin/--session-id/--json runs, remote SSH workspaces, and experimental Browser Use, Computer Use, and Auto review modes. Internally, MCP moves to the official SDK v2 and the PTC runtime is reorganized into the ptc-runtime family with isolated Node PTC processes. Although the breaking list is empty, several changed entries remove aliases, replace initialization and workflow APIs, and deprecate synchronous Session history calls, so plugin authors should treat this as a migration-heavy alpha rather than a drop-in upgrade. Plugins that touch PTC, workflows, session startup, E2B/remote execution, or materialized reasoning output will need updates before this release is usable.
Migration Guide
Real migration is required despite the empty breaking list. (1) Rename PTC packages/services to the ptc-runtime family; there are no legacy aliases. (2) Replace the workflow executor with workflow-ptc under the session file policy; Python PTC is not supported. (3) Replace agent/session-start with asynchronous, serial agent/created initialization — the first model request waits for it to finish. (4) Stop using the deprecated synchronous Session history APIs snapshotEvents, eventAt, and ownEvents. (5) Node PTC now runs in separate processes with output/heap limits and an empty process.env, so code relying on the previous environment must migrate; run_code per-call timeouts default to 120s (max 600s). (6) Remove built-in E2B execution backends from custom configurations. (7) Messages is now the default DeepSeek protocol and uploaded images are reused via the Files API; if you explicitly set the old official root URL, remove that override or change it to https://api.deepseek.com/anthropic. (8) Ralph is disabled by default and must be enabled explicitly. (9) In experimental Team mode use spawn_teammate; subagent and subagent_fork are disabled and the teammate creation limit rises from 8 to 16. (10) Hot reload no longer rolls back transactionally: parse failures keep the original configuration, but activation failures may leave partial changes needing manual correction. Also note San
v0.1.5-rc.2pre-release
Official Changes
Changed
- Improve feedback submission: both likes and dislikes are confirmed in a dialog before being recorded. If submission fails, show a notice and keep the entered feedback. by @yixiangihsiang
- Refine delivered-file card layouts and conversation spacing, and refresh code-file icons to make files easier to recognize and the interface more compact. by @yixiangihsiang
Full official release notes
Improvements
- Improve feedback submission: both likes and dislikes are confirmed in a dialog before being recorded. If submission fails, show a notice and keep the entered feedback. by @yixiangihsiang
- Refine delivered-file card layouts and conversation spacing, and refresh code-file icons to make files easier to recognize and the interface more compact. by @yixiangihsiang
dsh.so Analysis
DSH 0.1.5-rc.2 is a pre-release build of the DSH published on 2026-09-10, appearing between 0.1.5-rc.1 and the eventual 0.1.5 stable tag. The tracked change list contains no new, changed, fixed, or breaking entries, so the release is best treated as a stabilization/candidate checkpoint rather than a feature drop. For plugin developers this means no API surface changes are signaled: existing plugins built against the 0.1.5-rc line should continue to load without modification. Users on an earlier 0.1.5 pre-release can adopt it to help validate the upcoming stable, but should not expect behavioral differences documented anywhere in the registry.
v0.1.5-rc.1pre-release
Official Changes
New
- The DeepSeek model adapter adds
DeepSeek-V41-Flash (deepseek-flash) with text, image, and in-history system prompt update support. New Sessions use it by default; when the configuration file explicitly specifies a model, that configured value takes precedence. by @LegGasai - Web now supports uploads of arbitrary file types: files and images share a preview area, background uploads expose progress and cancellation and remain visible across conversation switches, and models can use existing file tools to read saved paths on demand. by @CreatixChu
- Continuable subagents support message queuing, editing, deletion, Steer for individual or all queued messages, and Stop. Queued submissions show a Sending state and cannot be edited, deleted, or steered until delivery completes. by @Dudu-0223, @LegGasai
- Support dynamic system prompt updates without invalidating KV Cache when the configured model explicitly declares support. by @tianyicui
- The Web right Sidebar supports tabs, split panes, fullscreen, and previews for Markdown, code, HTML, PDF, and images, including files from subagent and inactive sessions. Models can explicitly deliver files for Sidebar preview, default-app opening, or file-manager reveal. The former Detail panel is removed. by @imccyu, @Yifffan, @yixiangihsiang, @CreatixChu, @yudshj
- Model discovery now supports
models objects from custom model providers and native Anthropic model lists, and fills in model names, context windows, and maximum output tokens when needed. by @LegGasai - All outbound network requests honor the
HTTP_PROXY, HTTPS_PROXY, ALL_PROXY, and NO_PROXY settings from the startup environment. by @LegGasai - Add “Open in” to the Web header to open the Workspace in an installed editor, IDE, terminal, file manager, or other supported application. by @yixiangihsiang
- Feedback can be submitted without continuing the conversation. The
/feedback command accepts detailed feedback, and submissions include the relevant conversation content. by @tianyicui, @Chinesezjc, @CreatixChu
Changed
- Web renders image results from top-level and PTC-nested
read_image calls, and displays local images referenced by absolute POSIX paths in assistant messages, including screenshots outside the workspace. Failed loads show alt text or the original path. by @Chinesezjc, @kermanx - The Skill picker supports fuzzy search, with improved Skill and command references in chat bubbles. by @LegGasai
- Adjust colors, hover and focus states, and category icons for clickable conversation links to improve the distinction between Markdown links, file references, web sources, artifact links, and Workflow member links. by @yixiangihsiang
- Prevent local non-terminal subprocesses from opening console windows on Windows. by @turtle1999
- Agent Team
send_message consistently uses steer semantics and preserves sender attribution and ordering across agents and cold recovery. by @Dudu-0223 - Reduce lag when opening, resuming, and continuing long conversations, and lower memory usage. by @imccyu, @tianyicui, @Dudu-0223
- When a long conversation is referenced, the model can read content omitted from the preview as needed. by @tianyicui
- Improve Settings panel label and toggle-state styling across light and dark themes, localization, and accessibility. by @LegGasai, @turtle2099
- Allow commands and their output to be expanded in PTC mode. by @tianyicui
- Improve Web composer menu layering, placeholder text, and spacing. Present session statistics in two compact summaries for turn counts and speed, and detailed token usage and cache hits. by @Yifffan
- Localize built-in slash command descriptions into Chinese and update them when the interface language changes, preserving open menus and queries. by @Kaige-Gao
- Session format V3: Version migrations generate new log files for supported old logs while preserving the originals, and upgraded Sessions do not support downgrade reads. Custom log readers must adapt to V3; see session-format-v2-to-v3/README.md for cross-version migration details. by @tianyicui, @Magolor, @imccyu
- Session lifecycle change: The Session persistence API is now owned by lifecycle-scoped
SessionHandles; agentLoop.create() is asynchronous, and a new Session lock ensures that each Session is held by at most one process. by @turtle1999, @imccyu - Default tool changes: SDK, Headless, and ACP use read, write, and edit for file editing by default. Web
minimal and Python sdk-minimal provide only a persistent shell by default; str_replace_editor requires explicit opt-in, and persistent Bash consistently reports completion or timeout status. by @koalazf99 - Improve ordinary subprocess cleanup on Windows and supported Linux environments to reduce leftover processes after tasks stop. Ordinary subprocess handles no longer expose pid; terminal handles are unchanged. by @pku-xht
- Standardize
FS_NOT_OBSERVED diagnostics for unobserved file writes and failed edits while preserving the file path, structured error code, and original cause. by @turtle1999 - The Python SDK adds a macOS x64 runtime wheel, allowing Intel-based Macs to install and run the bundled runtime. by @koalazf99
- Upgrade pi-ai to version 0.85.1. by @tianyicui
- Update the optional subagent plugins to Codex 0.153.4 and Claude Code 2.1.263. Explicit model settings remain unchanged; Codex uses its upstream default when no model is configured. by @koalazf99
- Custom persona configuration is split into a prefix and a suffix; existing configurations and related constants need to be updated. by @tianyicui
- Agent plugin API changes: Remove
ctx.agent and require callers to pass the Agent explicitly. Correct ownership of continuable subagents so root-only scheduling excludes them. by @kermanx - Inbox API changes: Make
Inbox a type-only interface instead of an exported runtime class. Plugins access pending messages through agent.inbox; hasPending and claim are no longer public API. by @kermanx - Web plugin panel API changes: Plugins can register global panels through
sidebar.panellist and main; the former conversation slot moves to the conversation key under main. by @imccyu - Publish installable experimental Agent Teams packages; users must explicitly add the profile, which is not enabled by default. by @imccyu
Fixed
- Pausing a goal in Web immediately aborts the active model turn, and the model cannot resume it. Only the user can resume the goal, and inactive goals also show a resume action. by @mektpoy
- Preserve tool-call IDs and names across DeepSeek streaming continuation chunks, preventing empty tool names and conversation records that cannot be reopened. by @LegGasai
- Prevent the Python SDK single-file runtime from rewriting Bash commands that begin with
node as dsh runtime invocations. by @imccyu - Open a conversation selected from search in its Workspace, expand it, and scroll it into view instead of leaving the search interface open. by @Dudu-0223
- Fix path separators, titles, and absolute-path validation for Windows drive-root Workspaces so drive roots work correctly. by @turtle1999
- Fix Web connections failing to recover automatically after a disconnection. by @LegGasai
- Fix chat no longer scrolling to the bottom automatically after sending a message or resizing the window. by @tianyicui
- Fix a possible Python SDK runtime crash on startup on Windows. by @tianyicui
- Make the Send button follow the same busy-session setting as Enter, with labels that identify queue or steer delivery. by @lsdsjy
- Reject messages with neither non-whitespace text nor an attachment, and reject blank queue edits. Image-only and file-only messages remain supported. by @turtle1999
- Report permission and I/O errors during project-root discovery instead of loading instructions from an ancestor project. by @turtle1999
- Remove literal Markdown bold markers from collapsed thinking summaries while preserving the full expanded content. by @turtle1999
- Keep pi-ai model settings available when catalog changes invalidate an existing configuration, preserving diagnostics and repair controls. by @LegGasai
- Validate and normalize custom-provider Base URLs before model discovery or provider creation, with inline feedback for invalid addresses. by @turtle2099
- Fix the Windows native folder picker opening behind other windows in the Web app. by @Elevator14B
- Fix the Composer placeholder remaining visible after whitespace is entered. by @CreatixChu
- Keep filesystem and Web guidance aligned with each agent's visible tools, so filtered subagents are not instructed to use unavailable tools. by @koalazf99
- Reject repeated MCP tool-list pagination cursors instead of hanging startup or synchronization, while keeping the last valid tool set available. by @grllll
Full official release notes
New Features
- The DeepSeek model adapter adds
DeepSeek-V41-Flash (deepseek-flash) with text, image, and in-history system prompt update support. New Sessions use it by default; when the configuration file explicitly specifies a model, that configured value takes precedence. by @LegGasai - Web now supports uploads of arbitrary file types: files and images share a preview area, background uploads expose progress and cancellation and remain visible across conversation switches, and models can use existing file tools to read saved paths on demand. by @CreatixChu
- Continuable subagents support message queuing, editing, deletion, Steer for individual or all queued messages, and Stop. Queued submissions show a Sending state and cannot be edited, deleted, or steered until delivery completes. by @Dudu-0223, @LegGasai
- Support dynamic system prompt updates without invalidating KV Cache when the configured model explicitly declares support. by @tianyicui
- The Web right Sidebar supports tabs, split panes, fullscreen, and previews for Markdown, code, HTML, PDF, and images, including files from subagent and inactive sessions. Models can explicitly deliver files for Sidebar preview, default-app opening, or file-manager reveal. The former Detail panel is removed. by @imccyu, @Yifffan, @yixiangihsiang, @CreatixChu, @yudshj
- Model discovery now supports
models objects from custom model providers and native Anthropic model lists, and fills in model names, context windows, and maximum output tokens when needed. by @LegGasai - All outbound network requests honor the
HTTP_PROXY, HTTPS_PROXY, ALL_PROXY, and NO_PROXY settings from the startup environment. by @LegGasai - Add “Open in” to the Web header to open the Workspace in an installed editor, IDE, terminal, file manager, or other supported application. by @yixiangihsiang
- Feedback can be submitted without continuing the conversation. The
/feedback command accepts detailed feedback, and submissions include the relevant conversation content. by @tianyicui, @Chinesezjc, @CreatixChu
Improvements
- Web renders image results from top-level and PTC-nested
read_image calls, and displays local images referenced by absolute POSIX paths in assistant messages, including screenshots outside the workspace. Failed loads show alt text or the original path. by @Chinesezjc, @kermanx - The Skill picker supports fuzzy search, with improved Skill and command references in chat bubbles. by @LegGasai
- Adjust colors, hover and focus states, and category icons for clickable conversation links to improve the distinction between Markdown links, file references, web sources, artifact links, and Workflow member links. by @yixiangihsiang
- Prevent local non-terminal subprocesses from opening console windows on Windows. by @turtle1999
- Agent Team
send_message consistently uses steer semantics and preserves sender attribution and ordering across agents and cold recovery. by @Dudu-0223 - Reduce lag when opening, resuming, and continuing long conversations, and lower memory usage. by @imccyu, @tianyicui, @Dudu-0223
- When a long conversation is referenced, the model can read content omitted from the preview as needed. by @tianyicui
- Improve Settings panel label and toggle-state styling across light and dark themes, localization, and accessibility. by @LegGasai, @turtle2099
- Allow commands and their output to be expanded in PTC mode. by @tianyicui
- Improve Web composer menu layering, placeholder text, and spacing. Present session statistics in two compact summaries for turn counts and speed, and detailed token usage and cache hits. by @Yifffan
- Localize built-in slash command descriptions into Chinese and update them when the interface language changes, preserving open menus and queries. by @Kaige-Gao
Bug Fixes
- Pausing a goal in Web immediately aborts the active model turn, and the model cannot resume it. Only the user can resume the goal, and inactive goals also show a resume action. by @mektpoy
- Preserve tool-call IDs and names across DeepSeek streaming continuation chunks, preventing empty tool names and conversation records that cannot be reopened. by @LegGasai
- Prevent the Python SDK single-file runtime from rewriting Bash commands that begin with
node as dsh runtime invocations. by @imccyu - Open a conversation selected from search in its Workspace, expand it, and scroll it into view instead of leaving the search interface open. by @Dudu-0223
- Fix path separators, titles, and absolute-path validation for Windows drive-root Workspaces so drive roots work correctly. by @turtle1999
- Fix Web connections failing to recover automatically after a disconnection. by @LegGasai
- Fix chat no longer scrolling to the bottom automatically after sending a message or resizing the window. by @tianyicui
- Fix a possible Python SDK runtime crash on startup on Windows. by @tianyicui
- Make the Send button follow the same busy-session setting as Enter, with labels that identify queue or steer delivery. by @lsdsjy
- Reject messages with neither non-whitespace text nor an attachment, and reject blank queue edits. Image-only and file-only messages remain supported. by @turtle1999
- Report permission and I/O errors during project-root discovery instead of loading instructions from an ancestor project. by @turtle1999
- Remove literal Markdown bold markers from collapsed thinking summaries while preserving the full expanded content. by @turtle1999
- Keep pi-ai model settings available when catalog changes invalidate an existing configuration, preserving diagnostics and repair controls. by @LegGasai
- Validate and normalize custom-provider Base URLs before model discovery or provider creation, with inline feedback for invalid addresses. by @turtle2099
- Fix the Windows native folder picker opening behind other windows in the Web app. by @Elevator14B
- Fix the Composer placeholder remaining visible after whitespace is entered. by @CreatixChu
- Keep filesystem and Web guidance aligned with each agent's visible tools, so filtered subagents are not instructed to use unavailable tools. by @koalazf99
- Reject repeated MCP tool-list pagination cursors instead of hanging startup or synchronization, while keeping the last valid tool set available. by @grllll
Chores
- Session format V3: Version migrations generate new log files for supported old logs while preserving the originals, and upgraded Sessions do not support downgrade reads. Custom log readers must adapt to V3; see session-format-v2-to-v3/README.md for cross-version migration details. by @tianyicui, @Magolor, @imccyu
- Session lifecycle change: The Session persistence API is now owned by lifecycle-scoped
SessionHandles; agentLoop.create() is asynchronous, and a new Session lock ensures that each Session is held by at most one process. by @turtle1999, @imccyu - Default tool changes: SDK, Headless, and ACP use read, write, and edit for file editing by default. Web
minimal and Python sdk-minimal provide only a persistent shell by default; str_replace_editor requires explicit opt-in, and persistent Bash consistently reports completion or timeout status. by @koalazf99 - Improve ordinary subprocess cleanup on Windows and supported Linux environments to reduce leftover processes after tasks stop. Ordinary subprocess handles no longer expose pid; terminal handles are unchanged. by @pku-xht
- Standardize
FS_NOT_OBSERVED diagnostics for unobserved file writes and failed edits while preserving the file path, structured error code, and original cause. by @turtle1999 - The Python SDK adds a macOS x64 runtime wheel, allowing Intel-based Macs to install and run the bundled runtime. by @koalazf99
- Upgrade pi-ai to version 0.85.1. by @tianyicui
- Update the optional subagent plugins to Codex 0.153.4 and Claude Code 2.1.263. Explicit model settings remain unchanged; Codex uses its upstream default when no model is configured. by @koalazf99
- Custom persona configuration is split into a prefix and a suffix; existing configurations and related constants need to be updated. by @tianyicui
- Agent plugin API changes: Remove
ctx.agent and require callers to pass the Agent explicitly. Correct ownership of continuable subagents so root-only scheduling excludes them. by @kermanx - Inbox API changes: Make
Inbox a type-only interface instead of an exported runtime class. Plugins access pending messages through agent.inbox; hasPending and claim are no longer public API. by @kermanx - Web plugin panel API changes: Plugins can register global panels through
sidebar.panellist and main; the former conversation slot moves to the conversation key under main. by @imccyu - Publish installable experimental Agent Teams packages; users must explicitly add the profile, which is not enabled by default. by @imccyu
dsh.so Analysis
dsh 0.1.5-rc.1 is a broad release candidate headlined by a new default model, `DeepSeek-V41-Flash` (text, image, and in-history system-prompt updates), which new sessions adopt unless a model is explicitly configured. Web gains a tabbed, splittable right Sidebar with Markdown/code/HTML/PDF/image previews (replacing the Detail panel), arbitrary file uploads, a header "Open in" launcher, and faster long-conversation handling. For the plugin ecosystem this is mainly a compatibility release: Session format V3, lifecycle-scoped `SessionHandle`s with an async `agentLoop.create()`, read/write/edit as the default file tools (with `str_replace_editor` now opt-in), plus plugin API changes (`ctx.agent` removed, `Inbox` type-only, new Web panel slots, persona split into prefix/suffix). Plugin and SDK authors should treat it as an upgrade requiring code changes even though the changelog lists no items under breaking.
Migration Guide
Though no items are listed as breaking, several changes require code updates: (1) Session format V3 — new log files replace old ones during migration and upgraded sessions cannot be read by older versions; custom log readers must adapt (see the session-format-v2-to-v3 README). (2) Session persistence is now owned by lifecycle-scoped `SessionHandle`s, `agentLoop.create()` is async, and a new lock ensures one process per session. (3) Default file tools are read/write/edit in SDK, Headless and ACP; `str_replace_editor` and persistent-shell-only modes must be opted into explicitly. (4) Plugin APIs: `ctx.agent` is removed (pass the Agent explicitly), `Inbox` is a type-only interface accessed via `agent.inbox`, Web panel registration moves to `sidebar.panellist`/`main` (old `conversation` slot becomes `main.conversation`), and custom persona config must be split into prefix and suffix. Also note new sessions default to `deepseek-flash` unless a model is configured.
v0.1.5-alpha.2pre-release
Official Changes
New
- Add previews for common document types in the right Sidebar, including Markdown, syntax-highlighted code, HTML, PDF, and images. by @imccyu, @Yifffan, @yixiangihsiang, @CreatixChu, @yudshj
- Let models explicitly deliver files in conversations, with right-Sidebar preview, default-app opening, and file-manager reveal. by @yudshj, @CreatixChu
- The
/feedback command now supports detailed feedback submissions. by @CreatixChu
Changed
- Improve Settings localization and accessibility by adding accessible names and localizing conversation display options and built-in model descriptions in Chinese. by @turtle2099
- The current Session data format is V3. See session-format-v2-to-v3/README.md for cross-version migration details. by @tianyicui
- Web plugin panel API changes: Plugins can register global panels through
sidebar.panellist and main; the former conversation slot moves to the conversation key under main. by @imccyu - Minimal-profile default tools: Web
minimal and Python sdk-minimal are shell-only by default, with str_replace_editor available by explicit opt-in; persistent Bash reports completion and timeout status consistently. by @koalazf99 - Publish installable experimental Agent Teams packages; users must explicitly add the profile, which is not enabled by default. by @imccyu
Fixed
- Keep pi-ai model settings available when catalog changes invalidate an existing configuration, preserving diagnostics and repair controls. by @LegGasai
- Validate and normalize custom-provider Base URLs before model discovery or provider creation, with inline feedback for invalid addresses. by @turtle2099
- Fix the Windows native folder picker opening behind other windows in the Web app. by @Elevator14B
- Fix the Composer placeholder remaining visible after whitespace is entered. by @CreatixChu
- Keep filesystem and Web guidance aligned with each agent's visible tools, so filtered subagents are not instructed to use unavailable tools. by @koalazf99
- Reject repeated MCP tool-list pagination cursors instead of hanging startup or synchronization, while keeping the last valid tool set available. by @grllll
- Fix npm installations that previously required a local
fs-ext build. by @imccyu
Full official release notes
New Features
- Add previews for common document types in the right Sidebar, including Markdown, syntax-highlighted code, HTML, PDF, and images. by @imccyu, @Yifffan, @yixiangihsiang, @CreatixChu, @yudshj
- Let models explicitly deliver files in conversations, with right-Sidebar preview, default-app opening, and file-manager reveal. by @yudshj, @CreatixChu
- The
/feedback command now supports detailed feedback submissions. by @CreatixChu
Bug Fixes
- Keep pi-ai model settings available when catalog changes invalidate an existing configuration, preserving diagnostics and repair controls. by @LegGasai
- Validate and normalize custom-provider Base URLs before model discovery or provider creation, with inline feedback for invalid addresses. by @turtle2099
- Fix the Windows native folder picker opening behind other windows in the Web app. by @Elevator14B
- Fix the Composer placeholder remaining visible after whitespace is entered. by @CreatixChu
- Keep filesystem and Web guidance aligned with each agent's visible tools, so filtered subagents are not instructed to use unavailable tools. by @koalazf99
- Reject repeated MCP tool-list pagination cursors instead of hanging startup or synchronization, while keeping the last valid tool set available. by @grllll
- Fix npm installations that previously required a local
fs-ext build. by @imccyu
Improvements
- Improve Settings localization and accessibility by adding accessible names and localizing conversation display options and built-in model descriptions in Chinese. by @turtle2099
Chores
- The current Session data format is V3. See session-format-v2-to-v3/README.md for cross-version migration details. by @tianyicui
- Web plugin panel API changes: Plugins can register global panels through
sidebar.panellist and main; the former conversation slot moves to the conversation key under main. by @imccyu - Minimal-profile default tools: Web
minimal and Python sdk-minimal are shell-only by default, with str_replace_editor available by explicit opt-in; persistent Bash reports completion and timeout status consistently. by @koalazf99 - Publish installable experimental Agent Teams packages; users must explicitly add the profile, which is not enabled by default. by @imccyu
dsh.so Analysis
This 0.1.5-alpha.2 release enriches conversation workflows with document previews and explicit file delivery, adds detailed /feedback, and stabilizes UI localization/accessibility. For the ecosystem, it introduces a V3 session format with a documented migration path, reorganizes web plugin panel registration, publishes experimental Agent Teams profiles that must be opted into, and makes minimal shell profiles default without str_replace_editor unless explicitly enabled.
Migration Guide
No blocking breaking changes are listed, but plugin developers should update web panel registrations: use sidebar.panellist and main.conversation instead of the old conversation slot. For session data, follow the provided session-format-v2-to-v3 migration guide when upgrading stored sessions. Users on the web minimal or Python sdk-minimal profiles must explicitly opt in to str_replace_editor if needed, as those profiles now default to shell-only.
v0.1.5-alpha.1pre-release
Official Changes
New
- Support dynamic system prompt updates without invalidating KV Cache when the configured model explicitly declares support. by @tianyicui
- Add an experimental right Sidebar with tabs, split panes, and fullscreen. Chat file links and produced files can open in the Sidebar, and the Detail panel is removed. by @imccyu
Changed
- Improve Web composer menu layering, placeholder text, and spacing. Present session statistics in two compact summaries for turn counts and speed, and detailed token usage and cache hits. by @Yifffan
- Localize built-in slash command descriptions into Chinese and update them when the interface language changes, preserving open menus and queries. by @Kaige-Gao
- Update the optional subagent plugins to Codex 0.153.4 and Claude Code 2.1.263. Explicit model settings remain unchanged; Codex uses its upstream default when no model is configured. by @koalazf99
- Session format V3: Upgrade supported historical sessions into new log files while preserving the originals, record system prompts in message history, and migrate legacy PTC events and
code preset references. Custom log readers must adapt to V3; downgrade reads are not supported. by @tianyicui - Agent plugin API changes: Remove
ctx.agent and require callers to pass the Agent explicitly. Correct ownership of continuable subagents so root-only scheduling excludes them. by @kermanx - Inbox API changes: Make
Inbox a type-only interface instead of an exported runtime class. Plugins access pending messages through agent.inbox; hasPending and claim are no longer public API. by @kermanx
Fixed
- Make the Send button follow the same busy-session setting as Enter, with labels that identify queue or steer delivery. by @lsdsjy
- Prevent the model from resuming a goal paused by the user. Resuming requires a user action, and inactive goals show a resume control. by @mektpoy
- Fix local images referenced by absolute POSIX paths in assistant messages, including screenshots outside registered workspaces. Failed loads show the alt text or original path. by @kermanx
- Reject messages with neither non-whitespace text nor an attachment, and reject blank queue edits. Image-only and file-only messages remain supported. by @turtle1999
- Report permission and I/O errors during project-root discovery instead of loading instructions from an ancestor project. by @turtle1999
- Remove literal Markdown bold markers from collapsed thinking summaries while preserving the full expanded content. by @turtle1999
- Fix the local compilation requirement introduced by
fs-ext on macOS and Linux. by @imccyu
Full official release notes
New Features
- Support dynamic system prompt updates without invalidating KV Cache when the configured model explicitly declares support. by @tianyicui
- Add an experimental right Sidebar with tabs, split panes, and fullscreen. Chat file links and produced files can open in the Sidebar, and the Detail panel is removed. by @imccyu
Improvements
- Improve Web composer menu layering, placeholder text, and spacing. Present session statistics in two compact summaries for turn counts and speed, and detailed token usage and cache hits. by @Yifffan
- Localize built-in slash command descriptions into Chinese and update them when the interface language changes, preserving open menus and queries. by @Kaige-Gao
- Update the optional subagent plugins to Codex 0.153.4 and Claude Code 2.1.263. Explicit model settings remain unchanged; Codex uses its upstream default when no model is configured. by @koalazf99
Bug Fixes
- Make the Send button follow the same busy-session setting as Enter, with labels that identify queue or steer delivery. by @lsdsjy
- Prevent the model from resuming a goal paused by the user. Resuming requires a user action, and inactive goals show a resume control. by @mektpoy
- Fix local images referenced by absolute POSIX paths in assistant messages, including screenshots outside registered workspaces. Failed loads show the alt text or original path. by @kermanx
- Reject messages with neither non-whitespace text nor an attachment, and reject blank queue edits. Image-only and file-only messages remain supported. by @turtle1999
- Report permission and I/O errors during project-root discovery instead of loading instructions from an ancestor project. by @turtle1999
- Remove literal Markdown bold markers from collapsed thinking summaries while preserving the full expanded content. by @turtle1999
- Fix the local compilation requirement introduced by
fs-ext on macOS and Linux. by @imccyu
Chores
- Session format V3: Upgrade supported historical sessions into new log files while preserving the originals, record system prompts in message history, and migrate legacy PTC events and
code preset references. Custom log readers must adapt to V3; downgrade reads are not supported. by @tianyicui - Agent plugin API changes: Remove
ctx.agent and require callers to pass the Agent explicitly. Correct ownership of continuable subagents so root-only scheduling excludes them. by @kermanx - Inbox API changes: Make
Inbox a type-only interface instead of an exported runtime class. Plugins access pending messages through agent.inbox; hasPending and claim are no longer public API. by @kermanx
dsh.so Analysis
This alpha release focuses on UI/UX and plugin API refinement. Key highlights include dynamic system prompt updates without KV cache invalidation, an experimental sidebar replacing the detail panel, session format V3 with log migration, and breaking API cleanups for agents and inbox access. Plugin authors must update custom code for the new session logs and adjusted interfaces; end-users benefit from improved composer, localization, and subagent updates.
Migration Guide
If you maintain custom log readers, migrate to session format V3; older sessions are upgraded in place with originals preserved, and downgrade reads are unsupported. For agent plugins, stop using ctx.agent and pass the Agent instance explicitly; root-only scheduling now correctly excludes continuable subagents. For inbox access, import Inbox as a type only and read pending messages via agent.inbox—hasPending and claim are no longer public. Update slash command or interface integrations if they relied on the removed Detail panel.
v0.1.3-alpha.2pre-release
Official Changes
New
- 升级 pi-ai 到 0.85.1,支持新模型。 — @tianyicui
- Web 顶栏新增“在应用中打开”,可用已安装的编辑器、IDE、终端或文件管理器等打开 Workspace。 — @yixiangihsiang
- 可继续对话的子代理支持消息排队、编辑、删除、单条或全部 Steer,以及停止操作。 — @Dudu-0223
- PTC 模式下支持展开查看命令及其输出。 — @tianyicui
- Upgrade pi-ai to 0.85.1 that supports more new models. — by @tianyicui
- Add “Open in” to the Web header to open the Workspace in an installed editor, IDE, terminal, file manager, or other supported application. — by @yixiangihsiang
- Continuable subagents support message queuing, editing, deletion, Steer for individual or all queued messages, and Stop. — by @Dudu-0223
- Allow commands and their output to be expanded in PTC mode. — by @tianyicui
Changed
- 改善长会话打开、恢复和持续对话时的卡顿,降低内存占用。 — @imccyu, @tianyicui, @Dudu-0223
- 引用较长会话时,模型可按需读取预览中未展示的内容。 — @tianyicui
- 排队消息新增“发送中”提示,发送完成前暂不可编辑、删除或 Steer。 — @LegGasai
- 统一设置面板中标签、开关和插件状态的样式,改善浅色和深色主题下的显示效果。 — @LegGasai
- 反馈可独立提交,无需继续对话;提交时会附带相关会话内容,普通聊天不会触发这类上报。 — @tianyicui, @Chinesezjc
- 默认工具调整: SDK、Headless 和 ACP 默认使用 read、write、edit 编辑文件;Web minimal 和 sdk-minimal 保持不变。 — @koalazf99
- 自定义 persona 配置拆分为前缀和后缀,旧配置及相关常量需要适配。 — @tianyicui
- 普通 subprocess handle 移除 pid;终端 handle 不受影响。 — @pku-xht
- Reduce lag when opening, resuming, and continuing long conversations, and lower memory usage. — by @imccyu, @tianyicui, @Dudu-0223
- When a long conversation is referenced, the model can read content omitted from the preview as needed. — by @tianyicui
- Add a “Sending” indicator for queued messages; editing, deletion, and Steer are temporarily unavailable until sending completes. — by @LegGasai
- Unify the styling of labels, switches, and plugin status indicators in the settings panel, improving their appearance in light and dark themes. — by @LegGasai
- Submit feedback without continuing the conversation. Submissions include the relevant conversation content; ordinary chat does not trigger this reporting. — by @tianyicui, @Chinesezjc
- Default tool changes: SDK, Headless, and ACP use read, write, and edit for file editing by default; Web minimal and sdk-minimal are unchanged. — by @koalazf99
- Custom persona configuration is split into a prefix and a suffix; existing configurations and related constants need to be updated. — by @tianyicui
- Remove pid from ordinary subprocess handles; terminal handles are unaffected. — by @pku-xht
Fixed
- 修复 Web 断线后无法自动恢复的问题。 — @LegGasai
- 修复发送消息或调整窗口后,聊天不再自动滚动到底部的问题。 — @tianyicui
- 修复 Windows 上 Python SDK 运行时可能出现的启动崩溃。 — @tianyicui
- 改善 Windows 和部分 Linux 环境下的进程清理,减少任务停止后的后台进程残留。 — @pku-xht
- Fix Web connections failing to recover automatically after a disconnection. — by @LegGasai
- Fix chat no longer scrolling to the bottom automatically after sending a message or resizing the window. — by @tianyicui
- Fix a possible Python SDK runtime crash on startup on Windows. — by @tianyicui
- Improve process cleanup on Windows and supported Linux environments, reducing leftover background processes after a task stops. — by @pku-xht
Full official release notes
<h2 id="chinese">0.1.3-alpha.2 · 中文</h2>
新增功能
- 升级 pi-ai 到 0.85.1,支持新模型。 — @tianyicui
- Web 顶栏新增“在应用中打开”,可用已安装的编辑器、IDE、终端或文件管理器等打开 Workspace。 — @yixiangihsiang
- 可继续对话的子代理支持消息排队、编辑、删除、单条或全部 Steer,以及停止操作。 — @Dudu-0223
- PTC 模式下支持展开查看命令及其输出。 — @tianyicui
问题修复
- 修复 Web 断线后无法自动恢复的问题。 — @LegGasai
- 修复发送消息或调整窗口后,聊天不再自动滚动到底部的问题。 — @tianyicui
- 修复 Windows 上 Python SDK 运行时可能出现的启动崩溃。 — @tianyicui
- 改善 Windows 和部分 Linux 环境下的进程清理,减少任务停止后的后台进程残留。 — @pku-xht
体验优化
- 改善长会话打开、恢复和持续对话时的卡顿,降低内存占用。 — @imccyu, @tianyicui, @Dudu-0223
- 引用较长会话时,模型可按需读取预览中未展示的内容。 — @tianyicui
- 排队消息新增“发送中”提示,发送完成前暂不可编辑、删除或 Steer。 — @LegGasai
- 统一设置面板中标签、开关和插件状态的样式,改善浅色和深色主题下的显示效果。 — @LegGasai
- 反馈可独立提交,无需继续对话;提交时会附带相关会话内容,普通聊天不会触发这类上报。 — @tianyicui, @Chinesezjc
其他变更
- 默认工具调整: SDK、Headless 和 ACP 默认使用 read、write、edit 编辑文件;Web minimal 和 sdk-minimal 保持不变。 — @koalazf99
- 自定义 persona 配置拆分为前缀和后缀,旧配置及相关常量需要适配。 — @tianyicui
- 普通 subprocess handle 移除 pid;终端 handle 不受影响。 — @pku-xht
<h2 id="english">0.1.3-alpha.2 · English</h2>
New Features
- Upgrade pi-ai to 0.85.1 that supports more new models. — by @tianyicui
- Add “Open in” to the Web header to open the Workspace in an installed editor, IDE, terminal, file manager, or other supported application. — by @yixiangihsiang
- Continuable subagents support message queuing, editing, deletion, Steer for individual or all queued messages, and Stop. — by @Dudu-0223
- Allow commands and their output to be expanded in PTC mode. — by @tianyicui
Bug Fixes
- Fix Web connections failing to recover automatically after a disconnection. — by @LegGasai
- Fix chat no longer scrolling to the bottom automatically after sending a message or resizing the window. — by @tianyicui
- Fix a possible Python SDK runtime crash on startup on Windows. — by @tianyicui
- Improve process cleanup on Windows and supported Linux environments, reducing leftover background processes after a task stops. — by @pku-xht
Improvements
- Reduce lag when opening, resuming, and continuing long conversations, and lower memory usage. — by @imccyu, @tianyicui, @Dudu-0223
- When a long conversation is referenced, the model can read content omitted from the preview as needed. — by @tianyicui
- Add a “Sending” indicator for queued messages; editing, deletion, and Steer are temporarily unavailable until sending completes. — by @LegGasai
- Unify the styling of labels, switches, and plugin status indicators in the settings panel, improving their appearance in light and dark themes. — by @LegGasai
- Submit feedback without continuing the conversation. Submissions include the relevant conversation content; ordinary chat does not trigger this reporting. — by @tianyicui, @Chinesezjc
Other Changes
- Default tool changes: SDK, Headless, and ACP use read, write, and edit for file editing by default; Web minimal and sdk-minimal are unchanged. — by @koalazf99
- Custom persona configuration is split into a prefix and a suffix; existing configurations and related constants need to be updated. — by @tianyicui
- Remove pid from ordinary subprocess handles; terminal handles are unaffected. — by @pku-xht
dsh.so Analysis
This 0.1.3-alpha.2 release focuses on stability and developer ergonomics, with pi-ai updated to 0.85.1 for broader model support, new workspace open-in actions, advanced subagent message controls, and expandable PTC command output. It also reduces memory and lag for long conversations, and fixes regressions in Web auto-recovery, auto-scroll, Windows Python SDK startup, and process cleanup. For the plugin ecosystem, the most impactful adjustments are modified default editing tools for certain clients, a persona configuration restructure, and removal of pid from ordinary subprocess handles, which require follow-up updates.
Migration Guide
Existing custom persona configurations must be adapted to the new prefix/suffix structure, and old constants need updating. Code relying on pid in ordinary subprocess handles should be changed (terminal handles remain unaffected). Note that SDK, Headless, and ACP now default to read/write/edit for file editing, while Web minimal and sdk-minimal are unchanged; verify your plugin's overrides and behavior. Also review long-session performance improvements for any timing assumptions.
v0.1.3-alpha.1pre-release
Official Changes
New
- Web now supports uploads of arbitrary file types: files and images share a preview area, background uploads expose progress and cancellation and remain visible across conversation switches, and models can use existing file tools to read saved paths on demand. by @CreatixChu
- All outbound network requests honor the
HTTP_PROXY, HTTPS_PROXY, ALL_PROXY, and NO_PROXY settings from the startup environment. by @LegGasai - The Python SDK adds a macOS x64 runtime wheel, allowing Intel-based Macs to install and run the bundled runtime. by @koalazf99
- Render images directly in Web tool cards for top-level and PTC-nested
read_image calls instead of showing raw attachment objects. by @Chinesezjc - Model discovery now supports
models objects from custom model providers and native Anthropic model lists, and fills in model names, context windows, and maximum output tokens when needed. by @LegGasai
Changed
- The Skill picker supports fuzzy search, with improved Skill and command references in chat bubbles. by @LegGasai
- Unify colors, hover and focus states, and category icons for clickable conversation links, making Markdown links, file references, web sources, artifact links, and Workflow member links easier to distinguish. by @yixiangihsiang
- Standardize
FS_NOT_OBSERVED diagnostics for unobserved file writes and failed edits while preserving the file path, structured error code, and original cause. by @turtle1999 - Prevent local non-terminal subprocesses from opening console windows on Windows. by @turtle1999
- Agent Team
send_message consistently uses steer semantics and preserves sender attribution and ordering across agents and cold recovery. by @Dudu-0223 - Breaking change: The Session persistence API is now owned by lifecycle-scoped
SessionHandles; agentLoop.create() is asynchronous, and a new Session lock ensures that each Session is held by at most one process. by @turtle1999 - Upgrade the Session format to v2: immutable adjacent-generation migrations convert v0/v1 logs to the current format, Assistant streams are aggregated by attempt into durable settlements, and Web preserves real-time incremental rendering. by @tianyicui
- This release has a known performance regression that may affect responsiveness in some scenarios. We will address it in the next release.
Fixed
- Immediately abort the active model turn when a goal is paused manually in Web, preventing the running model from continuing or resuming within the same turn. by @mektpoy
- Preserve tool-call IDs and names across DeepSeek streaming continuation chunks, preventing empty tool names and conversation records that cannot be reopened. by @LegGasai
- Prevent the Python SDK single-file runtime from rewriting Bash commands that begin with
node as dsh runtime invocations. by @imccyu - Open a conversation selected from search in its Workspace, expand it, and scroll it into view instead of leaving the search interface open. by @Dudu-0223
- Fix path separators, titles, and absolute-path validation for Windows drive-root Workspaces so drive roots work correctly. by @turtle1999
- Fix Session cache reads. by @imccyu
Full official release notes
New Features
- Web now supports uploads of arbitrary file types: files and images share a preview area, background uploads expose progress and cancellation and remain visible across conversation switches, and models can use existing file tools to read saved paths on demand. by @CreatixChu
- All outbound network requests honor the
HTTP_PROXY, HTTPS_PROXY, ALL_PROXY, and NO_PROXY settings from the startup environment. by @LegGasai - The Python SDK adds a macOS x64 runtime wheel, allowing Intel-based Macs to install and run the bundled runtime. by @koalazf99
- Render images directly in Web tool cards for top-level and PTC-nested
read_image calls instead of showing raw attachment objects. by @Chinesezjc - Model discovery now supports
models objects from custom model providers and native Anthropic model lists, and fills in model names, context windows, and maximum output tokens when needed. by @LegGasai
Bug Fixes
- Immediately abort the active model turn when a goal is paused manually in Web, preventing the running model from continuing or resuming within the same turn. by @mektpoy
- Preserve tool-call IDs and names across DeepSeek streaming continuation chunks, preventing empty tool names and conversation records that cannot be reopened. by @LegGasai
- Prevent the Python SDK single-file runtime from rewriting Bash commands that begin with
node as dsh runtime invocations. by @imccyu - Open a conversation selected from search in its Workspace, expand it, and scroll it into view instead of leaving the search interface open. by @Dudu-0223
- Fix path separators, titles, and absolute-path validation for Windows drive-root Workspaces so drive roots work correctly. by @turtle1999
- Fix Session cache reads. by @imccyu
Improvements
- The Skill picker supports fuzzy search, with improved Skill and command references in chat bubbles. by @LegGasai
- Unify colors, hover and focus states, and category icons for clickable conversation links, making Markdown links, file references, web sources, artifact links, and Workflow member links easier to distinguish. by @yixiangihsiang
- Standardize
FS_NOT_OBSERVED diagnostics for unobserved file writes and failed edits while preserving the file path, structured error code, and original cause. by @turtle1999 - Prevent local non-terminal subprocesses from opening console windows on Windows. by @turtle1999
- Agent Team
send_message consistently uses steer semantics and preserves sender attribution and ordering across agents and cold recovery. by @Dudu-0223
Chores
- Breaking change: The Session persistence API is now owned by lifecycle-scoped
SessionHandles; agentLoop.create() is asynchronous, and a new Session lock ensures that each Session is held by at most one process. by @turtle1999 - Upgrade the Session format to v2: immutable adjacent-generation migrations convert v0/v1 logs to the current format, Assistant streams are aggregated by attempt into durable settlements, and Web preserves real-time incremental rendering. by @tianyicui
- This release has a known performance regression that may affect responsiveness in some scenarios. We will address it in the next release.
dsh.so Analysis
This alpha release expands platform reach and Web capabilities, adding arbitrary file uploads with background progress and cross-conversation retention, proxy-aware networking, and macOS x64 Python SDK support. It also improves model discovery and tool-result visuals. However, it introduces a breaking change to Session persistence APIs and a Session format v2 migration, alongside a known performance regression that will be addressed next.
Migration Guide
Session persistence is now owned by lifecycle-scoped SessionHandles; agentLoop.create() is asynchronous, and each Session is locked to at most one process. Existing v0/v1 session logs are automatically migrated to v2, but Assistant streams are now aggregated by attempt into durable settlements, so consumers of raw streams should adjust. No other breaking changes are noted. The known performance regression requires no migration action.
v0.1.2-rc.1pre-release
Official Changes
New
- By default, fold process details and the System prompt before each completed answer in the conversation stream by @07akioni, @lsdsjy
- Make conversation-stream content width adaptive and drag-resizable by @yixiangihsiang
- Show token usage and elapsed time at the end of each answer, with expandable exact usage and detailed statistics by @hypatiamay, @ZiyaZhang, @Yifffan
- Provide full-history turn navigation in the conversation view, including previews and jumps to unloaded turns by @LegGasai
- Align secondary text styling, add conversation font sizing, and scale Markdown tables with body text by @yixiangihsiang
- Let plugins add provider sign-in controls to Models settings by @LegGasai
- Support third-party interface languages and consistent localized permission categories and labels by @tianyicui, @LegGasai, @imccyu, @ZiyaZhang
- Support subagent model selection through agent-authorized choices, caller-specified provider, model, reasoning effort, and maximum output length, and configured models for Claude Code and Codex by @Dudu-0223, @pku-xht
- Publish the Python SDK runtime for Windows x64 by @tianyicui
- Complete ACP support for standard session controls, model settings, MCP, permissions, and cancellation by @tianyicui, @pku-xht
- Include enabled plugin package names and versions in official DeepSeek requests; deployments can turn this off by @tianyicui
- Add opt-in incremental Session-log uploads to official DeepSeek requests by @tianyicui
- Add an experimental Inspector tool by @imccyu
- Add an experimental Web Preview by @imccyu
- Show connection status, tolerate temporary host stalls, and support automatic retries or immediate reconnection after a disconnect by @imccyu
- Show active schedules in the conversation header across viewport sizes by @pku-xht
- Let parent Agents and continuable child Agents exchange follow-up messages through
send_message, replacing the one-way report tool by @Dudu-0223
Changed
- Reduce code loading, data transfer, and parsing during page startup and conversation initialization by @lsdsjy, @imccyu, @Kingwl, @kermanx
- Reduce the disk space used by conversation records by @Magolor
- Improve icons, directory loading, and file search in the
/ and @ menus, with pointer-based directory navigation by @Yifffan, @LegGasai - Switch the primary action to Send and queue the message when a draft is entered during a running turn by @lsdsjy
- Keep file and conversation references valid when adjacent composer text is edited by @LegGasai
- Preserve unfinished question-card drafts when switching conversations by @LegGasai
- Keep code blocks syntax-highlighted while responses stream in the conversation view by @07akioni
- Render question history as readable question-and-answer cards with clear cancelled and interrupted states by @LegGasai
- Show images immediately while compression and upload continue in the background by @CreatixChu
- Count image usage during context compaction by @CreatixChu
- Show images from users, assistants, and tool results in Trajectory by @CreatixChu
- In local-filesystem mode, let the model locate uploaded images and read extensionless attachment paths through
read_image by @CreatixChu - Improve image compression speed, reduce upload size, and preserve more detail in very tall or wide images by @CreatixChu
- Warn when automatically repairing a truncated conversation-log tail and identify the affected conversation by @turtle1999
- Group plugins by conversation and global scope, with Agent Preset switching and cross-preset search by @LegGasai
- Improve menus, scrolling, tool file links, and diff statistics in the conversation and composer UI by @Yifffan
- Reduce unnecessary filesystem checks when loading conversations on macOS and Linux by @LegGasai
- Improve processing efficiency for long conversations and dense live messages while reducing memory use and rendering overhead from streaming responses, syntax highlighting, layout, and navigation previews by @Dudu-0223, @imccyu, @07akioni
- Report the effective endpoint and error details when
web_search fails by @CreatixChu - Refine the home-page logo animation by @Yifffan
- Reuse Profile request headers for custom model discovery; add search and filtering to the model catalog by @LegGasai
- Update the [Safety Notice](SAFETY.md): DSH has not been security-audited, and sandboxing, approvals, and permissions do not guarantee isolation by @turtle1999
- Keep Shell guidance ahead of other tool instructions in the model prompt by @LegGasai
- Use the Remote gateway as the unified remote-call API and error-dispatch mechanism, with the legacy APIProxy removed by @imccyu
- Split the conversation UI into focused modules so developers can import the layer that owns each capability by @imccyu
- Require the one-time token in the launch URL when accessing the Web interface over a network by @tianyicui
- Launch applications through
dsh Profiles, including Python SDK and ACP modes by @tianyicui - Update pi-ai model support and add controls such as the vLLM thinking budget by @tianyicui
- Stream progress to stderr during headless runs while keeping stdout limited to the final result by @lsdsjy
- Rename Code Mode to PTC mode while keeping existing conversation records readable by @tianyicui
- Enable public WebFetch by default with SSRF protection and no per-request approval for public network access by @Dudu-0223
- Remove the optional SQLite Session persistence backend; existing content is not deleted, so use an older version to export it by @tianyicui
- Enable
web_fetch by default for the Python SDK, Headless, ACP, and custom Profiles by @koalazf99 - Stop exposing the general-purpose
workflow tool by default in Web PTC Mode by @koalazf99 - Replace
Session.events with on-demand read APIs: seq, eventAt(), and snapshotEvents() by @kermanx - Distinguish
SessionSeq from SessionLogOffset with strong types while preserving forward compatibility by @tianyicui, @imccyu
Fixed
- Fix persistent PowerShell starting too early and returning incomplete output on macOS and Linux by @tianyicui
- Fix persistent Bash returning empty output early during pipeline reads on Linux by @LegGasai
- Fix host stalls on macOS when Bash commands spawn many subprocesses by @LegGasai
- Fix the Windows directory picker truncating paths that contain characters such as 「开」 by @tianyicui
- Fix persistent Bash and PowerShell results not expanding in the conversation view by @LegGasai
- Fix Profile-configured Agent Preset directories being lost at startup by @LegGasai
- Flag Agent Presets that cannot load and explain why switching failed by @LegGasai
- Remove the unsupported
/goal command from the Minimal preset by @Magolor - Accept
null placeholders for file-edit fields unused by the selected operation by @lsdsjy - Keep PTC Mode SDK features inside
run_code instead of exposing them as directly callable tools by @CreatixChu - Send periodic WebSocket heartbeats to keep idle connections alive by @lsdsjy
- Keep a new blank conversation from displacing existing conversations in the collapsed Workspace list by @lsdsjy
- Fix the workflow section order in the system prompt by @LegGasai
- Reduce npm package-resolution cost by trimming unnecessary peer dependencies by @imccyu
- Fix startup failures and broken HMR on Node.js 24.0–24.11.1 by @imccyu
- Return keyboard focus to the Settings trigger after the dialog closes by @LegGasai
- Correctly echo and reliably deliver images added or queued while a conversation is running; follow-up messages to continuable subagents also support images by @CreatixChu
- Complete highlighted slash commands with
Tab while the command menu is open by @mektpoy
Full official release notes
New Features
- By default, fold process details and the System prompt before each completed answer in the conversation stream by @07akioni, @lsdsjy
- Make conversation-stream content width adaptive and drag-resizable by @yixiangihsiang
- Show token usage and elapsed time at the end of each answer, with expandable exact usage and detailed statistics by @hypatiamay, @ZiyaZhang, @Yifffan
- Provide full-history turn navigation in the conversation view, including previews and jumps to unloaded turns by @LegGasai
- Align secondary text styling, add conversation font sizing, and scale Markdown tables with body text by @yixiangihsiang
- Let plugins add provider sign-in controls to Models settings by @LegGasai
- Support third-party interface languages and consistent localized permission categories and labels by @tianyicui, @LegGasai, @imccyu, @ZiyaZhang
- Support subagent model selection through agent-authorized choices, caller-specified provider, model, reasoning effort, and maximum output length, and configured models for Claude Code and Codex by @Dudu-0223, @pku-xht
- Publish the Python SDK runtime for Windows x64 by @tianyicui
- Complete ACP support for standard session controls, model settings, MCP, permissions, and cancellation by @tianyicui, @pku-xht
- Include enabled plugin package names and versions in official DeepSeek requests; deployments can turn this off by @tianyicui
- Add opt-in incremental Session-log uploads to official DeepSeek requests by @tianyicui
- Add an experimental Inspector tool by @imccyu
- Add an experimental Web Preview by @imccyu
- Show connection status, tolerate temporary host stalls, and support automatic retries or immediate reconnection after a disconnect by @imccyu
- Show active schedules in the conversation header across viewport sizes by @pku-xht
- Let parent Agents and continuable child Agents exchange follow-up messages through
send_message, replacing the one-way report tool by @Dudu-0223
Improvements
- Reduce code loading, data transfer, and parsing during page startup and conversation initialization by @lsdsjy, @imccyu, @Kingwl, @kermanx
- Reduce the disk space used by conversation records by @Magolor
- Improve icons, directory loading, and file search in the
/ and @ menus, with pointer-based directory navigation by @Yifffan, @LegGasai - Switch the primary action to Send and queue the message when a draft is entered during a running turn by @lsdsjy
- Keep file and conversation references valid when adjacent composer text is edited by @LegGasai
- Preserve unfinished question-card drafts when switching conversations by @LegGasai
- Keep code blocks syntax-highlighted while responses stream in the conversation view by @07akioni
- Render question history as readable question-and-answer cards with clear cancelled and interrupted states by @LegGasai
- Show images immediately while compression and upload continue in the background by @CreatixChu
- Count image usage during context compaction by @CreatixChu
- Show images from users, assistants, and tool results in Trajectory by @CreatixChu
- In local-filesystem mode, let the model locate uploaded images and read extensionless attachment paths through
read_image by @CreatixChu - Improve image compression speed, reduce upload size, and preserve more detail in very tall or wide images by @CreatixChu
- Warn when automatically repairing a truncated conversation-log tail and identify the affected conversation by @turtle1999
- Group plugins by conversation and global scope, with Agent Preset switching and cross-preset search by @LegGasai
- Improve menus, scrolling, tool file links, and diff statistics in the conversation and composer UI by @Yifffan
- Reduce unnecessary filesystem checks when loading conversations on macOS and Linux by @LegGasai
- Improve processing efficiency for long conversations and dense live messages while reducing memory use and rendering overhead from streaming responses, syntax highlighting, layout, and navigation previews by @Dudu-0223, @imccyu, @07akioni
- Report the effective endpoint and error details when
web_search fails by @CreatixChu - Refine the home-page logo animation by @Yifffan
- Reuse Profile request headers for custom model discovery; add search and filtering to the model catalog by @LegGasai
Bug Fixes
- Fix persistent PowerShell starting too early and returning incomplete output on macOS and Linux by @tianyicui
- Fix persistent Bash returning empty output early during pipeline reads on Linux by @LegGasai
- Fix host stalls on macOS when Bash commands spawn many subprocesses by @LegGasai
- Fix the Windows directory picker truncating paths that contain characters such as 「开」 by @tianyicui
- Fix persistent Bash and PowerShell results not expanding in the conversation view by @LegGasai
- Fix Profile-configured Agent Preset directories being lost at startup by @LegGasai
- Flag Agent Presets that cannot load and explain why switching failed by @LegGasai
- Remove the unsupported
/goal command from the Minimal preset by @Magolor - Accept
null placeholders for file-edit fields unused by the selected operation by @lsdsjy - Keep PTC Mode SDK features inside
run_code instead of exposing them as directly callable tools by @CreatixChu - Send periodic WebSocket heartbeats to keep idle connections alive by @lsdsjy
- Keep a new blank conversation from displacing existing conversations in the collapsed Workspace list by @lsdsjy
- Fix the workflow section order in the system prompt by @LegGasai
- Reduce npm package-resolution cost by trimming unnecessary peer dependencies by @imccyu
- Fix startup failures and broken HMR on Node.js 24.0–24.11.1 by @imccyu
- Return keyboard focus to the Settings trigger after the dialog closes by @LegGasai
- Correctly echo and reliably deliver images added or queued while a conversation is running; follow-up messages to continuable subagents also support images by @CreatixChu
- Complete highlighted slash commands with
Tab while the command menu is open by @mektpoy
Chores
- Update the [Safety Notice](SAFETY.md): DeepSeek Harness has not been security-audited, and sandboxing, approvals, and permissions do not guarantee isolation by @turtle1999
- Keep Shell guidance ahead of other tool instructions in the model prompt by @LegGasai
- Use the Remote gateway as the unified remote-call API and error-dispatch mechanism, with the legacy APIProxy removed by @imccyu
- Split the conversation UI into focused modules so developers can import the layer that owns each capability by @imccyu
- Require the one-time token in the launch URL when accessing the Web interface over a network by @tianyicui
- Launch applications through
dsh Profiles, including Python SDK and ACP modes by @tianyicui - Update pi-ai model support and add controls such as the vLLM thinking budget by @tianyicui
- Stream progress to stderr during headless runs while keeping stdout limited to the final result by @lsdsjy
- Rename Code Mode to PTC mode while keeping existing conversation records readable by @tianyicui
- Enable public WebFetch by default with SSRF protection and no per-request approval for public network access by @Dudu-0223
- Remove the optional SQLite Session persistence backend; existing content is not deleted, so use an older version to export it by @tianyicui
- Enable
web_fetch by default for the Python SDK, Headless, ACP, and custom Profiles by @koalazf99 - Stop exposing the general-purpose
workflow tool by default in Web PTC Mode by @koalazf99 - Replace
Session.events with on-demand read APIs: seq, eventAt(), and snapshotEvents() by @kermanx - Distinguish
SessionSeq from SessionLogOffset with strong types while preserving forward compatibility by @tianyicui, @imccyu
dsh.so Analysis
This 0.1.2-rc.1 release delivers a broad set of UI/UX upgrades and plugin SDK improvements, including adaptive conversation streaming, resizable content, token-usage reporting, full-history turn navigation, subagent model selection, third-party interface languages, and experimental Inspector and Web Preview tools. Performance, startup cost, and rendering efficiency are also notably improved. For the plugin ecosystem, new controls such as provider sign-in and plugin metadata in official requests broaden integration capabilities, though several changed APIs and defaults will require maintainer attention.
Migration Guide
No official breaking changes are listed, but a few notable changes may affect existing plugins or SDK users. Replace usages of `Session.events` with the new on-demand read APIs `seq`, `eventAt()`, and `snapshotEvents()`. The optional SQLite Session persistence backend has been removed, so export any needed data using an older release before upgrading. Also evaluate tool-exposure defaults: the general-purpose `workflow` tool is no longer enabled by default in Web PTC Mode, while `web_fetch` is now on by default, and Web interface access over a network requires a one-time token in the launch URL.
v0.1.2-alpha.5pre-release
Official Changes
Fixed
- Fix an issue where upgrading from
0.1.1-rc.2 or 0.1.2-alpha.3 could prevent the app from starting or make session titles disappear from the list by @imccyu
Full official release notes
Bug Fixes
- Fix an issue where upgrading from
0.1.1-rc.2 or 0.1.2-alpha.3 could prevent the app from starting or make session titles disappear from the list by @imccyu
dsh.so Analysis
This release is a patch focused on resolving an upgrade regression that could block startup or hide session titles when coming from 0.1.1-rc.2 or 0.1.2-alpha.3. It contains no new features or breaking changes, so the plugin ecosystem remains unaffected in terms of APIs or behavior. Existing plugins will continue to work; users on the affected versions should update to ensure a smooth upgrade.
v0.1.2-alpha.4pre-release
Official Changes
New
- Let parent Agents and continuable child Agents exchange follow-up messages through
send_message, replacing the one-way report tool by @Dudu-0223
Changed
- Reuse Profile request headers for custom model discovery; add search and filtering to the model catalog by @LegGasai
- Refine interface corners, borders, turn navigation, and shadows by @yixiangihsiang and @LegGasai
- Reduce rendering overhead in very long conversations during response streaming, interface layout, and navigation previews by @imccyu
- Enable
web_fetch by default for the Python SDK, Headless, ACP, and custom Profiles by @koalazf99 - Stop exposing the general-purpose
workflow tool by default in Web PTC Mode by @koalazf99 - Replace
Session.events with on-demand read APIs: seq, eventAt(), and snapshotEvents() by @kermanx - Distinguish
SessionSeq and SessionLogOffset with strong types; developers should should pay attention to compatibility by @tianyicui
Full official release notes
New Features
- Let parent Agents and continuable child Agents exchange follow-up messages through
send_message, replacing the one-way report tool by @Dudu-0223
Improvements
- Reuse Profile request headers for custom model discovery; add search and filtering to the model catalog by @LegGasai
- Refine interface corners, borders, turn navigation, and shadows by @yixiangihsiang and @LegGasai
- Reduce rendering overhead in very long conversations during response streaming, interface layout, and navigation previews by @imccyu
Chores
- Enable
web_fetch by default for the Python SDK, Headless, ACP, and custom Profiles by @koalazf99 - Stop exposing the general-purpose
workflow tool by default in Web PTC Mode by @koalazf99 - Replace
Session.events with on-demand read APIs: seq, eventAt(), and snapshotEvents() by @kermanx - Distinguish
SessionSeq and SessionLogOffset with strong types; developers should should pay attention to compatibility by @tianyicui
dsh.so Analysis
This alpha release introduces bidirectional messaging between parent and continuable child agents via send_message, replacing the one-way report tool, and reworks session event access with on-demand APIs and stronger types. It also improves model discovery, UI polish, rendering performance, and changes default behavior such as enabling web_fetch while hiding the workflow tool in Web PTC Mode. Developers should update code that relied on Session.events, report, and untyped session offsets.
Migration Guide
Update agent communication from the one-way report tool to send_message if you used continuable child agents. Replace Session.events usage with seq(), eventAt(), and snapshotEvents(). Update code referencing SessionSeq/SessionLogOffset to use the new strong types. Also review default behavior changes: web_fetch is now enabled by default in Python SDK, Headless, ACP, and custom Profiles, while the general-purpose workflow tool is no longer exposed by default in Web PTC Mode.
v0.1.2-alpha.3pre-release
Official Changes
Changed
- Preview and jump to all paginated turns, including unloaded ones, from the right-hand navigation in long conversations by @LegGasai
- Reduce memory use and improve syntax-highlighting responsiveness when rendering long conversations by @imccyu and @07akioni
- Improve multilingual wording for permission labels by @ZiyaZhang
- Remove the optional SQLite Session persistence backend; existing content is not deleted, so use an older version to export it by @tianyicui
Fixed
- Correctly echo and reliably deliver images added or queued while a conversation is running; follow-up messages to continuable subagents also support images by @CreatixChu
- Let
read_image detect and read image attachment paths without filename extensions by @CreatixChu - Complete highlighted slash commands with
Tab while the command menu is open by @mektpoy - Fix backend stalls being mistaken for network disconnections by @imccyu
- Fix the Schedule catalog in the conversation header shifting or overflowing in narrow viewports by @pku-xht
Full official release notes
Improvements
- Preview and jump to all paginated turns, including unloaded ones, from the right-hand navigation in long conversations by @LegGasai
- Reduce memory use and improve syntax-highlighting responsiveness when rendering long conversations by @imccyu and @07akioni
- Improve multilingual wording for permission labels by @ZiyaZhang
Bug Fixes
- Correctly echo and reliably deliver images added or queued while a conversation is running; follow-up messages to continuable subagents also support images by @CreatixChu
- Let
read_image detect and read image attachment paths without filename extensions by @CreatixChu - Complete highlighted slash commands with
Tab while the command menu is open by @mektpoy - Fix backend stalls being mistaken for network disconnections by @imccyu
- Fix the Schedule catalog in the conversation header shifting or overflowing in narrow viewports by @pku-xht
Chores
- Remove the optional SQLite Session persistence backend; existing content is not deleted, so use an older version to export it by @tianyicui
dsh.so Analysis
A stabilization pass on top of 0.1.2-alpha.2 with no new features: long conversations get the most attention — the right-hand navigation can now preview and jump to not-yet-loaded turns, and rendering uses less memory with smoother syntax highlighting. Messaging reliability improves as well: images added while a conversation is running now echo and deliver correctly, and follow-up messages to continuable subagents support images too. The one change to plan around is a removal: the optional SQLite Session persistence backend is gone — existing content is not deleted, but exporting it requires an older version. The official notes list no plugin manifest changes, so installed plugins should be unaffected.
v0.1.2-alpha.2pre-release
Official Changes
New
- Show connection failures in the interface, with automatic retries and an immediate reconnect action by @imccyu
- Show active schedules in the conversation header by @pku-xht
Changed
- Group plugins by conversation and global scope, with Agent Preset switching and cross-preset search by @LegGasai
- Improve menus, scrolling, tool file links, and diff statistics in the conversation and composer UI by @Yifffan
- Reduce unnecessary filesystem checks when loading conversations on macOS and Linux by @LegGasai
- Improve processing efficiency for long conversation histories and high-volume live messages by @Dudu-0223
- Show token usage and elapsed time at the end of each answer, with more details available on click by @Yifffan
- Report the effective endpoint and error details when
web_search fails by @CreatixChu - Show permission categories with localized text by @imccyu
- Refine the home-page logo animation by @Yifffan
- Restore
SessionEvent.ignorable, which was removed in 0.1.2-alpha.1, by @tianyicui - Provide unified
RemoteError wrapping for Remote gateway call failures by @imccyu
Fixed
- Fix breadcrumb loss when drilling into directories with the pointer in the
@ menu by @LegGasai - Reduce npm package-resolution cost by trimming unnecessary peer dependencies by @imccyu
- Fix startup failures and broken HMR on Node.js 24.0–24.11.1 by @imccyu
- Return keyboard focus to the Settings trigger after the dialog closes by @LegGasai
Full official release notes
New Features
- Show connection failures in the interface, with automatic retries and an immediate reconnect action by @imccyu
- Show active schedules in the conversation header by @pku-xht
Improvements
- Group plugins by conversation and global scope, with Agent Preset switching and cross-preset search by @LegGasai
- Improve menus, scrolling, tool file links, and diff statistics in the conversation and composer UI by @Yifffan
- Reduce unnecessary filesystem checks when loading conversations on macOS and Linux by @LegGasai
- Improve processing efficiency for long conversation histories and high-volume live messages by @Dudu-0223
- Show token usage and elapsed time at the end of each answer, with more details available on click by @Yifffan
- Report the effective endpoint and error details when
web_search fails by @CreatixChu - Show permission categories with localized text by @imccyu
- Refine the home-page logo animation by @Yifffan
Bug Fixes
- Fix breadcrumb loss when drilling into directories with the pointer in the
@ menu by @LegGasai - Reduce npm package-resolution cost by trimming unnecessary peer dependencies by @imccyu
- Fix startup failures and broken HMR on Node.js 24.0–24.11.1 by @imccyu
- Return keyboard focus to the Settings trigger after the dialog closes by @LegGasai
Chores
- Restore
SessionEvent.ignorable, which was removed in 0.1.2-alpha.1, by @tianyicui - Provide unified
RemoteError wrapping for Remote gateway call failures by @imccyu
dsh.so Analysis
This release makes system state visible: connection failures now show in the interface with automatic retries and an immediate reconnect action, every answer ends with token usage and elapsed time, and a failed web_search reports the effective endpoint and error details. The plugin panel is regrouped by conversation and global scope with Agent Preset switching and cross-preset search, and active schedules appear in the conversation header. For plugin developers: SessionEvent.ignorable, removed in 0.1.2-alpha.1, is restored, and Remote gateway call failures now come wrapped in a unified RemoteError. If you run Node.js 24.0–24.11.1, the startup failures and broken HMR on those versions are also fixed here.
v0.1.2-alpha.1pre-release
Official Changes
New
- By default, fold process details and the System prompt before each completed answer in the conversation stream by @07akioni and @lsdsjy
- Make conversation-stream content width adaptive and drag-resizable by @yixiangihsiang
- Show expandable exact token usage after each completed answer in the conversation stream by @hypatiamay and @ZiyaZhang
- Add compact turn navigation to the conversation view by @LegGasai
- Align secondary text styling, add conversation font sizing, and scale Markdown tables with body text by @yixiangihsiang
- Let plugins add provider sign-in controls to Models settings by @LegGasai
- Support third-party UI languages and complete more localized interface text by @tianyicui, @LegGasai, and @imccyu
- Let agents choose provider, model, and reasoning effort for subagents within configured authorization by @Dudu-0223
- Let callers select provider, model, reasoning effort, and maximum output length when starting subagents by @pku-xht
- Support configured models for Claude Code and Codex subagents by @pku-xht
- Publish the Python SDK runtime for Windows x64 by @tianyicui
- Complete ACP support for standard session controls, model settings, MCP, permissions, and cancellation by @tianyicui and @pku-xht
- Include enabled plugin package names and versions in official DeepSeek requests; deployments can turn this off by @tianyicui
- Add opt-in incremental Session-log uploads to official DeepSeek requests by @tianyicui
Changed
- Improve page startup by reducing code-load requests and transferred data by @lsdsjy
- Load conversation state in one pass while reducing transfer and parsing work by @imccyu, @Kingwl, and @kermanx
- Reduce the disk space used by conversation records by @Magolor
- Improve
/ and @ interactions with clearer menu icons, directory loading, and file search by @Yifffan and @LegGasai - Switch the primary action to Send and queue the message when a draft is entered during a running turn by @lsdsjy
- Keep file and conversation references valid when adjacent composer text is edited by @LegGasai
- Preserve unfinished question-card drafts when switching conversations by @LegGasai
- Keep code blocks syntax-highlighted while responses stream in the conversation view by @07akioni
- Render question history as readable question-and-answer cards with clear cancelled and interrupted states by @LegGasai
- Show images immediately while compression and upload continue in the background by @CreatixChu
- Count image usage during context compaction by @CreatixChu
- Show images from users, assistants, and tool results in Trajectory by @CreatixChu
- Let the model locate uploaded images directly when using the local filesystem by @CreatixChu
- Improve image compression speed, reduce upload size, and preserve more detail in very tall or wide images by @CreatixChu
- Warn when automatically repairing a truncated conversation-log tail and identify the affected conversation by @turtle1999
- Update the [Safety Notice](SAFETY.md): DSH has not been security-audited, and sandboxing, approvals, and permissions do not guarantee isolation by @turtle1999
- Keep Shell guidance ahead of other tool instructions in the model prompt by @LegGasai
- Complete the migration from the legacy ApiProxy interface to the
@Remote gateway and remove ApiProxy by @imccyu - Split the conversation UI into focused modules so developers can import the layer that owns each capability by @imccyu
- Require the one-time token in the launch URL when accessing the Web interface over a network by @tianyicui
- Launch applications through
dsh Profiles, including Python SDK and ACP modes by @tianyicui - Update pi-ai model support and add controls such as the vLLM thinking budget by @tianyicui
- Stream progress to stderr during headless runs while keeping stdout limited to the final result by @lsdsjy
- Rename Code Mode to PTC mode while keeping existing conversation records readable by @tianyicui
- Enable public WebFetch by default with SSRF protection and no per-request approval for public network access by @Dudu-0223
Fixed
- Fix persistent PowerShell starting too early and returning incomplete output on macOS and Linux by @tianyicui
- Fix persistent Bash returning empty output early during pipeline reads on Linux by @LegGasai
- Fix host stalls on macOS when Bash commands spawn many subprocesses by @LegGasai
- Fix the Windows directory picker truncating paths that contain characters such as 「开」 by @tianyicui
- Fix persistent Bash and PowerShell results not expanding in the conversation view by @LegGasai
- Fix Profile-configured Agent Preset directories being lost at startup by @LegGasai
- Flag Agent Presets that cannot load and explain why switching failed by @LegGasai
- Remove the unsupported
/goal command from the Minimal preset by @Magolor - Accept
null placeholders for file-edit fields unused by the selected operation by @lsdsjy - Keep PTC Mode SDK features inside
run_code instead of exposing them as directly callable tools by @CreatixChu - Send periodic WebSocket heartbeats to keep idle connections alive by @lsdsjy
- Keep a new blank conversation from displacing existing conversations in the collapsed Workspace list by @lsdsjy
- Fix the workflow section order in the system prompt by @LegGasai
Full official release notes
New Features
- By default, fold process details and the System prompt before each completed answer in the conversation stream by @07akioni and @lsdsjy
- Make conversation-stream content width adaptive and drag-resizable by @yixiangihsiang
- Show expandable exact token usage after each completed answer in the conversation stream by @hypatiamay and @ZiyaZhang
- Add compact turn navigation to the conversation view by @LegGasai
- Align secondary text styling, add conversation font sizing, and scale Markdown tables with body text by @yixiangihsiang
- Let plugins add provider sign-in controls to Models settings by @LegGasai
- Support third-party UI languages and complete more localized interface text by @tianyicui, @LegGasai, and @imccyu
- Let agents choose provider, model, and reasoning effort for subagents within configured authorization by @Dudu-0223
- Let callers select provider, model, reasoning effort, and maximum output length when starting subagents by @pku-xht
- Support configured models for Claude Code and Codex subagents by @pku-xht
- Publish the Python SDK runtime for Windows x64 by @tianyicui
- Complete ACP support for standard session controls, model settings, MCP, permissions, and cancellation by @tianyicui and @pku-xht
- Include enabled plugin package names and versions in official DeepSeek requests; deployments can turn this off by @tianyicui
- Add opt-in incremental Session-log uploads to official DeepSeek requests by @tianyicui
Improvements
- Improve page startup by reducing code-load requests and transferred data by @lsdsjy
- Load conversation state in one pass while reducing transfer and parsing work by @imccyu, @Kingwl, and @kermanx
- Reduce the disk space used by conversation records by @Magolor
- Improve
/ and @ interactions with clearer menu icons, directory loading, and file search by @Yifffan and @LegGasai - Switch the primary action to Send and queue the message when a draft is entered during a running turn by @lsdsjy
- Keep file and conversation references valid when adjacent composer text is edited by @LegGasai
- Preserve unfinished question-card drafts when switching conversations by @LegGasai
- Keep code blocks syntax-highlighted while responses stream in the conversation view by @07akioni
- Render question history as readable question-and-answer cards with clear cancelled and interrupted states by @LegGasai
- Show images immediately while compression and upload continue in the background by @CreatixChu
- Count image usage during context compaction by @CreatixChu
- Show images from users, assistants, and tool results in Trajectory by @CreatixChu
- Let the model locate uploaded images directly when using the local filesystem by @CreatixChu
- Improve image compression speed, reduce upload size, and preserve more detail in very tall or wide images by @CreatixChu
- Warn when automatically repairing a truncated conversation-log tail and identify the affected conversation by @turtle1999
Bug Fixes
- Fix persistent PowerShell starting too early and returning incomplete output on macOS and Linux by @tianyicui
- Fix persistent Bash returning empty output early during pipeline reads on Linux by @LegGasai
- Fix host stalls on macOS when Bash commands spawn many subprocesses by @LegGasai
- Fix the Windows directory picker truncating paths that contain characters such as 「开」 by @tianyicui
- Fix persistent Bash and PowerShell results not expanding in the conversation view by @LegGasai
- Fix Profile-configured Agent Preset directories being lost at startup by @LegGasai
- Flag Agent Presets that cannot load and explain why switching failed by @LegGasai
- Remove the unsupported
/goal command from the Minimal preset by @Magolor - Accept
null placeholders for file-edit fields unused by the selected operation by @lsdsjy - Keep PTC Mode SDK features inside
run_code instead of exposing them as directly callable tools by @CreatixChu - Send periodic WebSocket heartbeats to keep idle connections alive by @lsdsjy
- Keep a new blank conversation from displacing existing conversations in the collapsed Workspace list by @lsdsjy
- Fix the workflow section order in the system prompt by @LegGasai
Chores
- Update the [Safety Notice](SAFETY.md): DeepSeek Harness has not been security-audited, and sandboxing, approvals, and permissions do not guarantee isolation by @turtle1999
- Keep Shell guidance ahead of other tool instructions in the model prompt by @LegGasai
- Complete the migration from the legacy ApiProxy interface to the
@Remote gateway and remove ApiProxy by @imccyu - Split the conversation UI into focused modules so developers can import the layer that owns each capability by @imccyu
- Require the one-time token in the launch URL when accessing the Web interface over a network by @tianyicui
- Launch applications through
dsh Profiles, including Python SDK and ACP modes by @tianyicui - Update pi-ai model support and add controls such as the vLLM thinking budget by @tianyicui
- Stream progress to stderr during headless runs while keeping stdout limited to the final result by @lsdsjy
- Rename Code Mode to PTC mode while keeping existing conversation records readable by @tianyicui
- Enable public WebFetch by default with SSRF protection and no per-request approval for public network access by @Dudu-0223
dsh.so Analysis
The largest 0.1.2 drop so far. Long-conversation reading is reworked: completed answers fold their process details by default, with compact turn navigation, per-answer token usage, and adaptive width and font sizing. Agent capabilities expand — subagents can be assigned provider, model, reasoning effort, and output limits (including Claude Code and Codex subagents) — while the interface adds third-party UI languages and public-by-default WebFetch with SSRF protection. For plugin developers: the legacy ApiProxy interface completes its migration to the @Remote gateway, official DeepSeek requests now carry enabled plugin package names and versions (opt-out available in settings), and network access to the Web UI requires the one-time token in the launch URL. Windows x64 joins the Python SDK runtime; ACP gains standard session controls, model settings, MCP, permissions, and cancellation.
v0.1.1-rc.2pre-release
Official Changes
Changed
- The DeepSeek adapter prioritizes the Files API for image uploads and reuses uploaded files by @CreatixChu
- Improve image preprocessing with automatic resizing and format conversion based on model requirements by @CreatixChu
Full official release notes
Improvements
- The DeepSeek adapter prioritizes the Files API for image uploads and reuses uploaded files by @CreatixChu
- Improve image preprocessing with automatic resizing and format conversion based on model requirements by @CreatixChu
dsh.so Analysis
This is release candidate 0.1.1-rc.2 of the DSH plugin registry, dated 2026-08-21. Since no specific changes are provided, the release likely includes incremental fixes and refinements over the previous candidate. Plugin developers should review the upstream repository for details before adopting this RC in production.
v0.1.1-rc.1pre-release
Official Changes
New
- The DeepSeek adapter adds the multimodal visual understanding model
DeepSeek-V4-Flash-Vision-Exp by @LegGasai
Changed
- Improve responsive Markdown tables in conversations, precision for 99.x% cache-hit ratios, and subagent conversation header navigation by @07akioni, @pku-xht, and @yixiangihsiang
- Support multiline
ask_user_question answers with wrapping and Shift+Enter newlines by @LegGasai
Fixed
- Fix potential layout issues when editing text before an
@ reference in the composer by @LegGasai - Prevent confined processes from escaping Bubblewrap restrictions through
/proc/<pid>/root by @Kingwl
Full official release notes
New Features
- The DeepSeek adapter adds the multimodal visual understanding model
DeepSeek-V4-Flash-Vision-Exp by @LegGasai
Bug Fixes
- Fix potential layout issues when editing text before an
@ reference in the composer by @LegGasai - Prevent confined processes from escaping Bubblewrap restrictions through
/proc/<pid>/root by @Kingwl
Improvements
- Improve responsive Markdown tables in conversations, precision for 99.x% cache-hit ratios, and subagent conversation header navigation by @07akioni, @pku-xht, and @yixiangihsiang
- Support multiline
ask_user_question answers with wrapping and Shift+Enter newlines by @LegGasai
dsh.so Analysis
This is a release candidate (0.1.1-rc.1) of the DSH tooling. As an RC, it serves as a preview for plugin developers to test compatibility before the stable patch release. Since no detailed changelog was captured, the exact changes are not listed here; developers should review the upstream repository for specific fixes or improvements.
v0.1.0-rc.8pre-release
Official Changes
New
- Expand multimodal support with configurable native image requests for DeepSeek adapters, image input for commands such as
/goal and /plan, and file and session references in the @ menu by @LegGasai and @CreatixChu - Make Claude Code and Codex subagents installable on demand as Profile Bundles, with non-interactive permission modes and named instances by @pku-xht
- Add persistent PowerShell session support to Windows PTY terminals and enable it by default in the Minimal preset by @Elevator14B
Changed
- Improve layout and information presentation, including
~ abbreviations for home directories, narrow composer layouts, and feedback UI by @07akioni and @Chinesezjc - Improve UI interactions for sidebar search focus, workflow panels, model selection, and retrying failed local file opens by @yixiangihsiang, @pku-xht, @LegGasai, and @07akioni
- Improve tool calls with concurrent
web_search queries and prompt subagent report delivery that wakes parent tasks by @Dudu-0223 - Improve installation and startup by reducing dependency download size and opening the browser automatically for local
dsh web runs by @imccyu and @lsdsjy - Improve fork performance for sessions with large histories by @Magolor
- Improve SQLite read, write, and fork performance while reducing storage size; the storage format is incompatible by @Magolor
- Clarify brand usage: “DSH” is a registered trademark; see the [Brand Usage Guidelines](BRAND_GUIDELINES.md) by @imccyu
- Cover all four built-in Agent Presets and the dependencies required for
rg / glob search and MCP stdio tools in the Python SDK runtime by @koalazf99
Fixed
- Fix model request failures caused by oversized images or excessive accumulated image payloads by @CreatixChu
- Preserve displayed response prefixes in follow-up prompts and forks after cancelling streamed generation by @CreatixChu
- Fix custom OpenAI-compatible gateway failures caused by request-format differences or missing reasoning content by @LegGasai
Full official release notes
New Features
- Expand multimodal support with configurable native image requests for DeepSeek adapters, image input for commands such as
/goal and /plan, and file and session references in the @ menu by @LegGasai and @CreatixChu - Make Claude Code and Codex subagents installable on demand as Profile Bundles, with non-interactive permission modes and named instances by @pku-xht
- Add persistent PowerShell session support to Windows PTY terminals and enable it by default in the Minimal preset by @Elevator14B
Bug Fixes
- Fix model request failures caused by oversized images or excessive accumulated image payloads by @CreatixChu
- Preserve displayed response prefixes in follow-up prompts and forks after cancelling streamed generation by @CreatixChu
- Fix custom OpenAI-compatible gateway failures caused by request-format differences or missing reasoning content by @LegGasai
Improvements
- Improve layout and information presentation, including
~ abbreviations for home directories, narrow composer layouts, and feedback UI by @07akioni and @Chinesezjc - Improve UI interactions for sidebar search focus, workflow panels, model selection, and retrying failed local file opens by @yixiangihsiang, @pku-xht, @LegGasai, and @07akioni
- Improve tool calls with concurrent
web_search queries and prompt subagent report delivery that wakes parent tasks by @Dudu-0223 - Improve installation and startup by reducing dependency download size and opening the browser automatically for local
dsh web runs by @imccyu and @lsdsjy - Improve fork performance for sessions with large histories by @Magolor
Chores
- Improve SQLite read, write, and fork performance while reducing storage size; the storage format is incompatible by @Magolor
- Clarify brand usage: “DeepSeek Harness” is a registered trademark; see the [Brand Usage Guidelines](BRAND_GUIDELINES.md) by @imccyu
SDK
- Cover all four built-in Agent Presets and the dependencies required for
rg / glob search and MCP stdio tools in the Python SDK runtime by @koalazf99
dsh.so Analysis
Release 0.1.0-rc.8 is the eighth release candidate for the dsh.so plugin registry's 0.1.0 series. As an RC, it focuses on stabilization and verification ahead of a stable release. No specific feature changes are documented in this metadata. Plugin developers should treat this as a checkpoint for testing compatibility.
v0.1.0-rc.7pre-release
Official Changes
New
- Enable plugins to register their own settings cards by @LegGasai
- Manage Codex and Claude Code subagent tasks through the Job Panel by @pku-xht
- Add durable image attachments to MCP and ACP, with nested image forwarding in PTC Mode by @tianyicui
Changed
- Refine the Cordis dynamic plugin panel by @Yifffan
- Add
low reasoning effort for DeepSeek models; high remains the default by @LegGasai - Rename the English
Code mode preset to PTC mode by @koalazf99 - Add collapsible question cards with draft preservation by @GeeeekExplorer
Fixed
- Fix persistent Bash latency in minimal mode by @LegGasai
- Fix stack overflows in large-history pagination by @Kingwl
- Preserve sessions after max-token truncation by @LegGasai
- Fix Safari composer cursor misalignment by @lsdsjy
- Upgrade to node-pty 1.2 beta for broader PTY compatibility by @kermanx
Full official release notes
New Features
- Enable plugins to register their own settings cards by @LegGasai
- Manage Codex and Claude Code subagent tasks through the Job Panel by @pku-xht
- Add durable image attachments to MCP and ACP, with nested image forwarding in PTC Mode by @tianyicui
Bug Fixes
- Fix persistent Bash latency in minimal mode by @LegGasai
- Fix stack overflows in large-history pagination by @Kingwl
- Preserve sessions after max-token truncation by @LegGasai
- Fix Safari composer cursor misalignment by @lsdsjy
- Upgrade to node-pty 1.2 beta for broader PTY compatibility by @kermanx
Improvements
- Refine the Cordis dynamic plugin panel by @Yifffan
- Add
low reasoning effort for DeepSeek models; high remains the default by @LegGasai - Rename the English
Code mode preset to PTC mode by @koalazf99 - Add collapsible question cards with draft preservation by @GeeeekExplorer
dsh.so Analysis
This is release candidate 7 (0.1.0-rc.7) of the DSH plugin registry. As a release candidate, it likely focuses on stabilization, bug fixes, and refinements ahead of the first stable 0.1.0 release. Specific changes are not disclosed in this summary; plugin developers and users should review the official changelog or repository for details.
v0.1.0-rc.6
Official Changes
New
- The dsh package family is published publicly on npm (feat/npm-public).
- Official docs gain a link to the Cordis design paper (_A Programming Paradigm for Spatiotemporal Composability_).
Changed
- Repository moved through release: 0.1.0-rc.3 and 0.1.0-rc.5 in the same cycle.
- English onboarding copy refreshed for first-time users.
Breaking
- Still developer preview: breaking changes may land at any time.
dsh.so Analysis
This is the release that matters for new users: the dsh family is now publicly installable from npm without special access. `npx @deepseek-ai/dsh web` serves the Web UI at http://127.0.0.1:3080. GitHub Releases still has no tagged artifacts — the source of truth for version history is the npm registry and the master branch. Expect the plugin surface (dsh.bundle / dsh.client manifests) to evolve.
Plugin Compatibility
| Plugin | Status | Note |
|---|
modlens | unknown | Declares dsh.bundle manifest; not yet verified by dsh.so. |
dsh-opencode-usage | unknown | Declares dsh.client manifest; not yet verified by dsh.so. |
dsh-launcher-windows | unknown | External Windows launcher; no dsh manifest. |
v0.1.0-rc.2
Official Changes
New
- 0.1.0 release train starts on npm.
Changed
- Version series moves from 0.0.1-rc to 0.1.0-rc.
Breaking
- Developer preview — expect breaking changes; watch the changelog before upgrading.
dsh.so Analysis
The 0.1.0 series began the same day as the ecosystem explosion: 300+ repositories with the dsh-plugin topic appeared shortly after. dsh.so treats 0.1.0-rc as the first stable-enough baseline for compatibility claims, but nothing has been independently verified yet.
Plugin Compatibility
| Plugin | Status | Note |
|---|
modlens | unknown | Author-declared bundle manifest; not yet tested by dsh.so. |
dsh-launcher-windows | unknown | External Windows launcher; no dsh manifest. |
v0.0.1-rc.1
Official Changes
New
- First npm publish of the DSH CLI (@deepseek-ai/dsh).
- Developer preview: run the Web UI with
npx @deepseek-ai/dsh web.
Breaking
- Developer preview — compatibility-breaking changes are expected between releases.
dsh.so Analysis
The very first public npm artifact. DSH entered developer preview, and `npx @deepseek-ai/dsh web` became a working one-command install. No GitHub Release tag was published for this version — version history is tracked via npm and repository commits.
Plugin Compatibility
| Plugin | Status | Note |
|---|
modlens | unknown | Plugin ecosystem had not yet formed. |