DSH / Atlas
2026-09-18implementedarchitecturearchived 2026-09-30

Enable Agent Teams with one bundle

通过一个组合包启用 Agent Teams

Separate Agent Teams and Agent Teams Web switches require users to discover that tools and their browser controls need both selections. The package split exposes composition details in the plugin page without helping users choose a different Team capability.

English

Problem

Separate Agent Teams and Agent Teams Web switches require users to discover that tools and their browser controls need both selections. The package split exposes composition details in the plugin page without helping users choose a different Team capability.

Decision

@deepseek-ai/dsh-experimental-agent-team-profile carries the Team service, tools, and browser UI in one optional bundle. Its patch retains the agent-team, tool-agent-team, and ui-agent-team row ids, so profile patches can still configure individual rows. The UI package has an inert Host entry; its browser entry mounts only in a Web Client, and headless does not start a Web server.

The separate @deepseek-ai/dsh-experimental-agent-team-web-profile package is absent from the workspace and release family. The plugin page exposes one Team selection, disabled by default.

This decision supersedes the separate Host/Web composition in the package publication note and the two Team selections in the optional-bundle note. Both remain active for publication, dependency isolation, promotion, and installation ownership. The archived Web-controls note records the original split; its historical text remains frozen.

Alternatives considered

Keep two switches and explain their dependency. Users still need two selections for one feature, and either selection alone leaves an incomplete browser experience.

Combine the entries in the generic profile loader or plugin manager. Recognizing Team package names there would make shared loading or presentation code own feature-specific composition. The bundle patch already declares the required rows and dependencies.

Consequences

Users enable tools and browser controls together. Separate installation-level selection of a UI-only Team bundle is unavailable; custom profiles still control individual patch rows. Headless installations include the UI dependency graph even though they do not mount its browser entry.

Existing profiles that select the removed Web bundle have an upgrade compatibility gap: startup fails when that package cannot be resolved. Bundle composition provides no automatic rewrite of those saved selections. Compatibility handling remains separate from this composition decision.

Verification

The plugin-manager browser test observes the Team controls appear after one switch, reads the roster and task board through Remote, and observes their removal after disabling the bundle. The Team-panel browser test covers the read-only task board; the built headless CLI test covers delegation without a Web server. These scenarios do not cover upgrading a profile that still selects the removed Web bundle.

中文

问题

独立的 Agent Teams 与 Agent Teams Web 开关要求用户自行发现:工具与浏览器控件需要同时选中两项。包的拆分把组合细节暴露在插件页上,却没有帮助用户选择不同的 Team 能力。

决策

@deepseek-ai/dsh-experimental-agent-team-profile 在一个可选组合包中携带 Team 服务、工具与浏览器 UI。其 patch 保留 agent-team、tool-agent-team 与 ui-agent-team 配置行 id,因此 profile patch 仍可单独配置各行。UI 包的 Host 入口不执行逻辑;其浏览器入口只在 Web 客户端中挂载,headless 不会启动 Web 服务。

独立的 @deepseek-ai/dsh-experimental-agent-team-web-profile 包不在 workspace 与发布系列中。插件页提供一个 Team 选项,默认关闭。

本决策取代包发布记录中的独立 Host/Web 组合方式,以及可选组合包记录中的两个 Team 选项。两条记录仍负责发布、依赖隔离、promotion 与安装方所有权。已归档的 Web 控件记录记载原始拆分方式,其历史文本保持冻结。

曾考虑的替代方案

保留两个开关并解释依赖关系。 用户仍须为一个功能选中两项,单独选中任意一项都不能提供完整的浏览器体验。

在通用 profile loader 或插件管理器中合并入口。 在这些位置识别 Team 包名会让共用的加载或展示代码负责功能特定的组合。组合包 patch 已能声明所需配置行与依赖。

后果

用户同时启用工具与浏览器控件。安装层面不再提供仅选择 Team UI 组合包的入口;自定义 profile 仍能单独控制 patch 配置行。headless 安装包含 UI 依赖图,但不会挂载其浏览器入口。

选中了已移除 Web 组合包的已有 profile 存在升级兼容性缺口:无法解析该包时,启动会失败。组合包本身不会自动改写这些已保存的选择。兼容性处理与本组合决策分开。

验证

插件管理器浏览器测试观察一次开关后 Team 控件出现,通过 Remote 读取成员列表与任务看板,并观察关闭组合包后控件移除。Team 面板浏览器测试覆盖只读任务看板;构建后的 headless CLI 测试覆盖无需 Web 服务的委派。这些场景不覆盖仍选中已移除 Web 组合包的 profile 升级。