Aster · 星尘云枢 是一个用 Go 语言编写的企业级 AI Agent 开发框架。
就像星尘汇聚形成璀璨的枢纽,Aster 将以下能力完美融合:
Go 的高性能基底,脚本的灵活编排,为生产环境而生
aster 是一个为生产环境设计的 Go语言AI Agent开发框架。它提供了企业级的Agent运行时,支持事件驱动、云端沙箱、安全可控等特性。
aster的设计遵循以下核心原则:
aster采用三通道事件系统,清晰分离不同类型的数据流:
// 订阅不同通道
eventCh := ag.Subscribe([]types.AgentChannel{
types.ChannelProgress, // UI展示
types.ChannelMonitor, // 监控告警
}, nil)
for envelope := range eventCh {
switch e := envelope.Event.(type) {
case *types.ProgressTextChunkEvent:
// 处理流式文本
case *types.MonitorErrorEvent:
// 处理错误事件
}
}
基于洋葱模型的中间件栈,支持请求和响应的双向拦截:
// 启用内置中间件
ag, err := agent.Create(ctx, &types.AgentConfig{
Middlewares: []string{
"filesystem", // 文件系统操作
"subagent", // 子Agent委派
"summarization", // 自动总结
},
}, deps)
中间件特性:
支持多种沙箱后端,确保代码执行安全:
| 沙箱类型 | 使用场景 | 特点 |
|---|---|---|
| LocalSandbox | 开发测试 | 快速迭代,本地Docker |
| AliyunSandbox | 生产环境 | 阿里云AgentBay,高安全 |
| VolcengineSandbox | 生产环境 | 火山引擎,高性能 |
| MockSandbox | 单元测试 | 模拟执行,无副作用 |
ag, err := agent.Create(ctx, &types.AgentConfig{
Sandbox: &types.SandboxConfig{
Kind: types.SandboxKindAliyun,
WorkDir: "/workspace",
},
}, deps)
统一的Provider接口,支持主流大模型:
// 轻松切换模型
ag, err := agent.Create(ctx, &types.AgentConfig{
ModelConfig: &types.ModelConfig{
Provider: "anthropic", // 或 "openai", "deepseek", "glm"
Model: "claude-sonnet-4-5",
APIKey: os.Getenv("ANTHROPIC_API_KEY"),
},
}, deps)
内置工具覆盖常见场景:
Read, Write, Edit, Ls, Glob, GrepBashtodo_list, todo_add, todo_updatehttp_fetch, WebSearchtask(通过SubAgentMiddleware)同时支持:
支持两种协作模式:
1. Agent Pool:Agent池管理
pool := pool.NewPool()
pool.AddAgent("agent-1", ag1)
pool.AddAgent("agent-2", ag2)
// 路由消息到特定Agent
pool.RouteMessage("agent-1", message)
2. Agent Room:多Agent协作空间
room := room.NewRoom("project-room")
room.AddMember("architect", architectAgent)
room.AddMember("coder", coderAgent)
// 广播消息到所有Agent
room.Broadcast(message)
Scheduler:智能任务分发
scheduler := scheduler.NewScheduler(pool)
scheduler.Schedule(task, strategy) // Round-robin/Random/Priority
aster采用三层架构:
aster适用于以下场景:
当前版本:Alpha