Sign inSign up

sbx/hermes-agent-kit:latest

Manifest digest

sha256:a4e6fce39afb5c748b80c9adde00497bb99a90abdc963b132f87a14875ab1bcb

Last pushed

2 days by sbx

Type

Sandbox Kit

Manifest digest

sha256:a4e6fce39afb5c748b80c9adde00497bb99a90abdc963b132f87a14875ab1bcb

yaml
schemaVersion: "2"
kind: sandbox
name: hermes-agent
displayName: Hermes Agent
description: The self-improving AI agent by Nous Research — creates skills from experience, supports 200+ models via OpenRouter, and runs anywhere
sandbox:
    image: docker.io/sbx/hermes-agent-image:latest
    entrypoint:
        - sh
    command:
        default:
            - /home/agent/.local/bin/hermes-start.sh
        interactive:
            - /home/agent/.local/bin/hermes-start.sh
agentInstructions:
    filename: AGENTS.md
permissions:
    network:
        allow:
            - openrouter.ai
            - '*.openrouter.ai'
            - api.openai.com
            - api.anthropic.com
            - platform.claude.com:443
            - models.dev
            - opencode.ai
            - github.com
            - api.github.com
            - raw.githubusercontent.com
            - api.githubcopilot.com
            - hermes-agent.nousresearch.com
credentials:
    - service: anthropic
      apiKey:
        name: ANTHROPIC_API_KEY
        proxyManaged: true
        inject:
            - domain: api.anthropic.com
              header: x-api-key
              format: '%s'
      oauth:
        tokenEndpoint:
            host: platform.claude.com
            path: /v1/oauth/token
        resourceHosts:
            - api.anthropic.com
        sentinels:
            accessToken: sk-ant-oat01-proxy-managed
            refreshToken: sk-ant-ort01-proxy-managed
        credentialFile:
            path: ~/.claude/.credentials.json
            structure:
                claudeAiOauth:
                    accessToken: '{{.AccessToken}}'
                    expiresAt: '{{.ExpiresAt}}'
                    refreshToken: '{{.RefreshToken}}'
                    scopes: '{{.Scopes}}'
    - service: openai
      apiKey:
        name: OPENAI_API_KEY
        proxyManaged: true
        inject:
            - domain: api.openai.com
              header: Authorization
              format: Bearer %s
    - service: openrouter
      apiKey:
        name: OPENROUTER_API_KEY
        proxyManaged: true
        inject:
            - domain: openrouter.ai
              header: Authorization
              format: Bearer %s
environment:
    variables:
        HERMES_HOME: /home/agent/.hermes
setup:
    startup:
        - command:
            - sh
            - /home/agent/.local/bin/hermes-anthropic-auth.sh
          user: "1000"
          description: Resolve which of the anthropic/openai/openrouter credentials are genuinely bound, record the result for the entrypoint and `sbx exec` shells, and pin the active provider in config.yaml when only an Anthropic OAuth login is bound