DeepSeek Harness v0.2.1-rc.1:弃用 invariant 与 both
v0.2.1-rc.1
推荐理由
本版本移除了 invariant 导出、both 模式及 Agent Team 的 outbox 机制等关键接口,使用 SDK 或开发插件的用户必须检查并迁移代码,否则将导致构建失败或功能异常。请涉及二次开发或重度依赖插件生态的读者尽快评估升级影响。
中文 | English
作为 0.2.1 系列的首个候选版本,本版本汇总了自 v0.2.0-rc.2 以来的主要用户和开发者相关变更。
新增功能
- 允许用户从“自定义插件索引源”中发现和安装插件。 @turtle1999
- 插件管理页新增「让 Agent 创建插件」入口,可保留草稿进入创造模式;发送需求后才开始执行。 @ZiyaZhang
- 支持插件启用、停用、卸载及更新后的依赖同步;启用热重载时,更新或重新安装的可替换插件直接生效,无法热重载时提示重启。 @imccyu, @turtle1999
- 可选插件支持极简模式,Official 插件列表支持按需安装与当前发布版对应的 Claude Code 和 Codex 组合包,并可用于 headless、SDK 和 ACP profile。 @tianyicui, @turtle2099
- 新增实验性插件的 Session 状态记录接口,供插件写入和读取自己的会话记录。 @tianyicui
- 新增实验性 Claude Code Mods 兼容层。目前阶段的主要目的是验证 Claude Code Mods API 功能大致为 DeepSeek Harness 插件的一个子集,而非为用户提供实际的完整兼容性。 @tianyicui
- 新增实验性开发者工具组合包,提供会话原始日志、聊天分组与正文的双向定位,以及内嵌 NodeJS 调试工具;内嵌 DevTools 目前使用英文界面。 @imccyu, @turtle2099
- 新增实验性思考过程机器翻译插件,可在插件页启用,选择 Bing、Google 或付费 DeepSeek Flash。 @tianyicui, @ZiyaZhang, @imccyu
- 新增实验性 Git Worktrees 插件,可在插件页启用,由 Agent 创建并进入独立的 Git checkout。 @tianyicui, @turtle2099
- 自定义模型 API 支持通过UI中配置各模型的推理等级,无需手动修改配置文件。 @LegGasai
- pi-ai 路由支持按模型能力处理会话中的系统提示词更新,以及工具的动态新增和移除。 @Tuyixiang
- 极简模式支持读取图片和自动压缩长对话,Web 与桌面端可通过 /compact 指令手动压缩上下文。 @LogosVeritas
- 全局指令支持读取共享 agents 目录中的 AGENTS.md,可通过 DSH_AGENTS_HOME 指定目录。 @tianyicui
- 新增 working_directory 工具,并为 TypeScript/Python SDK 提供会话工作目录的读取和切换接口。 @tianyicui
- SSH 新增独立可执行的 helper 运行时,支持远端文件操作、进程、终端、沙箱和 Node PTC。 @LegGasai
- Web 版支持在本机 HTTP 访问时登录 DeepSeek 账号。 @lsdsjy
- 支持识别已发送消息中的密钥和令牌,并默认脱敏按需查看。 @ZiyaZhang
- 新会话支持预填未发送的提示;恢复草稿或切换工作区时保留文件、目录和会话引用。 @imccyu
- 新增工作步骤收起时机设置,可选择回答结束后收起,或在下一条普通消息到来时收起。 @imccyu
- Markdown 文件预览将 YAML 头部元数据显示为清晰的字段列表。 @turtle2099
体验优化
- 改善自动化任务详情在窄窗口中的布局,关联会话入口会按可用空间收起为图标。 @turtle2099
- 子智能体可通过配置选用独立 Agent Preset 预设,统一设置角色和工具; @grllll, @Dudu-0223
- 改进子智能体的委派与等待指引:达到委派层数上限时提前提示,等待子任务期间不再消耗新的目标执行轮次。 @ZiyaZhang, @turtle1999
- 组合包详情页显示代码来源和当前版本,便于查看安装来源及重装所需的信息。 @turtle1999
- 插件安装结果显示实际安装版本;因新版本冷却策略安装较旧版本时,提供说明和精确版本安装方式。 @turtle2099
- 工具调用在准备阶段即可显示已到达的命令说明、文件路径和内容生成进度。 @imccyu
- Shell 和插件安装详情支持横向查看及复制完整命令;后台 Bash 调用可展开输入和启动回执。 @tianyicui
- Web 终端更可靠地处理连续输入、粘贴和尺寸调整,并保留进程退出前的最后输出。 @LegGasai
- PTC Mode 的 Node 执行环境新增可选的 in-memory 模式,多次运行代码可复用变量、函数和已导入模块。 @CreatixChu
- 改善大量会话的列表加载与 @ 会话搜索体验。 @turtle1999, @imccyu
- 优化自动会话标题生成,对同主题的追问、补充和继续请求保留已有合适标题。 @tianyicui, @ZiyaZhang
- 侧栏 Fork 和子代理目录浏览新增迁移提示,遇到需要迁移的会话时引导用户先打开原会话。 @imccyu
- 优化侧栏展开规则,让运行中和等待回应的会话更容易找到;会话菜单支持复制会话 ID。 @turtle1999, @imccyu
- 支持分别设置界面正文、代码与工具输出、侧栏终端的字体和字号;桌面端可通过 Cmd/Ctrl + 加号或减号统一调整字号。 @turtle2099, @koalazf99
- 优化会话和工作区的悬停操作,统一卡片与菜单样式,并改善页头排列及插件页、自动化任务页的窄窗口布局。 @Yifffan, @Kingwl
- 语音输入新增麦克风选择,可在插件详情页选择输入设备,并查看所选设备的实时输入电平。 @yudshj
- 允许远程主机访问的 Web 配置使用页面内目录选择器,不再在服务器上弹出原生目录对话框。 @oraluben
- 优化含超长源码行的文件预览性能,超长行使用无高亮文本展示,普通行继续进行语法高亮。 @turtle2099
- Office 文档任务按需加载编辑、渲染和导出指引,减少简单修改及 PDF 导出后的无关检查与预览,并避免在回复中引用已删除的预览图。 @yudshj
- DeepSeek 账号的模型列表随账号可用模型更新,并隐藏当前客户端版本不支持的模型。 @LegGasai
- 模型设置更清楚地提示凭据来源和检测状态,支持按需显示输入的 API Key。 @Magolor
问题修复
- 目标编辑支持多行文本和 Shift+Enter 换行,并改善目标与排队消息编辑器的中文输入及宽度适配。 @turtle2099
- 修复目标任务停止、恢复并再次停止后,新消息滞留队列的问题。 @turtle2099
- 修复 Trajectory 将等待、流式输出或重试中的请求标为完成,以及压缩任务提前显示结果的问题。 @turtle2099, @kermanx
- 修复后台工作流仍在运行,却因父级工具步骤或对话轮次正常结束而被标为已中断的问题。 @turtle2099
- 恢复可继续子代理输入栏的图片粘贴和拖放,支持运行中追加图片和完成后发送图片续发消息。 @ZiyaZhang
- 应用意外退出后,未完成的任务会明确显示“任务已停止”,避免被误认为正常完成。 @turtle2099
- 修复部分 Bash、PowerShell 和文件修改记录无法展开输出或差异的问题。 @turtle2099
- 修复凭据、配置和技能文件监听器关闭后的未捕获异常,以及 Agent 关闭时资源提前释放的问题。 @tianyicui, @kermanx
- 修复部分 Windows 环境下,持久 PowerShell 在大量输出滚屏后迟迟无法结束当前调用的问题。 @Chinesezjc
- 修复 Windows Desktop 终端退出后,PTY 后台工作进程未随之清理的问题。 @winewill
- 减少 Linux 下启动命令前的重复检查,降低命令启动开销,并改善较旧 systemd 环境的兼容性。 @imccyu
- 修复命令执行失败时,未呈现有效的状态信息。 @yudshj
- 减少新建与恢复多个终端时的重复查询,并避免失效终端在切换面板后反复重试。 @LegGasai
- 改善 PTC Mode 中缺失的部分指引,并统一 SDK、Web 和 headless 的模型身份说明。 @koalazf99
- 关闭代码工作视图后仍可选择标准、创造和自定义模式;内置 PTC/极简默认值改为标准,已有会话保持原模式。 @ZiyaZhang
- 修复启停插件时其他插件的样式被移除、需要刷新页面才能恢复的问题。 @turtle2099
- 启用开发目录监听后,HMR 可刷新包入口和依赖映射配置,并正确重载仍在运行的原入口。 @imccyu
- 修复在插件页启用或停用插件后,已打开会话的 / 菜单未更新技能列表的问题。 @grllll
- 登录请求未收到响应时显示网络检查提示,便于区分连接问题与其他登录失败。 @lsdsjy
- 修复模型响应流停止输出、且底层传输不响应取消时,请求超过空闲超时仍一直挂起的问题。 @tianyicui
- 修复插件包元信息不可读,或辅助请求扩展准备失败时,整个 DeepSeek 请求被阻断的问题。 @turtle1999, @turtle2099
- 修复模型设置刷新期间仍可基于旧数据编辑或删除配置,导致刚保存的选择未出现在编辑器中的问题。 @tianyicui
- 凭据文件中出现 DSH 不使用的额外字段时,不再阻止应用启动。 @turtle2099
- 桌面端默认使用系统分配的端口,避免 Windows 保留端口范围导致应用无法启动。 @turtle2099
- 修复展开右侧栏后,会话标题栏中的后台任务列表被侧栏遮挡或裁切的问题。 @turtle2099
- 修复 Windows Desktop 图片预览遮罩及关闭按钮与标题栏重叠、侧栏按钮悬停圆角不一致的问题。 @turtle2099
- 修复 Windows 安装器对磁盘根目录的校验,拒绝带重复末尾路径分隔符的根目录写法。 @tianyicui
- 修复 macOS 应用的小尺寸 Finder 图标,以及复制和替换应用提示中的图标损坏问题。 @07akioni
- 修复 Windows 和 Linux 下右侧栏收起时,在输入框按 Page Up 导致整个界面向左偏移的问题。 @imccyu
- 修复侧栏列表重排或重新显示后,会话加载动画不同步的问题。 @turtle2099
- 修复 /goal、/plan 等命令与参数交界处的输入异常及草稿与显示不一致,支持整体选中、删除命令,并在撤销或刷新页面后恢复。 @LegGasai
- 修复切换会话、收起工作过程或发送后续消息时,对话区域出现大块空白、滚动跳动的问题。 @imccyu
- 修复重启应用后部分会话无法继续,以及切换到 DeepSeek 后因历史消息兼容问题导致请求失败的情况。 @imccyu, @yudshj
- 修复 macOS 添加工作区时目录选择器无法粘贴目录路径,以及取消选择仍添加工作区的问题。 @turtle2099
- 修复原预设被删除或调整后,恢复空白会话、切换工作区可能失败的问题。 @LegGasai
- 修复卸载会话存储插件时,最后的会话记录可能丢失的问题。 @turtle1999
- 修复本地 SenseVoice 语音识别开启 VAD 后,录音开头被截断、首字或音节丢失的问题。 @yudshj
- 修复远程 Web 在网络拥塞时被误判为断线,以及刷新后语言、主题等偏好丢失的问题。 @turtle2099, @oraluben
其他变更
- API Key 读取优先级变更:Web端/桌面端优先采用已保存的凭据;headless 默认改用环境变量和 .env,不读取已保存的密钥。 @Magolor
- 移除运行时 invariant 插件及各包的 ./invariant 导出;使用这些诊断入口的开发者需相应调整扩展或自定义 profile。 @turtle2099
- 子路径插件不再读取独立的 package.json,显示文本和图标须通过对应子路径导出;插件开发模板同步补齐本地化信息与图标。 @turtle1999
- 第三方插件的版本兼容性优先按 engines.dsh 判断;未声明时沿用原有规则。插件作者需检查声明是否覆盖支持的 DSH 版本。 @turtle1999
- 输入区统计扩展拆为 activity 和 usage 两个独立入口;覆盖旧 stats 整行的插件需要更新注册 ID。 @turtle1999
- 为用户消息、文本与图片展示、新会话页及模型选择器添加扩展位,支持插件定制对应内容。 @imccyu, @LegGasai
- 自动化任务改为 Web 内置能力,提醒工具按模式提供:标准、创造和 PTC 模式可用,极简模式和子代理不可用;旧实验组合包选择会自动清理,已有任务保留。 @Chinesezjc, @turtle1999
- 关闭计划审阅以补充修改意见时,直接结束当前轮次并等待用户反馈,避免额外调用模型。 @turtle2099
- 统一子代理执行与完成通知,工具立即返回 child ID;自定义 SDK runtime 需支持 session/wait。 @Dudu-0223
- Agent Team 消息改为直接投递目标 Inbox,移除独立 outbox、自动重试和重发去重;相关配置与结果字段需迁移。 @Dudu-0223
- Python PTC 接入 Session 文件沙箱策略;自定义组合需提供 sandbox 和 sandboxPolicy 服务。 @tianyicui
- 移除工具展示的 both 混合模式,仅保留 native 和 ptc;使用旧模式的配置与 API 调用需要更新。 @tianyicui
- 移除 agent-instructions 插件逐行 dshHome 配置,指令目录改从进程的 DSH_HOME 或默认目录读取。 @tianyicui
- 默认 SDK profile 从固定的编程 Agent 改为通用 AI Agent 身份,适用于一般任务。 @Dudu-0223
- 使用 --from-default-profile 重建已有自定义配置时,会替换该配置及其插件和设置。 @turtle2099
- TypeScript 和 Python SDK 支持 resume 功能,恢复已保存的会话,继续使用原有会话 ID 和工作目录。 @koalazf99
- Python SDK 的 Office 引擎和完整创作环境改为按需下载。 @yudshj
- 完善网关授权与连接机制,支持按调用方身份控制资源访问,并独立管理 API 连接及其交互参与方式。 @imccyu
- Web 支持通过 --public-url 指定显示、打开及提供给模型的对外访问地址,支持带路径前缀的反向代理入口。 @oraluben
- Web 支持绑定指定的 IPv4/IPv6 地址,并通过 --tls-cert 和 --tls-key 配置原生 HTTPS 监听。 @oraluben
- pi-ai 更新至 1.0.2,包含上游模型目录更新和适配器修复。 @tianyicui
- 更新第三方模型支持;Azure 提供方名称统一为 azure,使用旧名称 azure-openai-responses 的提供方配置需迁移。 @LegGasai
- 更新运行时工具、MCP 协议、图片处理和客户端渲染依赖,纳入兼容版本的安全修复。 @tianyicui
This first release candidate for 0.2.1 summarizes the major user- and developer-facing changes since v0.2.0-rc.2.
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
更进一步:量化金融体系
看懂新闻只是起点——沿量化金融路径,把它变成能交付的工程能力