本指南将帮助您配置aster的开发环境。
aster需要Go 1.24或更高版本。
检查Go版本:
go version
如果未安装Go,请访问 Go官网 下载安装。
您需要至少一个大模型提供商的API密钥:
go get github.com/astercloud/aster
在你的Go项目中:
# 初始化Go模块(如果还未初始化)
go mod init your-project-name
# 添加aster依赖
go get github.com/astercloud/aster
这会自动下载aster及其所有依赖。
# 克隆仓库
git clone https://github.com/astercloud/aster.git
cd aster
# 下载依赖
go mod download
# 运行测试(可选)
go test ./...
创建 .env 文件:
# Anthropic
export ANTHROPIC_API_KEY="sk-ant-xxxxx"
# OpenAI
export OPENAI_API_KEY="sk-xxxxx"
# DeepSeek
export DEEPSEEK_API_KEY="sk-xxxxx"
加载环境变量:
source .env
import "github.com/astercloud/aster/pkg/provider"
// Anthropic
p := provider.NewAnthropicProvider("your-api-key")
// OpenAI
p := provider.NewOpenAIProvider("your-api-key")
// DeepSeek
p := provider.NewDeepSeekProvider("your-api-key")
本地沙箱无需额外配置,开箱即用。
如果需要Docker沙箱:
# 安装Docker
# macOS: https://docs.docker.com/desktop/mac/install/
# Linux: https://docs.docker.com/engine/install/
# Windows: https://docs.docker.com/desktop/windows/install/
# 验证安装
docker --version
export ALIYUN_ACCESS_KEY_ID="your-access-key"
export ALIYUN_ACCESS_KEY_SECRET="your-secret-key"
export ALIYUN_REGION="cn-hangzhou"
export VOLC_ACCESS_KEY_ID="your-access-key"
export VOLC_SECRET_ACCESS_KEY="your-secret-key"
export VOLC_REGION="cn-beijing"
创建 test_install.go:
package main
import (
"fmt"
"log"
"github.com/astercloud/aster/pkg/agent"
"github.com/astercloud/aster/pkg/tools"
)
func main() {
// 检查包导入
fmt.Println("aster导入成功!")
// 创建工具注册表
registry := tools.NewRegistry()
fmt.Printf("工具注册表创建成功: %v\n", registry)
// 打印版本信息
fmt.Println("安装验证通过!")
}
运行测试:
go run test_install.go
预期输出:
aster导入成功!
工具注册表创建成功: &{...}
安装验证通过!
aster的主要依赖包括:
github.com/anthropics/anthropic-sdk-go
github.com/openai/openai-go
github.com/gorilla/websocket
github.com/stretchr/testify (仅测试)
所有依赖会通过 go get 自动安装。
症状:网络连接超时或被拒绝
解决方案:配置Go代理
# 中国大陆用户推荐
go env -w GOPROXY=https://goproxy.cn,direct
# 或使用阿里云镜像
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
症状:cannot find module
解决方案:
# 清理缓存
go clean -modcache
# 重新下载
go mod download
# 更新依赖
go get -u github.com/astercloud/aster
症状:permission denied
解决方案:
# 确保Go安装目录有写权限
sudo chown -R $USER:$USER $(go env GOPATH)
症状:依赖版本不兼容
解决方案:
# 更新到最新版本
go get -u github.com/astercloud/aster@latest
# 或指定版本
go get github.com/astercloud/aster@v0.1.0
# 整理依赖
go mod tidy
go get -u github.com/astercloud/aster@latest
go mod tidy
go list -m github.com/astercloud/aster
go get github.com/astercloud/aster@v0.2.0
推荐的项目结构:
my-agent-project/
├── go.mod
├── go.sum
├── .env # API密钥(不要提交到Git)
├── .gitignore
├── main.go
├── agents/ # Agent定义
│ ├── assistant.go
│ └── coder.go
├── tools/ # 自定义工具
│ └── custom_tool.go
├── middleware/ # 自定义中间件
│ └── logger.go
└── workspace/ # 沙箱工作目录
示例 .gitignore:
# 环境变量
.env
.env.local
# 工作目录
workspace/
.aster/
# Go构建
*.exe
*.exe~
*.dll
*.so
*.dylib
*.test
*.out
# 依赖
vendor/
安装完成后,继续学习:
# 安装golangci-lint
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
# 运行检查
golangci-lint run