开源 · Go 1.26.2+

构建 Agent 应用,
可靠的 Go 运行时开始

Modu 提供 Agent Loop、工具执行、多 Agent 协作、消息渠道、定时任务与终端 UI,让应用保留自己的 Prompt、工具与部署边界。

go get github.com/openmodu/modu
main.go Go
package main

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

func main() {
  ctx := context.Background()
  a := agent.NewAgent(types.Config{
    InitialState: &types.State{
      SystemPrompt: "你是一个有帮助的助手。",
      Model: model,
      Tools: []types.Tool{weatherTool},
    },
  })

  if err := a.Prompt(ctx, "分析今天的天气"); err != nil {
    panic(err)
  }
}
核心能力

一套简洁的 Go 原生 Agent 运行时

模块化、可组合、边界清晰,面向真实应用。

01

Agent Runtime

稳定的 Agent Loop,内置工具执行、状态管理、流式事件、中断与检查点恢复。

了解更多
runtime.go
store, _ := runtime.NewFileStore("./data")
rt := runtime.New(agent.NewAgent(cfg), store, "session-123")

if err := rt.Run(ctx, "完成这项任务"); err != nil {
  log.Fatal(err)
}

resumed, err := rt.Resume(ctx)
02

Mailbox Teams

基于主题的消息、任务分派、独立验收与持久化状态,让多个 Agent 有序协作。

了解更多
mailbox.go
hub := mailbox.NewHub()
hub.Register("director")
hub.Register("writer")

msg, _ := mailbox.NewTaskAssignMessage(
  "director", "task-1", "编写产品文案",
)
hub.Send("writer", msg)
03

Coding Agent

内置代码工具、持久会话、上下文压缩、技能与审批,适合终端里的真实开发流程。

了解更多
modu_code
$ go run ./cmd/modu_code

 帮我定位失败测试并给出最小修复
read    pkg/agent/loop.go
grep    "TestLoop"      12 hits
bash    go test ./pkg/agent/...  ✓ ok
文档预览

清晰、实用、可操作的文档

从快速开始到架构说明,每个示例都对应仓库中的可运行代码。

快速开始

从零到运行第一个 Modu Agent,只需几分钟。

1. 安装

go get github.com/openmodu/modu

2. 运行示例

package main

import "github.com/openmodu/modu/pkg/agent"

准备好构建你的第一个 Agent 应用了吗?

阅读完整文档,运行一个示例,再按自己的边界逐步扩展。

阅读文档
已复制到剪贴板