协作中的新建 Issue
协作侧栏的“新建 Issue”打开内容优先的输入页。项目选择位于输入框顶部;悬停或键盘聚焦侧栏项目时,右侧“新建对话”按钮打开同一输入页并预选该项目。点击项目名称仍然进入看板。
@选择当前项目中的成员、智能体或小队。正文中第一个有效提及自动成为负责人,底部按钮显示所选名称。- 点击底部负责人按钮可以搜索、改选或取消分配。手动选择优先于正文提及;提及多人不会同时产生多个负责人。
#仅引用当前项目中的其他 Issue,不改变负责人。- 协作输入框不提供任务输入框的插件、计划模式和斜杠菜单。创建后进入所属项目的 Issue,后续可继续补充。
- 切换项目后,旧项目引用必须删除或重新选择,避免跨项目错误分配。
任务 Tab 中的本地项目会自动显示在“本地空间”下。重复读取和重新启动不会重复导入;远程代码项目不会被导入本地空间,已归档的协作项目也不会因同步重新出现。同名但不同身份的代码项目仍是不同项目。
本地负责人由 Executor 保存;云端负责人由后端保存。小队是项目协作小队引用,不是资源库智能体的 Team ID,也不意味着创建 Issue 时自动执行整个小队流程。
项目未添加执行环境时,新建 Issue 页面和创建弹窗不显示执行环境提示,仍可创建和人工处理 Issue。已添加设备离线或环境检查失败时,保留对应提示及配置、查看或重新检查入口。
创建协作项目
创建本地或云端协作项目时,“项目协作者”默认只包含当前用户,不会自动加入智能体。需要 AI 协作时,点击添加协作者,手动选择智能体;也可以先创建项目,再从项目设置的“智能体”页面添加。导入本地代码项目同样不会自动加入“当前设备智能体”。
修改已有 Issue 的负责人
在详情中选择或清除负责人后,点击负责人旁的“保存分配”提交修改。此时右上角不再重复显示保存入口。保存会同时提交当前详情中的其他修改;保存失败时保留草稿和保存按钮,可修正后再次提交。
桌面回归 collaboration-local-agent-dispatch 验证保存入口位于负责人状态行、仅出现一次,保存成功后消失,并确认实际智能体执行启动。
在讨论区直接转派
讨论输入框的发送按钮左侧提供 转派给,默认 保持当前。可以搜索并选择下一位成员,输入说明后点击 发送并转派;不填写说明时点击 转派,不会创建空评论。选择不会立即修改负责人,提交后才生效。
正文中通过 @ 选择用户时,自动选中第一位可被分配的用户;提及机器人不触发人工转派。手动改选负责人或选择 保持当前 后,后续修改提及不会覆盖手动选择。成功提交后,下一次讨论恢复自动选择。
评论发送失败时保留正文和所选负责人。评论已经发送、转派失败时,保留转派对象和错误提示,可直接重试 转派,不会重复发送已保存的评论。该入口遵循现有分配权限,转派成功后使用现有通知和分配动态。
桌面回归 collaboration-issue-assignment-activity 验证第一位提及联动、评论与转派持久化、无评论转派及分配历史。定向组件测试覆盖手动覆盖、权限限制、重复提交和失败恢复。
处理指派给我的 Issue
在项目看板中,将分组字段切换为 负责人,再从旁边的筛选框选择自己,即可查看分配给自己的 Issue。清除筛选后恢复显示全部负责人。分组选择是当前账户在当前项目中的个人偏好,刷新后保留;普通成员和只读成员也可以使用,不会修改项目的共享看板配置。共享状态列和卡片显示设置仍由项目管理员保存。
按标签分组时,同一 Issue 可显示在多个标签列中。同列拖动不会修改标签;跨列移动只替换来源标签并保留其他标签,移入“无标签”列会清空标签。
云端原生项目的 Issue 指派给成员后,可从收件箱或项目看板打开。其他成员指派时,桌面端会发送通知。
有编辑权限的用户可以通过详情状态选择或看板拖拽,直接开始、完成或重新开始 Issue。所有状态操作都无需填写信息,也无需提交验收表单。处理进展、结果说明和反馈统一通过评论、回复和附件沟通,状态变更保留历史记录。
需要 AI 帮助时,使用详情中的 新建任务 入口创建关联任务。任务保留当前分配关联;AI 交付可从关联任务中查看,不会自动替人变更 Issue 状态。
从动态里开始协作小组分配的任务
协作小组分配后,Issue 的负责人变为接手的成员。分配给你时,可以点击 让 AI 帮我处理 → 创建任务,或在分配给自己的活动下点击 回复并创建新任务。回复照常保存为评论,随后打开新的个人任务面板;指令包含 Issue 引用和分配内容,不包含“收到”等确认回复。确认设备、模型和工作区后发送,才开始执行。个人任务的交付保留分配关联,并回报该轮调度方。
纯 AI 分配完成后保留执行智能体为负责人,不再启动调度智能体总结。
归档 Issue
所有有编辑权限的 Issue 都可以在详情右上角的 更多信息 → 归档任务 中归档,无需先完成任务。按标签组织看板、没有“已完成”列时也可以使用这个入口。只读用户不显示归档操作。
- 单个归档:打开 Issue 详情,选择 更多信息 → 归档任务;已完成 Issue 也保留原有看板卡片和表格快捷入口。
- 批量归档:在看板 已完成 列标题中选择 归档已完成任务。
- 查看与恢复:打开项目的 已归档 Issue 抽屉,可以分页查看归档记录并逐项恢复。恢复后,Issue 回到归档前所属项目的活动列表。
归档父 Issue 时会同时归档它的子 Issue,确保任务树不会留下失去父节点的活动项;从归档列表恢复该父 Issue 时会恢复整棵子树。直接恢复某个被单独归档的子 Issue,只恢复该 Issue。云端原生项目、本地项目以及 GitHub/GitLab 外部项目使用同一套交互;外部项目的归档和恢复分别对应关闭与重新打开外部 Issue。
归档前会停止任务树中关联的活动运行,并取消尚未启动的执行。无法确认运行停止时不归档,可处理错误后重新提交。取消确认弹窗不改变任务。恢复保留原有状态、日期和父子关系。
归档或恢复整棵子树前,服务端逐项检查编辑权限;其中任一任务不可编辑时,整次操作被拒绝,不改变任务或取消排队执行。项目管理员保留对所有子任务的权限。
甘特图父子层级
甘特图按父任务、子任务、孙任务逐级缩进,默认展开。点击父任务标题旁的箭头可收起或展开子树;重新展开父任务会保留子任务此前的折叠状态。收起左侧任务列后仍可使用展开箭头。
筛选和当前日期范围命中的已排期任务会保留必要的可见父级。没有排期、超出日期范围或未命中筛选的父级只提供层级上下文,不自动生成时间条,也不根据子任务改写父级日期。分组应用于根任务,子任务始终跟随父级。底部未安排时间的任务拖到日期时使用独立浮层,离开底部滚动区域后仍然可见。
回归验证
pnpm --filter wework e2e:desktop --segment collaboration-shared-core 使用隔离 Electron、真实后端和本地 Executor,新增以下验证(仅模型服务使用模拟):
- 项目行没有文件夹图标,悬停操作不撑高项目行,点击右侧按钮预选正确项目。
- 分别通过
@选择成员、智能体、小队创建 Issue,并读取 API 验证负责人持久化。 #菜单仅显示 Issue,引用使用独立图标且保存到正文。- 手动改选和取消负责人,不使用原生 select;斜杠不打开任务命令菜单。
- 通过任务项目真实写入接口建立本地项目,重新加载两次后检查本地空间仅出现一个项目,并能从其入口开始协作。
- 普通成员按负责人筛选本人 Issue、组合搜索并清除筛选;刷新后保留个人分组,不同项目的偏好互相隔离。只读成员和管理员切换分组同样不会修改共享看板配置及其版本。
云端数据沿用该 checkpoint 的独立项目夹具,结束时归档;本地项目在测试专用 Executor home 中创建,不接触用户项目目录。失败保留 runner 日志用于定位,不通过跳过或重试掩盖失败。
pnpm --filter wework e2e:desktop --segment collaboration-issue-archive 通过真实本地项目验证看板卡片的已完成任务归档快捷入口、单个归档与恢复、批量归档,以及归档抽屉中的记录更新。
pnpm --filter wework e2e:desktop --segment collaboration-parent-board 复用真实本地项目,追加以下用户故事验收:
- 作为计划负责人,我能看到父、子、孙任务的缩进,收起整棵子树,在父级重新展开后保留子级折叠状态,并在任务列收起时继续操作。
- 作为筛选任务的成员,我按孙任务状态筛选时仍能辨认父级;未排期父级没有虚构时间条。
- 作为排期成员,我从底部拖动未排期任务时始终能看到浮层,释放到日期后甘特图显示时间条,真实存储包含起止日期。
- 作为标签看板的编辑者,我从未完成父 Issue 详情的更多菜单打开归档确认,默认聚焦取消按钮,Tab 与 Shift+Tab 不移出弹窗;取消后焦点返回更多菜单并验证存储未变,再确认归档并验证整棵子树消失。
- 作为恢复任务的成员,我从归档箱恢复父任务,验证原状态和父子关系保留,并能在甘特图再次看到孙任务。
以上场景复用已有 CI checkpoint,不增加独立构建或服务。夹具仅写入隔离 Executor home,结束时随 runner 清理;权限拒绝、不同状态的云端归档与外部提供方协议另由定向测试覆盖。
pnpm --filter wework e2e:desktop --segment collaboration-human-round-resume 验证人机并发分配、人工交付回报调度方、本人分配活动回复创建新任务且确认回复不进入指令。
网页项目视图
项目支持看板、日历、甘特、表格、文件和项目设置。日历与甘特的视图选择保存在 URL 中,刷新或打开、关闭 Issue 详情后仍保留所选视图。项目看板卡片及拖拽预览不显示未读圆点或未读高亮。
原生项目看板的每个泳道都可以从列标题打开 排序方式。默认按优先级从高到低排列;可以组合优先级、创建时间和更新时间的升降序规则,并上移、下移或删除规则。规则从上到下依次比较,前一条相同时才比较下一条;全部相同时保留手动顺序。选择 手动排序 后,状态、优先级、负责人和标签分组均可在泳道内拖动改序,也支持跨泳道插入指定位置。非状态泳道中不同状态的 Issue 也可以混排;列内改序不会改变状态、负责人或标签。手动位置属于项目共享顺序,跨分组复用。设置按当前用户、项目、分组和泳道保存在当前浏览器,刷新或切换账号后各自恢复,不影响其他成员。 拖到泳道尾部空白区域可移到末尾。分组字段和顺序一起保存,保存失败时两者都不会提交。多个标签页修改不同泳道的排序偏好会分别保留,并同步到已打开的看板。
协作侧栏已移除“我的工作”和“运行中心”;旧页面地址返回协作首页。需要处理或验收的 Issue 可以从收件箱或项目看板打开。
网页回归:pnpm --dir frontend exec playwright test collaboration/collaboration-project-views.spec.ts --project=chromium。该文件由现有网页 Chromium CI 套件执行,使用真实空间、项目和不同成员创建的未读 Issue,结束后归档夹具。