github deepseek-ai/deepseek-harness dsh-v0.2.2-alpha.2
v0.2.2-alpha.2

pre-release7 hours ago

中文 | English

新增功能

  • 插件管理页支持展示富文本详情,并改善页面布局和导航行为。 @turtle1999, @turtle2099
  • 插件管理支持更新第三方插件包;热更新失败时会尝试恢复旧版本。 @turtle1999, @turtle2099
  • 支持将聊天文本作为引用插入输入框,并在发送后显示紧凑预览。 @lsdsjy, @imccyu
  • 支持将完整历史交会话复制为 Markdown,包含可用的原始日志路径。 @tianyicui
  • 工作步骤收起后保留全部助手文字回复,可切换为仅最终回答。 @imccyu
  • 新增日语、西班牙语、法语、德语、俄语和巴西葡萄牙语文案与界面配置。 @07akioni
  • 自动化任务页支持确认后一次清除全部已结束任务,保留进行中的任务。 @Chinesezjc
  • 新增实验性「subagent_oar工具」插件,可将独立任务交给本机 Codex 或 Claude CLI @tianyicui
  • 新增实验性「个性化推荐」插件,按需在回答下方提供官方插件启用卡片或个性化页面创建卡片。 @ZiyaZhang
  • 新增实验性「开发者工具 - 统计」插件,按轮次和步骤查看上下文、缓存、模型与工具耗时等统计。 @mektpoy
  • 新增实验性「变更请求与工作树」:可在独立 Git 工作树中运行会话,查看关联 PR 的状态和代码差异。 @LegGasai, @tianyicui

体验优化

  • 改善手机和平板输入:减少自动弹出软键盘,发送后收起键盘,修正键盘平移页面时的光标滚动。 @Stevring
  • 窄屏浏览器设置页采用全屏与横向导航,聚焦项自动完整滚入可见区;触屏任务文本输入使用 16px 字号。 @Stevring
  • 触屏动作不再被悬停提示阻挡,工作区与归档结果操作直接可达;宽 Markdown 表格在局部容器中滚动。 @Stevring
  • 窄会话栏中,溢出的头部状态入口会渐隐,避免遮挡“在应用中打开”等工具按钮。 @turtle2099
  • 恢复窄窗口下输入框模型选择器自动折叠为图标的行为,完整模型名仍可在菜单中查看。 @LegGasai
  • 修复手机及窄窗口下字体设置输入框挤压标题和说明的问题,字体输入行改为纵向排列,字号控件保留右对齐。 @EricMoin
  • 同名工作区在选择器中显示最短区分路径后缀,窄屏优先保留后缀。 @turtle2099
  • 共享描边按钮使用按 DPR 调整的内描边,改善 Safari 分数尺寸下的细线显示且不改变布局。 @Stevring
  • 运行状态位于当前工作轮次尾部、待处理插话之前,方便区分运行中和排队中的消息,并改善界面布局抖动问题 @imccyu
  • 会话列表支持插件图标,并改善键盘与触屏操作。 @LegGasai
  • 侧栏会话悬浮卡显示工作目录,便于区分未分组或同名会话。 @turtle2099
  • 优化侧栏空间布局,改善响应区域,平滑搜索框展开与收起。 @Yifffan
  • 侧栏搜索支持不区分大小写的会话 ID 子串匹配。 @turtle2099
  • 消息在宿主确认接收后才显示并清空草稿;发送期间输入框只读,发送失败时保留草稿、引用和附件。 @LegGasai
  • 图片上传方式调整为进入输入框后立即上传,发送消息时复用已上传的图片。默认单张图片上限提高到 50 MiB。 @LegGasai
  • 已回答的问题批次以消息气泡显示,原生与 PTC 调用的回答在过程折叠后仍可回看。 @Kaige-Gao
  • 悬浮侧栏面板拖过屏幕边缘时有阻力,松手后弹回可见区域;窗口缩小时保持控件可达。 @yudshj
  • 支持中键关闭右侧栏标签,关闭后台标签不改变当前选中项,并保留不可关闭的起始页。 @Kingwl
  • 修复工作步骤展开和收起时的正文跳动、滚动回跳与空白间隙,保持运行状态可见。 @imccyu
  • 点击聊天中的文件行号链接后,代码和文本预览以短暂高亮标出目标行并淡出。 @turtle2099
  • Trajectory 结果页新增实时工具返回值的原始 JSON 查看,并与渲染结果上下展示 @kermanx
  • Search 功能优先向模型提供 Search API 长摘要,默认每来源最多 800 字符;搜索卡片仍展示短摘录。 @yudshj
  • 模型选择器默认勾选已配置模型,可一次添加或移除候选并保留自定义值;筛选后的全选只作用于可见候选。 @turtle2099
  • 对通过 pi-ai 接入且不支持在对话中追加系统消息的模型,后续系统消息会在原位置作为提醒提供,不会移到最初的提示词中。 @Tuyixiang
  • 支持在 DeepSeek 与 pi-ai 提供商内拖动或用方向键排序模型,保存后保留顺序及完整模型参数。 @Magolor
  • 输入框统计读数被截断时,可通过提示气泡查看完整数值;会话统计也显示轮次与步骤数。 @turtle2099
  • Auto 自动审核支持在连续工具调用之间更好地复用历史上下文缓存,减少重复处理。 @turtle2099
  • 后台任务完成通知直接携带小体积输出,并减少已读取结果和子代理收尾消息的重复通知。 @turtle1999
  • 子代理等待指引减少 sleep 和重复轮询:只有结果尚未返回时,结束当前轮次等待完成通知。 @Chinesezjc
  • 远程连接默认启用 WebSocket 压缩,减少大量历史消息的传输量;可通过 websocketCompression 关闭。 @imccyu
  • Web 静态资源支持 ETag 条件请求,未变化的资源返回 304,减少重复下载。 @imccyu
  • Word 常规编辑在保存并核对内容与格式后即可交付,减少不必要的 ZIP、XML 与元数据检查。 @tianyicui
  • 加快 Web 预览中源码编辑器等懒加载组件的首次打开。 @turtle2099
  • 加快带固定目录前缀的文件查找,跳过无关目录,同时保持结果与排序规则不变。 @kermanx
  • 支持拖动平移超出视口的图片,并通过应用内拖放或桌面原生拖放交付原始文件。 @std4453
  • 手机和平板打开宿主文件后会提示操作已在其它设备执行;各端失败时显示错误提示,电脑端成功保持静默。 @Stevring

