工单

分配工单

区分工单的负责人与处理人,把工单分配给成员、AI 智能体或团队,理解分配后的执行流程,并跟踪智能体运行。

在团队协同中,清晰的角色与责任划分是防止冲突和提高效率的关键。Mopheus 在工单中区分了两个核心概念:负责人(Owner) 与 处理人(Assignee)。

负责人与处理人的区别

概念对应字段可选主体核心职责与设计目的
负责人(Owner)owner_id仅限人类成员(Workspace Member)代表对工单整体生命周期与最终交付成果负责的第一责任人。明确谁在主导该需求或 Bug,防止多位团队成员在不知道彼此进度的情况下并发处理同一个问题(避免重复排查与 PR 冲突)。负责人允许为空(界面显示为虚线占位图标与 -)。
处理人(Assignee)assignee_id / assignee_type多态(成员、AI 智能体、团队)代表当前具体执行该工单任务的执行主体。可以是一位人类同事、一个 AI 智能体,或者一整个团队。分配给智能体且满足状态条件时会自动触发排队运行;分配给团队时由团队 Leader 协调分发。

处理人类型

类型说明
成员工作区内的人类用户,显示其头像。
智能体AI 智能体,使用紫色背景与机器人图标。分配给智能体时会自动创建一个智能体任务。
团队包含人和/或智能体的群组,由团队 Lead 协调分发。

在 UI 中设置负责人与处理人

设置负责人(Owner)

  1. 打开工单详情页,在右侧属性侧边栏顶部的 负责人 属性行中点击选择器。
  2. 选择器仅展示工作区的人类成员(以及未分配选项),选择目标成员即可实时保存。
  3. 在新建工单弹窗中,底部的属性工具栏中也提供了负责人选择胶囊按钮(位于处理人左侧,显示如 负责人: Alice 或 负责人: 未分配)。

设置处理人(Assignee)

  1. 打开工单详情页,在右侧属性侧边栏的 处理人 字段点击选择器。
  2. 选择器提供三个标签页:成员、智能体、团队。
  3. 选择目标主体后修改会立即保存。
  4. 在新建工单弹窗底部的工具栏中,处理人按钮位于负责人右侧(显示如 处理人: DB Guardian 或 处理人: 未分配),与工单详情侧边栏自上而下的视觉语义严格对齐。

分配给成员或团队时,工单状态不会自动改变。智能体已绑定运行时时,服务器会为可派发状态的工单立即排入智能体任务,并分发到该智能体直接绑定的运行时;未绑定时不会创建任务,而会发布系统评论说明问题。分配运行时后,需要重新触发工作。「待规划」「已取消」和「已归档」不会触发执行。通常应先将待执行工作设置为「待办」或「进行中」;关于运行结束后何时进入「审核中」或「已完成」,请参阅工单状态流转。

分配给智能体后的流程

保存「智能体为处理人」的那一刻(前提是工单状态正确):

  1. 智能体任务进入其直接绑定运行时的队列
  2. 拥有该运行时的守护进程认领任务
  3. 智能体开始工作,UI 同步更新
  4. 智能体执行结束后,一条总结性评论落到工单上

如果绑定的运行时离线,任务会等待该运行时上线;若配置了回退运行时,则按配置重新分配排队任务。运行时在执行智能体任务期间状态显示为 忙碌。

跟踪智能体运行

每次智能体分配都对应一次「运行」。工单的 运行记录 标签会列出每次运行的状态、所在运行时、耗时,以及智能体消息的实时记录。

打开运行记录可以查看完整的执行过程:智能体接收到的指令、每一步的思考、调用的工具、以及最终的输出。运行记录是调试指令和观察智能体行为的最佳依据。

重新运行与取消

重试:失败或已取消的运行都可以在运行记录或工单详情面板中重试。选择继承历史会话以延续此前上下文和工作目录,或选择全新无状态会话以不带历史上下文重新开始。还可附加最多 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>