Community생산성 & 협업github.com

EngineerProjects/nexus-engine

Go로 작성된 헤드리스 에이전트 런타임. 멀티 프로바이더 LLM, 샌드박스 도구, MCP 클라이언트, 플랜 모드 및 권한을 지원합니다. Anthropic API와 호환됩니다.

nexus-engine란 무엇인가요?

nexus-engine은 Go 언어로 작성된 헤드리스 에이전트 런타임으로, 다중 LLM 제공업체(예: OpenAI, Anthropic 등)를 지원하며, 샌드박스 환경에서 안전하게 실행되는 도구들을 제공합니다. 또한 MCP(Model Context Protocol) 클라이언트를 내장하여 외부 데이터 소스와의 상호작용을 가능하게 하고, 플랜 모드를 통해 복잡한 작업을 단계별로 계획하고 실행할 수 있습니다. 이 프로젝트는 권한 시스템을 통해 에이전트의 행동을 제어하고, Anthropic API와 드롭인 호환되어 기존 코드베이스와 쉽게 통합될 수 있습니다. 개발자들은 이를 활용하여 안정적이고 확장 가능한 AI 에이전트 시스템을 구축할 수 있으며, 터미널, IDE, 또는 CI/CD 파이프라인 등 다양한 환경에서 사용할 수 있습니다.

지원 대상✓Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add EngineerProjects/nexus-engine

Installed? Explore more 생산성 & 협업 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

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_KEYAnthropic API 키-
OPENAI_API_KEYOpenAI API 키-
NEXUS_SANDBOX_DIR샌드박스 디렉터리 경로/tmp/nexus-sandbox
NEXUS_LOG_LEVEL로그 레벨info

라이선스

MIT

관련 스킬