nexus-engine은(는) 무엇을 하나요?
Go로 작성된 헤드리스 에이전트 런타임. 멀티 프로바이더 LLM, 샌드박스 도구, MCP 클라이언트, 플랜 모드 및 권한을 지원합니다. Anthropic API와 드롭인 호환됩니다.
개요
nexus-engine은 Go 언어로 개발된 고성능 헤드리스 에이전트 런타임입니다. 다음 기능을 제공합니다:
- 멀티 프로바이더 LLM: OpenAI, Anthropic 등 다양한 LLM 제공업체를 지원합니다.
- 샌드박스 도구: 안전한 환경에서 실행되는 도구로 시스템 보안을 유지합니다.
- MCP 클라이언트: Model Context Protocol을 통해 외부 데이터 소스에 접근합니다.
- 플랜 모드: 복잡한 작업을 계획하고 단계별로 실행합니다.
- 권한 시스템: 에이전트의 행동 범위를 세밀하게 제어합니다.
시작하기
필수 조건
- Go 1.21 이상
- Anthropic API 키 또는 기타 LLM 제공업체 API 키
설치
go get github.com/EngineerProjects/nexus-engine
기본 사용법
package main
import (
"context"
"log"
nexus "github.com/EngineerProjects/nexus-engine"
)
func main() {
client, err := nexus.NewClient(nexus.Config{
APIKey: "your-api-key",
Model: "claude-3-opus-20240229",
})
if err != nil {
log.Fatal(err)
}
resp, err := client.Chat(context.Background(), &nexus.ChatRequest{
Messages: []nexus.Message{
{Role: "user", Content: "Hello!"},
},
})
if err != nil {
log.Fatal(err)
}
log.Printf("Response: %s", resp.Content)
}
기능
멀티 프로바이더 LLM
nexus-engine은 다양한 LLM 제공업체를 지원합니다. 다음 예제는 OpenAI를 사용합니다:
client, err := nexus.NewClient(nexus.Config{
Provider: "openai",
APIKey: os.Getenv("OPENAI_API_KEY"),
Model: "gpt-4",
})
샌드박스 도구
도구는 기본적으로 샌드박스 환경에서 실행되어 시스템 보안을 보장합니다:
tool := &nexus.Tool{
Name: "file_reader",
Description: "Reads a file from the sandbox",
Sandbox: true,
Execute: func(ctx context.Context, params map[string]interface{}) (interface{}, error) {
// Read file within sandbox
return nil, nil
},
}
MCP 클라이언트
MCP를 통해 외부 데이터 소스에 연결합니다:
mcpClient, err := nexus.NewMCPClient(nexus.MCPConfig{
Endpoint: "https://api.example.com/mcp",
APIKey: "mcp-api-key",
})
플랜 모드
복잡한 작업을 계획하고 실행합니다:
plan, err := client.CreatePlan(context.Background(), &nexus.PlanRequest{
Goal: "Analyze the repository and generate a report",
})
for _, step := range plan.Steps {
result, err := client.ExecuteStep(context.Background(), step)
if err != nil {
log.Fatal(err)
}
log.Printf("Step %s completed: %s", step.ID, result)
}
환경 변수
| 변수 이름 | 설명 | 기본값 |
|---|---|---|
ANTHROPIC_API_KEY | Anthropic API 키 | - |
OPENAI_API_KEY | OpenAI API 키 | - |
NEXUS_SANDBOX_DIR | 샌드박스 디렉터리 경로 | /tmp/nexus-sandbox |
NEXUS_LOG_LEVEL | 로그 레벨 | info |
라이선스
MIT