QUICKSTART

构建第一个 Modu Agent

安装 Modu、注册一个 LLM Provider,然后运行第一条 Prompt。最短路径大约需要五分钟。

Modu 要求 Go 1.26.2 或更高版本,具体版本以仓库中的 go.mod 为准。

1. 安装

在你的 Go 项目中添加 Modu:

terminal
$ go get github.com/openmodu/modu

2. 构建第一个 Agent

注册一个 OpenAI 兼容端点,创建模型与 Agent,然后调用 Prompt。下面的结构与仓库 agent_demo 一致。

main.go
package main

import (
  "context"
  "github.com/openmodu/modu/pkg/agent"
  "github.com/openmodu/modu/pkg/providers"
  "github.com/openmodu/modu/pkg/providers/openai"
  "github.com/openmodu/modu/pkg/types"
)

func main() {
  providers.Register(openai.New(
    "ollama",
    openai.WithBaseURL("http://localhost:11434/v1"),
  ))

  model := &types.Model{
    ID: "llama3.2", Name: "Llama 3.2", ProviderID: "ollama",
  }
  a := agent.NewAgent(types.Config{
    InitialState: &types.State{
      SystemPrompt: "You are helpful.",
      Model: model,
    },
  })

  _ = a.Prompt(context.Background(), "用三句话解释 Modu")
}

3. 运行示例

仓库里的示例是最短的集成测试。先选一个与你的目标最接近的路径:

terminal
# 基础 Agent 与工具调用
go run ./examples/agent_demo

# 检查点、恢复与回退
go run ./examples/runtime_demo

# 多 Agent 协作
go run ./examples/agent_teams

Agent Loop 与状态边界

pkg/agent 负责 ReAct 风格的执行循环、工具调用、队列、事件与中断。你的应用仍然拥有 Prompt、工具目录、持久化策略与部署方式。

Prompt 用户输入
Agent Loop 规划与执行
Tools 真实动作
Events 可观测输出

检查点与会话恢复

pkg/runtime 在每条已提交消息后记录检查点。进程重启后可以继续未完成会话,也可以把历史检查点恢复成新的分支头。

runtime.go
store, err := runtime.NewFileStore("./checkpoints")
rt := runtime.New(agent.NewAgent(cfg), store, "session-123")

err = rt.Run(ctx, "do the thing")
resumed, err := rt.Resume(ctx)

事件与状态

通过 Subscribe 接收 Agent、Turn、Message 与 Tool Execution 事件。订阅者适合驱动日志、TUI、指标与外部状态同步。

终端里的完整编码流程

pkg/coding_agent 在 Agent 内核之上提供会话、上下文压缩、技能、审批和面向代码的工具。要直接体验完整 TUI:

terminal
$ go run ./cmd/modu_code

工具与技能

工具实现公共 types.Tool 契约;技能通过 SKILL.md 注入可复用工作流。宿主应用可以只选择需要的能力,不必接受一套固定产品形态。

Mailbox Teams

Mailbox 提供 Agent 注册、独立收件箱、任务与项目状态、能力队列、结果验证、流水线和对话记录。它只解决协作,不负责调用 LLM。

Hub路由消息并维护 Agent、任务与项目状态
Client跨进程注册、收发消息与认领任务
SQLite Store为协作状态提供跨重启恢复
Dashboard查看任务、状态与对话记录

协作架构

Agent Teams 适合由一个协调者拆分任务、多个 Worker 并行执行;Adversarial Validation 适合结果必须经过独立验收的队列。两种模式共享 Mailbox 与任务模型。

Coding Agent 架构包结构、依赖方向与执行路径 Mailbox Agent System协议、持久化与失败场景 完整文档索引指南、参考、架构与技术文章
已复制到剪贴板