9月10日消息,DeepSeek Harness 发布 v0.1.5 系列的首个候选版本 v0.1.5-rc.1。这次更新做了两件事:把内置模型目录里的默认模型从 V4 Flash 换成 V4.1 Flash,把实验性的多智能体功能 Agent Teams 以普通 npm 包的形式公开。 Agent Teams 干的事是让一个会话里的 agent 当 Lead,创建具名 teammate、跟它们交换持久消息、共用一块任务板。协作状态写进会话日志,所以崩溃和重启之后还在。
@tianyi 称,新版本与 DeepSeek V4.1 Flash「模型训练深度集成」,该模型「已在 DeepSeek Harness 的各种配置下经过专门训练和优化」,Agent Teams 同样如此。这些说法目前只见于官方渠道,代码和文档里还没有对应的说明,官方更新公告里讲的也是同一套。
新会话的默认模型换成了 V4.1 Flash
发布说明写明,新会话默认使用 V4.1 Flash;配置文件里显式指定了模型,就以配置的值为准。也就是说,这个默认值只对没有在配置里指定过模型的用户生效。
在候选版本的 llm-deepseek 适配器里,内置目录的第一项是 deepseek-flash,显示名 DeepSeek-V41-Flash。它支持文本和图片输入,上下文窗口 100 万 Token。改版前目录里只有三条:文本的 V4 Flash、V4 Pro,以及支持图片的 V4 Flash Vision Exp。
版本号这次从 0.1.3 直接跳到 0.1.5,npm 与 GitHub 上都没有 0.1.4。这一跳没有出现在官方说明里。截至9月10日14时,npm 上 latest 与 next 两个标签都指向 0.1.5-rc.1,没有不带后缀的正式版。
这次换默认,多出来的是会话中途改系统提示词
新默认模型跟原来那三条的差别,除了图片输入,还有系统提示词的处理方式。
新版目录里,只有 deepseek-flash 声明了 systemPromptUpdate: in-history,另外三个模型都没声明。这个模式的意思是:会话中途要改系统提示词,新提示词会追加在已经缓存的历史后面,而不是把开头那条 system 消息改写一遍。DeepSeek Harness 的文档把动机写得很直接:这样改不会破坏 KV Cache。对长会话来说,前缀缓存不失效就省掉一次重算,也省掉那段等待。
这个模式不是这一版才有的。它在9月8日的 0.1.5-alpha.1 里就已经随「支持动态修改系统提示词且不破坏 KV Cache」发布。这一次,它跟着 V4.1 Flash 一起成了默认。
Agent Teams 要自己装,也不会自己启动
发布说明的口径是,实验性 Agent Teams 包现在可以从 npm 安装,用户需要显式添加 profile,默认不启用。公告提醒了一句:用起来会多花 Token。
跟 Agent Teams 直接相关的包有四个。dsh-experimental-agent-team 管 roster、持久消息和共享任务 DAG,dsh-experimental-tool-agent-team 提供模型侧的 Team 工具,dsh-experimental-client-ui-agent-team 负责 Web 界面的 roster 与任务板,dsh-experimental-agent-team-profile 是把这些叠在 dsh-base 之上启用的 profile 层。四个包的 npm 发布时间与候选版相隔不到两分钟。领域包自己不提供工具,模型能用的九个工具由工具包挂载。
启用的方式是往已经初始化的 profile 里加 profile 层包,文档给出的命令是 dsh plugin --profile headless add @deepseek-ai/dsh-experimental-agent-team-profile,然后跑一个要求 Lead 把工作分派出去的任务。Team 的设定是:一个会话里的 agent 当 Lead,创建具名 teammate 处理被分派的工作,彼此交换持久消息,用公共任务板跟踪共享任务。
九个工具分四类:创建 teammate、发消息、查看与等待成员状态、管理任务板。只有 Lead 能创建和中断 teammate,其余操作任何成员都能用。文档给的最小示例是让 Lead「创建一个名为 reviewer 的 teammate 检查 diff,再把变更摘要发给 reviewer」。这些工具的固定策略是只在明确要求团队或 teammate 时才创建成员,普通任务不会自己长出支队来。
持久性靠的是日志。roster、邮箱和任务状态没有单独的存储,每次都是从 Lead 会话日志里回放出来;成员之间的消息先落盘再投递。所以崩溃、reload 和中断都不会让消息丢掉,离线的 teammate 恢复后会收到排队的消息,排队的消息不重发。任务板上每次修改都带版本号,拿旧副本去改会被拒绝,两个成员不会互相覆盖成果。这也是它跟一次性委派的子代理的分界:teammate 本身,以及它收到的消息、领到的任务,都跨调用存在。
代价是它只在本进程内做保证,文档没有承诺跨进程投递。这套功能还需要持久会话存储才能激活。单支团队的 teammate 数量上限默认是 8,任务板、消息队列和单条消息另有容量上限。文档写明三种情形不在支持范围内:teammate 需要独立的工作目录、多个进程协调同一支团队、任务 owner 需要自动释放。装上这一层之后,同名的旧全局 subagent 控件会被取代,只留下一次性的委派工具。
公告说 v0.1.5 已发布,npm 里其实还是 rc.1
DeepSeek 团队在 9月10日的更新公告里,把 v0.1.5 的内容归成六块:V4.1 Flash 适配、文件处理与预览、插件的标准化 UI 入口、长会话性能、子 Agent 通信与任务控制,加上实验性的 Agent Teams。公告开头写着「DeepSeek Harness v0.1.5 版本现已发布」,还说 V4.1 Flash 的专项训练覆盖标准、程序化工具调用(PTC)和极简三种模式。
不过 npm 里的实际情况跟这句话有出入。发稿前再查了一次:latest 和 next 两个标签指向的还是 0.1.5-rc.1,GitHub 上最新的 release 同样是 rc.1——北京时间9月10日 11 时 09 分发布,带着 prerelease 标记。也就是说,公告说「已发布」,用户现在装到的仍是候选版。
文件上传与侧边栏预览
公告写明,Web 界面现已支持上传图片、PDF 等多种类型的文件,模型可通过文件工具按需读取。右侧 Sidebar 支持浏览工作区文件树,直接预览 Markdown、HTML、PDF、常见代码和图片格式的文件。
模型产出的文件有三种去处:在 Sidebar 中查看、用系统默认应用打开、到文件管理器里找到它。这几项在 rc.1 的发布说明里没有展开,是公告补充的内容。
插件在主界面左右两侧有了标准接入位置
公告称,Web 界面已在左右两侧建立标准化的插件扩展入口。左侧 Sidebar 的「新会话」和「工作区」之间可注册全局入口,并与中央内容面板联动;右侧 Sidebar 支持插件注册新的 Tab 类型和内容页面,以多标签、分栏与全屏方式展示预览内容或工具界面。
按公告的说法,这只是「一切皆插件」路上的一步——后面还排着内置插件管理面板、更多扩展入口,以及让插件代码更灵活、更可靠地调用内置功能。
长会话性能与子 Agent 双向通信
长会话的加载、恢复和持续对话性能都有优化,内存占用降低,存储格式也做了优化。交互上的改进包括内容折叠、完整历史轮次导航,以及正文宽度、字号、运行统计这些显示选项。
子 Agent 这边的动作更多。公告称,父 Agent 和可继续对话的子 Agent 能双向通信,执行中可以补充信息、调整任务方向;用户可以排队发消息,也能编辑、删除还没处理的消息,或者插话、叫停任务;主 Agent 还能给子 Agent 挑模型和推理强度。对模型和 Harness 的反馈,公告给出的渠道是 UI 里的点赞、点踩,以及 /feedback 命令。
安装方式
想快速体验,装好 Node.js 之后跑一条 npx @deepseek-ai/dsh web 就能启动 Web UI;要看完整源码,去 github.com/deepseek-ai/deepseek-harness 按仓库说明安装。