AI Agent 编排

编排 Agent Harness 步骤和可由 MCP 操作的工作流。

Dagu 为 AI 辅助工作提供生产级工作流边界:用 harness.run 运行 Agent Harness 步骤,让支持 MCP 的工具通过内置 MCP 服务器操作 Dagu,并把日志、重试、审批和审计历史集中保留。

用 YAML 编排外部 Agent
name: agent-review
schedule: "0 9 * * 1"

steps:
  - id: collect_context
    run: ./scripts/collect-release-context.sh
    output: RELEASE_CONTEXT

  - id: draft_notes
    action: harness.run
    with:
      provider: codex
      prompt: |
        Draft release notes from this context:
        ${steps.collect_context.outputs.RELEASE_CONTEXT}
    depends: [collect_context]

  - id: human_review
    run: ./scripts/request-approval.sh
    depends: [draft_notes]

显式的外部提供商运行时

运行 Claude、Codex、Gemini、OpenCode 或自定义 CLI

向支持 MCP 的工具开放工作流操作

把人工审核、日志、重试和产物保留在 Dagu 中

At a glance

Dagu 在 Agent 技术栈中的角色

Agent 运行时
Dagu

通过 harness 步骤运行外部 CLI,并通过 HTTP 接入 MCP 客户端。

Typical alternative

Agent 框架通常把编排绑定到某个运行时或模型入口。

运维控制
Dagu

调度、重试、日志、产物、审批和重跑。

Typical alternative

只靠 prompt 的自动化通常把这些控制留给自定义脚本和约定。

控制权
Dagu

工作流定义、运行环境和审计历史留在你的环境中。

Typical alternative

托管 Agent 平台把运行状态和成本结构交给外部服务。

In depth

Where each tool fits

01

使用外部 Agent,而不是隐藏运行时

Dagu 让 AI 工作保持显式:工作流步骤调用团队选择的外部 CLI 或自定义 harness。

  • 用 harness.run 调用 Claude、Codex、Gemini、OpenCode、Aider 或内部工具
  • 在主机上或受控容器沙盒中运行提供商
  • 无需更换工作流引擎即可切换模型和 CLI
02

让支持 MCP 的工具操作 Dagu

Dagu 的 MCP 服务器仍然内置在 HTTP 服务器中。已授权客户端可在与 API 相同的认证边界内查看状态、预览编辑、应用 DAG 变更并控制运行。

  • 向客户端开放 Dagu 状态和运行控制,而不交出原始基础设施凭据
  • 在 MCP 客户端中使用 dagu_read、dagu_change 和 dagu_execute
  • 在审计历史中归因 MCP 请求及后续操作
03

给 AI 工作保留生产控制

Agent 输出仍然需要调度、依赖、重试、校验和人工审核。Dagu 把这些控制建模为工作流结构,而不是 prompt 胶水。

  • 在生成结果进入生产前加入审批步骤
  • 保存 stdout、stderr、产物、日志和运行历史以供检查
  • 调度周期性总结、分拣、清理和 QA 工作流

FAQ

Practical questions before adopting Dagu

Dagu 是 AI Agent 框架吗?

不是。Dagu 不是 Agent 框架;它是运行并观测 Agent Harness 步骤、MCP 客户端和普通命令的工作流引擎。

harness.run 会运行什么?

harness.run 运行配置好的外部提供商,例如 Claude、Codex、Gemini、OpenCode、Aider 或内部 harness。Dagu 不会启动隐藏的内置 Agent。

MCP 在这里负责什么?

内置 MCP 服务器让已授权的 MCP 客户端读取 Dagu 状态、预览变更、修改 DAG 并控制运行。凭据不会交给客户端,而是在运行时由 Dagu 注入。

Next step

Start with one workflow.

Install Dagu, move one fragile script or agent task into YAML, and decide from a real run history.