星尘汇聚,智能成枢

让每一个 Agent 都能在生产环境中闪耀

Python、TypeScript、Bash 原生执行 • 事件驱动架构 • 企业级安全治理
Go 的高性能基底,脚本的灵活编排,为生产环境而生

✨ 核心特性

🎯 事件驱动架构

基于Go channel的事件系统,支持Progress、Control、Monitor三类事件通道,实现非阻塞式交互。

🧅 洋葱模型中间件

灵活的中间件栈,支持文件系统、子Agent、总结等内置中间件,轻松实现功能扩展。

🛡️ 云端沙箱执行

支持本地和云端(阿里云/火山引擎)沙箱,确保代码执行安全隔离。

🔌 多模型支持

统一的Provider接口,支持Anthropic、OpenAI、DeepSeek等主流大模型。

🛠️ 丰富的工具生态

内置文件系统、Bash、HTTP、Web搜索等工具,支持MCP协议和自定义工具。

🌌 AsterOS 运行时

统一运行时系统,整合 Pool 生命周期管理、Room 协作空间,自动生成 REST API。

🚀 快速开始

前置要求

  • Go 1.24+
  • API 密钥 (Anthropic/OpenAI/DeepSeek)

安装

go get github.com/astercloud/aster

创建第一个Agent

package main

import (
    "context"
    "fmt"
    "log"
    "os"

    "github.com/astercloud/aster/pkg/agent"
    "github.com/astercloud/aster/pkg/provider"
    "github.com/astercloud/aster/pkg/types"
)

func main() {
    // 创建Agent
    ag, err := agent.Create(context.Background(), &types.AgentConfig{
        TemplateID: "assistant",
        ModelConfig: &types.ModelConfig{
            Provider: "anthropic",
            Model:    "claude-sonnet-4-5",
            APIKey:   os.Getenv("ANTHROPIC_API_KEY"),
        },
    }, deps)
    if err != nil {
        log.Fatal(err)
    }
    defer ag.Close()

    // 发送消息并监听事件
    eventCh := ag.Subscribe([]types.AgentChannel{types.ChannelProgress}, nil)
    go func() {
        for event := range eventCh {
            // 处理事件
        }
    }()

    ag.Chat(context.Background(), "介绍一下Go语言的优势")
}

添加工具支持

import "github.com/astercloud/aster/pkg/tools"

// 注册内置工具
ag.RegisterTool(tools.BashTool())
ag.RegisterTool(tools.FileSystemTool())

// 发送需要使用工具的请求
eventCh := ag.Chat(ctx, "列出当前目录下的文件")

📚 核心概念

事件驱动

aster采用事件驱动架构,通过Go channel实现异步通信:

  • ProgressEvent: 流式输出的增量内容
  • ControlEvent: 工具调用、用户确认请求
  • MonitorEvent: 内部状态变化监控

中间件系统

基于洋葱模型的中间件栈,支持:

  • FilesystemMiddleware: 文件系统操作和内存管理
  • SubAgentMiddleware: 子Agent任务委派
  • SummarizationMiddleware: 自动上下文总结
  • 自定义中间件: 实现WrapModelCall/WrapToolCall接口

沙箱执行

支持多种沙箱后端:

  • 本地沙箱: 开发和测试环境
  • 阿里云函数计算: 生产级隔离执行
  • 火山引擎: 高性能计算场景

🏗️ 架构概览

aster采用分层架构设计:

  1. AsterOS层: 统一运行时系统,提供 API 网关、资源注册、多接口支持
  2. Pool + Room层: Agent 生命周期管理 + 多智能体协作空间
  3. Agent Runtime层: 中间件栈、Provider、工具执行器
  4. Backend层: 状态管理、存储、文件系统
  5. 基础设施层: 沙箱、调度器、权限控制

📖 文档导航

快速入门

从零开始创建你的第一个Agent

核心概念

深入理解aster的设计理念

实战指南

真实场景的完整代码示例

API参考

完整的API文档和类型定义

架构指南

了解aster的架构设计

GitHub

查看源码和贡献代码

🤝 社区与支持

📄 开源协议

aster采用MIT License开源。