Skip to content

feat(cli): expose Custom Agents created in Settings in agent list so they can be orchestrated via CLI #2412

Description

@Beatther-c

Problem

在 设置 → 自定义 Agent 中创建了多个绑定不同 Agent Runtime 的角色化自定义 Agent(如:工作助手→Tutti Agent、代码审查与提交→Codex、测试验证→OpenCode),UI 均显示「可用」。但 CLI 侧无法发现它们:

  • tutti agent list --json 只返回内置 runtime(local:tutti-agent / local:codex / local:claude-code / local:opencode / extension:kimi-code),不包含任何自定义 Agent。
  • 因此 CLI / Tutti Mode 编排层(issue run create / issue task run create / plan task 的 agentTargetId)无法按角色调度自定义 Agent,只能回退到内置 runtime,导致 GUI 里定义的自定义 Agent 角色与指令在编排闭环中不可用。

Repro

  1. 设置 → 自定义 Agent → 创建多个自定义 Agent(各绑定不同 runtime),确认 UI 显示「可用」。
  2. tutti agent list --json → 仅见内置 runtime,无自定义 Agent。
  3. tutti agent composer-options --agent-id workspace-agent:<uuid> --json → 报错:
    invalid cli command input: enabled agent "workspace-agent:<uuid>" was not found; run agent list --json

Proposal

  • 让自定义 Agent 出现在 tutti agent list 的输出中(如 custom:<uuid> / workspace-agent:<uuid>),或
  • 提供专门的发现命令(如 tutti agent custom list),使编排层(issue / plan)可以按 agentTargetId 调度自定义 Agent。

Expected behavior

自定义 Agent 应可被 CLI 发现;编排层接受的 target id 格式应能通过发现命令解析到。

Alternatives Considered

  • 回退方案:编排时用内置 runtime + --model 覆盖 + 在 prompt 里内联角色指令,复刻自定义 Agent 的角色。可用但丢失了 GUI 角色定义的单一来源(single source of truth)。

Context

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions