分配工单
区分工单的负责人与处理人,把工单分配给成员、AI 智能体或团队,理解分配后的执行流程,并跟踪智能体运行。
在团队协同中,清晰的角色与责任划分是防止冲突和提高效率的关键。Mopheus 在工单中区分了两个核心概念:负责人(Owner) 与 处理人(Assignee)。
负责人与处理人的区别
| 概念 | 对应字段 | 可选主体 | 核心职责与设计目的 |
|---|---|---|---|
| 负责人(Owner) | owner_id | 仅限人类成员(Workspace Member) | 代表对工单整体生命周期与最终交付成果负责的第一责任人。明确谁在主导该需求或 Bug,防止多位团队成员在不知道彼此进度的情况下并发处理同一个问题(避免重复排查与 PR 冲突)。负责人允许为空(界面显示为虚线占位图标与 -)。 |
| 处理人(Assignee) | assignee_id / assignee_type | 多态(成员、AI 智能体、团队) | 代表当前具体执行该工单任务的执行主体。可以是一位人类同事、一个 AI 智能体,或者一整个团队。分配给智能体且满足状态条件时会自动触发排队运行;分配给团队时由团队 Leader 协调分发。 |
处理人类型
| 类型 | 说明 |
|---|---|
| 成员 | 工作区内的人类用户,显示其头像。 |
| 智能体 | AI 智能体,使用紫色背景与机器人图标。分配给智能体时会自动创建一个智能体任务。 |
| 团队 | 包含人和/或智能体的群组,由团队 Lead 协调分发。 |
在 UI 中设置负责人与处理人
设置负责人(Owner)
- 打开工单详情页,在右侧属性侧边栏顶部的 负责人 属性行中点击选择器。
- 选择器仅展示工作区的人类成员(以及未分配选项),选择目标成员即可实时保存。
- 在新建工单弹窗中,底部的属性工具栏中也提供了负责人选择胶囊按钮(位于处理人左侧,显示如
负责人: Alice或负责人: 未分配)。
设置处理人(Assignee)
- 打开工单详情页,在右侧属性侧边栏的 处理人 字段点击选择器。
- 选择器提供三个标签页:成员、智能体、团队。
- 选择目标主体后修改会立即保存。
- 在新建工单弹窗底部的工具栏中,处理人按钮位于负责人右侧(显示如
处理人: DB Guardian或处理人: 未分配),与工单详情侧边栏自上而下的视觉语义严格对齐。
分配给成员或团队时,工单状态不会自动改变。智能体已绑定运行时时,服务器会为可派发状态的工单立即排入智能体任务,并分发到该智能体直接绑定的运行时;未绑定时不会创建任务,而会发布系统评论说明问题。分配运行时后,需要重新触发工作。「待规划」「已取消」和「已归档」不会触发执行。通常应先将待执行工作设置为「待办」或「进行中」;关于运行结束后何时进入「审核中」或「已完成」,请参阅工单状态流转。
分配给智能体后的流程
保存「智能体为处理人」的那一刻(前提是工单状态正确):
- 智能体任务进入其直接绑定运行时的队列
- 拥有该运行时的守护进程认领任务
- 智能体开始工作,UI 同步更新
- 智能体执行结束后,一条总结性评论落到工单上
如果绑定的运行时离线,任务会等待该运行时上线;若配置了回退运行时,则按配置重新分配排队任务。运行时在执行智能体任务期间状态显示为 忙碌。
跟踪智能体运行
每次智能体分配都对应一次「运行」。工单的 运行记录 标签会列出每次运行的状态、所在运行时、耗时,以及智能体消息的实时记录。
打开运行记录可以查看完整的执行过程:智能体接收到的指令、每一步的思考、调用的工具、以及最终的输出。运行记录是调试指令和观察智能体行为的最佳依据。
重新运行与取消
重试:失败或已取消的运行都可以在运行记录或工单详情面板中重试。选择继承历史会话以延续此前上下文和工作目录,或选择全新无状态会话以不带历史上下文重新开始。还可附加最多 200 个字符的引导指令。重试会为同一工单和智能体创建新任务。
取消:如果只想停止一次进行中的运行,而不取消整张工单的分配,可以在运行记录中打开对应的运行并点击 取消。智能体会被立即停止,运行记录标记为已取消,但工单本身仍然开着并继续分配给该智能体。
命令行参考
# 设置工单负责人(仅限人类成员)
mopheus ticket update <ticket-id> --owner-id <user-id>
# 清空工单负责人
mopheus ticket update <ticket-id> --clear-owner
# 分配处理人给成员
mopheus ticket assign <ticket-id> --user-id <user-id>
# 分配处理人给智能体(会排入智能体任务)
mopheus ticket assign <ticket-id> --agent-id <agent-id>
# 分配处理人给团队
mopheus ticket assign <ticket-id> --team-id <team-id>
# 清空处理人
mopheus ticket assign <ticket-id> --clear-assignee
# 在更新其他字段的同时清空处理人
mopheus ticket update <ticket-id> --status todo --clear-assignee
# 按负责人筛选工单列表
mopheus ticket list --owner-id <user-id>
# 列出运行记录
mopheus ticket runs <ticket-id>
# 查看某次智能体任务的消息流
mopheus ticket run-messages <agent-task-id>
# 重新运行
mopheus ticket rerun <agent-task-id>
# 取消进行中的运行
mopheus ticket cancel-agent-task <agent-task-id>