Sign inSign up

sbx/hermes-agent-kit:20260917-76ff755c31a3a7fc05fe7cbc53ae93753d7c6d85

Manifest digest

sha256:3af5217b647eaca6d667f291aefebe348fd46c2d864ca922dae6bf3af33aa175

Last pushed

6 days by dockerpublicbot

Type

Sandbox Kit

Manifest digest

sha256:3af5217b647eaca6d667f291aefebe348fd46c2d864ca922dae6bf3af33aa175

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