问题修复

  • 全局与项目 AGENTS.md 分别使用 maxBytes 预算,避免项目指令挤掉全局指令;同时包含两条链的消息总量最多为原配置的两倍。 @ZiyaZhang
  • 切换到较小上下文模型前先用原模型压缩历史;失败时停止切换请求并保留原请求头。 @Dudu-0223
  • 使用 Gemini 的 OpenAI 兼容 Chat Completions 接口时,工具调用会保留并在后续请求中带回所需的思考签名,避免因签名缺失导致请求拒绝。 @turtle2099
  • 系统提示词未变化时,新一轮模型请求可继续复用已有上下文前缀缓存,避免不必要的缓存失效。 @mektpoy
  • 缺少所需凭据时不向模型提供 Web 搜索工具;新版 Web API 的抓取工具也按凭据就绪状态提供。 @LegGasai
  • 修复关闭应用时 Auto 会话权限意外变成完全访问的问题,保留已保存的权限与审批策略。 @tianyicui
  • 等待后台任务输出时,用户插话可立即解除等待并返回当前输出,后台任务继续运行。 @mektpoy
  • 修复预设往返切换后委派工具暂时缺失的问题,并让委派工具遵循当前 Agent 的工具限制。 @Dudu-0223
  • 被阻塞的目标可从 Web 目标栏继续;已耗尽轮次上限时仍需先提高上限。 @turtle2099
  • sdk-minimal 配置在请求模型或执行工具前保存会话恢复记录;保存失败时不会继续相关操作,提高短会话中断后的可恢复性。 @LogosVeritas
  • 本地文件工具将开头的 ~ 或 ~/ 正确展开为宿主主目录,路径中间的 ~ 保持字面含义。 @turtle2099
  • 修复多选问题有多个推荐选项时只预选第一项的问题,现在卡片打开时预选全部推荐项;单选和已回答卡片的行为保持不变。 @yudshj
  • 聊天中的相对文件链接按点击时会话当前工作目录打开,进入 worktree 后不再误开原项目文件。 @turtle2099
  • Markdown 中单个 ~ 保持字面显示,只有 ~~ 才形成删除线。 @turtle2099
  • 修复跨行 $$ 数学块的渲染,保留首行公式内容及公式后的正文。 @Chinesezjc
  • 本地 Markdown 图片被覆盖后,新消息和新打开的预览会显示当前文件,而不是复用旧图。 @turtle2099
  • 修复裸 URL 将后续中文标点及正文一并识别为链接的问题 @turtle2099
  • 修复 Markdown 中 Windows 文件路径的反斜杠被转义删除,导致链接或图片打开错误位置的问题。 @turtle2099
  • 交付卡与收尾回复中的文件引用覆盖整轮,包括回复之后的交付与写入;present 说明等待用户回答前应先提供文件链接。 @yudshj
  • 修复部分结构体代码高亮导致页面长时间卡死的问题。 @yudshj
  • 修复输入框粘贴文件或文件夹路径时仅高亮目录前缀的问题。 @turtle2099
  • 断线或重连期间暂停聊天运行计时,连接恢复后按轮次起点恢复显示。 @turtle2099
  • 停止后补发的插话与新消息在轨迹中按日志顺序显示于助手输出之前,刷新和历史加载后仍保持一致。 @kermanx
  • 侧栏原生拖动使用独立主题背景预览,避免混入后方消息内容并保留排序。 @Stevring
  • 深色主题设置导航的悬停背景可见,选中态保持优先。 @turtle2099
  • 长问题和选项说明可原地展开与收起,内容区滚动时导航与提交按钮保持可见。 @yudshj
  • 修复 macOS 激活窗口时点击会话标题误触发重命名,正常双击重命名保持不变。 @turtle2099
  • 切换、打开或关闭侧栏文件标签时,标签栏从原滚动位置继续,不再先跳回最左端。 @turtle2099
  • 普通会话分支现在独立运行,不再被误识别为子智能体;真正子智能体仍保留创建者关系。 @Dudu-0223
  • 安装自托管 Git 插件时,HTTPS 无法读取而 SSH 可用时改用 SSH。 @turtle2099
  • 安装含 prepare 脚本的 Git 插件时,显示脚本授权和重试选项,不再仅报告未知错误。 @turtle2099
  • 审批提示明确说明是否向用户请求授权,避免模型误解 never 策略。 @turtle2099
  • 修复 macOS 持久 Bash 工具中感叹号被历史展开改写或导致命令超时的问题。 @grllll
  • 明确告知模型:用户跳过提问后应继续,不重复追问,也不能把跳过当作授权。 @turtle2099
  • 修复一个技能根目录读取失败导致其他目录中的技能也不可用的问题,保留可用技能并提示不完整的发现结果。 @Dudu-0223
  • 配置项目按自身 ESM 规则解析插件依赖子路径、包内导入和自引用。 @shigma
  • Web Fetch 可读取编码声明混含 UTF-8 的可读页面。 @Dudu-0223
  • 修复工具调用因无歧义的可选参数而失败的问题:grep 接受空 include。 @turtle1999
  • 修复以管理员权限运行 DSH 或在 Windows Sandbox 中使用时,受限沙箱命令无法启动的问题;文件写入和删除限制保持不变。 @huoyaoyuan
  • Windows 已安装应用显示正确的发布者名称,卸载列表中的应用名称不再附带版本号。 @winewill
  • 改善 Windows 安装器进度页绘制、拖动与窗口激活表现,恢复系统最小化动画,并让标题按钮在原区域松开时触发。 @winewill
  • 桌面 Host 完成任务清理并确认关闭后立即退出,避免遗留事件循环句柄阻塞更新安装。 @turtle2099
  • macOS 桌面更新在确认前等待退出全屏,安装失败后恢复工作区;退出全屏超时则保留任务并提示重试。 @winewill
  • 桌面更新提示改为窗内视图,后台结果更新不再抬升原生子窗口;更新提示随应用浅色或暗色主题显示。 @winewill
  • 修复 macOS 桌面端会话头部菜单与按钮之间出现过大空隙的问题。 @turtle2099
  • 修复 macOS 原生目录选择框初次显示后灰显、目录无法点击的问题。 @EricMoin

