← 返回更新日志

DeepSeek Harness dsh-v0.2.2-alpha.2 预发布

2026-10-28 · GitHub 原文
<h3 id="en-v0.2.2-alpha.2-community">新增功能</h3> - 插件管理页支持展示富文本详情,并改善页面布局和导航行为。由 @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 完成 - 减少子代理指引中的休眠和重复轮询:仅在结果仍未返回时结束当前轮次,并等待完成通知。由 @Chinesezjc 完成 - 远程连接默认启用 WebSocket 压缩,减少大量历史消息的传输量;可通过 `websocketCompression` 禁用。由 @imccyu 完成 - Web 静态资源支持 ETag 重新验证,未变化的文件返回 304,避免重复下载。由 @imccyu 完成 - 普通 Word 编辑在保存并检查内容和格式后即可交付,无需进行不必要的 ZIP、XML 或元数据检查。由 @tianyicui 完成 - 加快 Web 预览中源码编辑器等懒加载组件的首次加载速度。由 @turtle2099 完成 - 加快带有字面目录前缀的文件搜索,通过跳过无关目录提升速度,同时保持结果和排序不变。由 @kermanx 完成 - 支持平移超出视口的图片,并通过应用内拖放或桌面原生拖动传输原始文件。由 @std4453 完成 - 手机和平板用户打开文件后会收到文件已在其他设备打开的提示;所有设备均显示失败通知,桌面端成功时保持静默。由 @Stevring 完成 ### 问题修复 - 分别为全局和项目 AGENTS.md 链设置预算,避免项目指令挤出全局指引;同时包含两条链的消息最多可使用两倍的 maxBytes。由 @ZiyaZhang 完成 - 切换到较小上下文窗口前,先使用原模型压缩历史;压缩失败时停止切换请求并保留原请求头。由 @Dudu-0223 完成 - 通过 OpenAI 兼容 Chat Completions 接口调用 Gemini 时,保留工具调用所需的思考签名,并在后续请求中带回,避免因缺少签名而被拒绝。由 @turtle2099 完成 - 系统提示词未变化时,新模型请求可复用已有上下文前缀缓存,避免不必要的缓存失效。由 @mektpoy 完成 - 缺少所需凭据时隐藏 Web 搜索工具;使用新版 Web API 的抓取工具也遵循凭据就绪状态。由 @LegGasai 完成 - 应用关闭期间保留已保存的 Auto 权限和审批策略,不再意外切换为完全访问。由 @tianyicui 完成 - 用户插话现在可以立即解除后台输出等待并返回当前输出,同时不会停止后台任务。由 @mektpoy 完成 - 修复预设往返切换后委派工具暂时不可用的问题,并使委派操作遵循当前 Agent 的工具限制。由 @Dudu-0223 完成 - 可从 Web 目标栏继续执行被阻塞的目标;已耗尽轮次上限的目标仍需先提高上限。由 @turtle2099 完成 - `sdk-minimal` 在模型请求和工具执行前保存会话恢复记录;保存失败时停止相关操作,以提升短会话中断后的恢复能力。由 @LogosVeritas 完成 - 本地文件工具会将开头的 `~` 或 `~/` 展开为宿主主目录,同时保留路径其他位置的波浪号字面含义。由 @turtle2099 完成 - 多选问题现在会预选所有推荐选项,而不是仅预选第一项;单选问题和已回答卡片的行为保持不变。由 @yudshj 完成 - 相对聊天文件链接在点击时根据会话工作目录解析,工作树会话不再打开原始检出目录中的文件。由 @turtle2099 完成 - Markdown 中的单个波浪号保持字面显示,只有两个波浪号才会形成删除线。由 @turtle2099 完成 - 修复多行 `$$` 数学公式渲染问题,保留首行公式内容及其后的正文。由 @Chinesezjc 完成 - 本地 Markdown 图片被覆盖后,新渲染的消息和预览会显示当前图片。由 @turtle2099 完成 - 修复裸 URL 错误地将后续中文标点和正文包含在链接中的问题。由 @turtle2099 完成 - 保留 Windows 路径 Markdown 链接和图片中的反斜杠分隔符,使其解析到正确位置。由 @turtle2099 完成 - 交付卡和收尾回复中的文件链接覆盖整轮操作,包括回复之后的交付和写入;`present` 指引要求 Agent 在等待用户输入前先提供文件链接。由 @yudshj 完成 - 修复某些结构体定义的语法高亮导致页面长时间卡死的问题。由 @yudshj 完成 - 修复在输入框中粘贴文件或文件夹路径时,只高亮到目录前缀的问题。由 @turtle2099 完成 - 断线或重连期间暂停聊天运行计时,并在重新连接后恢复耗时显示。由 @turtle2099 完成 - 在 Trajectory 中按日志顺序将保留的插话和后续输入显示在助手输出之前,刷新和加载历史记录后仍保持一致。由 @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)但内容有效的 UTF-8 页面。由 @Dudu-0223 完成 - 修复工具调用因无歧义的可选参数失败的问题:允许 grep 使用空的 include 参数。由 @turtle1999 完成 - 修复 DSH 以管理员身份运行或在 Windows Sandbox 中使用时受限沙箱命令无法启动的问题,同时保留文件写入和删除限制。由 @huoyaoyuan 完成 - 修正 Windows 已安装应用的发布者名称,并使卸载列表中的应用名称与版本号分开显示。由 @winewill 完成 - 改善 Windows 安装器进度显示、拖动和激活表现,恢复原生最小化动画,并在原按钮区域内松开鼠标时触发标题栏按钮。由 @winewill 完成 - 桌面 Host 在确认任务清理完成后立即退出,避免残留事件循环句柄阻止更新安装。由 @turtle2099 完成 - macOS 桌面更新在确认前退出全屏,以便安装失败后恢复工作区;如果退出全屏超时,则保留任务并显示重试指引。由 @winewill 完成 - 桌面更新提示改为在应用窗口内显示,后台结果不再抬升原生子窗口,并根据应用的浅色或深色主题显示。由 @winewill 完成 - 修复 macOS 桌面端会话头部菜单与触发按钮距离过大的问题。由 @turtle2099 完成 - 修复 macOS 原生目录选择器首次显示时处于非活动状态、无法点击目录的问题。由 @EricMoin 完成 ### 其他变更 - 将最低支持的 Node.js 版本提升至 24.9。升级 DSH 前请先升级旧版 Node.js 运行时。由 @tianyicui 完成 - SDK 提供与 Web 模式一致的文件交付、问答、调度、技能和上下文能力,并支持问答回调和操作审批。由 @koalazf99 完成 - 修复会话创建、恢复和销毁过程中的事件发布与清理顺序;初始化事件可供实时订阅者获取,取消时等待已获取资源完成清理。由 @kermanx 完成 - 新增独立的 Session API,可读取快照,并持续订阅会话事件日志、执行状态和事件投影数据。由 @imccyu 完成 - 自定义插件迁移至异步持久化 Session 投影句柄。旧版注册释放函数和按 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 完成 - 在提示词组装和 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,并迁移 `tools.mode` 和 `DSH_TOOLS_MODE` 的使用方式。由 @kermanx 完成 - PTC Node 控制通道改用 birpc;自部署 bootstrap 和 SSH helper 必须同步升级,SSH 协议从 2 升级至 3。由 @kermanx 完成 - 在 PTC 模式下,由调用方取消的 `run_code` 调用现在返回 `ABORTED`,而不是 `CODE_RUN_FAILED`。SDK 和 Session 使用方需要更新取消处理逻辑。由 @kermanx 完成 完整变更日志:[dsh-v0.2.1-rc.4...dsh-v0.2.2-alpha.2](https://github.com/deepseek-ai/deepseek-harness/compare/dsh-v0.2.1-rc.4...dsh-v0.2.2-alpha.2)