其他变更

  • DSH 的最低 Node.js 版本提高至 24.9;使用旧版 Node.js 的用户需先升级运行时。 @tianyicui
  • SDK 提供与 Web 模式一致的文件交付、问答、调度、技能和上下文能力,并支持问答回调与操作审批。 @koalazf99
  • 修复会话创建、恢复和销毁期间的事件发布与清理顺序;初始化事件可实时订阅,取消时等待已取得资源完成清理。 @kermanx
  • Session API 新增独立接口,可分别读取快照和持续订阅会话事件日志、运行状态以及事件投影数据。 @imccyu
  • 自定义插件需迁移到异步会话投影句柄,旧注册释放函数与按 key 读取保留兼容和弃用提示;审批状态恢复要求组合提供 sessionProjections 并等待服务激活。 @kermanx, @Magolor
  • 整单元 JSON 与 SQLite 存储支持读取领域明确声明的兼容旧版本,并以新版本格式写入。 @Magolor
  • Web Fetch 不再拒绝非公网地址,可用于代理与内网,部署应自行限制网络访问。 @turtle2099
  • Cordis Timer 实现同步上游,自定义插件需适配返回值 @shigma
  • Cordis Fiber 提供统一的原始配置、候选配置解析和生效配置访问,设置编辑与热更新使用一致的配置来源。 @shigma
  • 桌面启动故障可获取诊断报告,并附上有界的近期插件操作记录,便于排查问题。 @winewill
  • macOS Computer Use 新增系统与应用权限引导,支持长按并改善应用启动;应用授权可跨重启保留。 @CreatixChu, @koalazf99
  • Headless 支持实验性 Auto 自动审核 @tianyicui
  • Ralph 循环与会话搜索继续随包分发,不再显示在实验性列表。 @ZiyaZhang
  • 升级 pi-ai 至 1.3.0,并同步模型目录、端点与推理回放规则;完整工具参数格式错误会在执行任何工具前终止该次响应。 @tianyicui
  • 未声明容量的自定义模型默认上下文与最大输出调整为十进制 1M/128K;较小端点应显式覆盖容量以避免延迟压缩。 @LegGasai
  • Agent 在提示词组装与 pre-step 前固定本步模型,重试保留同一选择;插件应通过 agent.model 选择模型,agent/request 不再允许改路由。 @kermanx
  • 「自定义插件市场」更名为「自定义插件索引」,发现页读取用户添加的索引文件,索引生成器排除标记为 private 的版本、标签与默认分支包。 @turtle2099, @turtle1999
  • 官方组合包列表改由 @deepseek-ai/dsh-official-bundles 导出;自定义集成需更新原 app-boot 的相关导入。 @turtle2099
  • 工具可按步骤条件启用,模型声明、PTC 绑定与执行准入保持一致;插件需迁移 tools.resolve/executable 与提示词组装接口。 @LegGasai
  • Node PTC 新增 VM Script 模式,支持顶层 await、动态导入和表达式结果,可独立开启跨调用状态保留;默认仍逐次执行,脚本顶层不支持 return 或 using。 @kermanx
  • 原生与 PTC 工具执行拆为按 Agent 作用域选择的插件;PTC 通过配置 overlay 启用,旧 tools.mode 与 DSH_TOOLS_MODE 需迁移。 @kermanx
  • PTC Node 控制通道改用 birpc;自部署 bootstrap 与 SSH helper 必须同步升级,SSH 协议从 2 升为 3。 @kermanx
  • PTC Mode 中由调用方取消的 run_code 改为返回 ABORTED,而非 CODE_RUN_FAILED;SDK 和 Session 消费方需更新取消分类。 @kermanx

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

Full Changelog: dsh-v0.2.1-rc.4...dsh-v0.2.2-alpha.2

Don't miss a new deepseek-harness release

NewReleases is sending notifications on new releases.