# yaml-language-server: $schema=https://schema.zeabur.app/template.json
apiVersion: zeabur.com/v1
kind: Template
metadata:
    name: Hermes Agent
spec:
    description: |
        Hermes Agent by NousResearch — an autonomous AI agent with persistent memory, tool use, cron scheduling, and 14+ messaging platforms (Telegram, Discord, Slack, WhatsApp, Signal, Matrix, WeChat, WeCom, Feishu, DingTalk, Email, and more). Includes an OpenAI-compatible API server.
    coverImage: https://raw.githubusercontent.com/NousResearch/hermes-agent/main/assets/banner.png
    icon: https://raw.githubusercontent.com/NousResearch/hermes-agent/main/website/static/img/logo.png
    variables:
        - key: AI_HUB_API_KEY
          type: AI_HUB_KEY
          name: Zeabur AI Hub Key
          description: Generate a Zeabur AI Hub key — this is all you need to start. The agent and the web dashboard work out of the box. To use OpenRouter, another provider, or Telegram instead, add the relevant environment variables after deploy (see the README).
        - key: PUBLIC_DOMAIN
          type: DOMAIN
          name: Dashboard Domain
          description: A domain for the web dashboard, e.g. my-hermes → my-hermes.zeabur.app. This is the URL you open and log into. You can bind a custom domain later.
    tags:
        - AI
        - Agent
        - Chatbot
    readme: |
        # Hermes Agent

        [Hermes Agent](https://github.com/NousResearch/hermes-agent) is an autonomous AI agent built by [Nous Research](https://nousresearch.com/). It features persistent memory, 40+ built-in tools, cron scheduling, and multi-platform messaging support.

        ## Quick Start

        1. **Deploy this template** — generate a **Zeabur AI Hub key** and pick a **dashboard domain** (e.g. `my-hermes`). That's it; the agent and dashboard work out of the box.
        2. **Open the dashboard** — go to your domain (auto-bound to the dashboard). Add a custom domain later in the **Networking** tab if you like.
        3. **Log in** — username `admin`, password = your service `PASSWORD` (shown in the service instructions). Start chatting in the browser — no Telegram needed.

        > Want OpenRouter, another provider (Minimax, Kimi, …), or Telegram instead? Add the relevant environment variables after deploy — see **Models & Providers** and **Messaging Platforms** below.

        ## Ports & Domains

        This service exposes two HTTP ports:

        | Port | Id | Purpose | Domain |
        |------|----|---------|--------|
        | **9119** | `web` | Web dashboard (on by default, login-protected) | The service's main domain — open it and log in |
        | **5000** | `api` | OpenAI-compatible API server | Bind a domain only if you need external API access |

        **Messaging platforms (Telegram, Discord, Slack, etc.) use outbound connections — they do not require any public URL or open port.**

        ### Using the Web Dashboard

        The dashboard is **enabled by default** and protected by login. Open your service's domain (the **web** port) and log in:
        - Username: `admin`
        - Password: your service `PASSWORD` value (shown in the service instructions)

        To disable it, set `HERMES_DASHBOARD=false` in the **Variables** tab. To change the credentials, set `HERMES_DASHBOARD_BASIC_AUTH_USERNAME` / `HERMES_DASHBOARD_BASIC_AUTH_PASSWORD`.

        > **Security note:** Basic auth login is best for a backend behind a trusted network; for hardened public exposure use OAuth (`HERMES_DASHBOARD_OAUTH_CLIENT_ID`) or self-hosted OIDC (`HERMES_DASHBOARD_OIDC_*`) — see the [environment variables reference](https://hermes-agent.nousresearch.com/docs/reference/environment-variables).

        ### Using the OpenAI-compatible API

        Bind a domain to the **`api`** port (5000) in the **Networking** tab, then send requests with your auto-generated API key (shown in the service instructions):

        ```bash
        curl https://YOUR_API_DOMAIN/v1/chat/completions \
          -H "Authorization: Bearer YOUR_API_SERVER_KEY" \
          -H "Content-Type: application/json" \
          -d '{"model": "default", "messages": [{"role": "user", "content": "Hello!"}]}'
        ```

        ## Models & Providers

        Out of the box this template uses **Zeabur AI Hub** (key from the **Zeabur AI Hub Key** variable), model `claude-sonnet-4-5`, region `sfo1`. To change things, add these in the **Variables** tab and restart:

        - **Model** — set `LLM_MODEL` to any [AI Hub model](https://zeabur.com/ai).
        - **Region** — set `LLM_BASE_URL` to `https://hnd1.aihub.zeabur.ai/v1` for Tokyo (default is `sfo1`).
        - **OpenRouter instead** — set `OPENROUTER_API_KEY` (leave the AI Hub key empty); Hermes auto-detects it.
        - **Another provider** (Minimax, Kimi, GLM/Zhipu, Gemini, NVIDIA, xAI, …) — add that provider's API key env var (e.g. `KIMI_API_KEY`, `MINIMAX_API_KEY`) and pick the model with `hermes model` in the **Exec** tab. See the [Configuration guide](https://hermes-agent.nousresearch.com/docs/user-guide/configuration) and [Environment Variables reference](https://hermes-agent.nousresearch.com/docs/reference/environment-variables).

        > `LLM_MODEL` / `LLM_BASE_URL` + the AI Hub key are applied to the `model` block of `/opt/data/config.yaml` on every start. Leave them unset to manage `config.yaml` by hand instead.

        ## Messaging Platforms

        Messaging is **optional** — by default you interact through the web dashboard (no platform needed). To connect **Telegram**, add `TELEGRAM_BOT_TOKEN` (from @BotFather) and `TELEGRAM_ALLOWED_USERS` (your Telegram user ID from @userinfobot) in the **Variables** tab, then restart. Hermes supports 14+ platforms (Discord, Slack, WhatsApp, Signal, Matrix, Email, WeChat, WeCom, Feishu, DingTalk, QQ Bot, Mattermost, BlueBubbles/iMessage, SMS, Home Assistant, generic webhooks) — each is enabled by setting its environment variables after deployment.

        See the official [Messaging Gateway guide](https://hermes-agent.nousresearch.com/docs/user-guide/messaging) for per-platform setup.

        ## Configuration

        - **LLM providers, tools, and all other settings** — refer to the official [Configuration guide](https://hermes-agent.nousresearch.com/docs/user-guide/configuration) and [Environment Variables reference](https://hermes-agent.nousresearch.com/docs/reference/environment-variables).
        - **Edit config files** via the Zeabur Files tab at `/opt/data/`:
          - `config.yaml` — model selection, terminal backend, platform settings
          - `SOUL.md` — agent personality and system prompt
          - `.env` — all environment variables
        - After editing, restart the service to apply changes.

        ## CLI Access

        You can use the Hermes CLI directly via the Zeabur **Exec** tab (or `zeabur service exec`). The `hermes` command is available out of the box:

        | Command | Description |
        |---------|-------------|
        | `hermes` | Interactive chat (REPL) |
        | `hermes --tui` | Modern terminal UI |
        | `hermes -z "prompt"` | One-shot query (for scripting) |
        | `hermes status` | Show status of all components |
        | `hermes model` | Switch model / provider |
        | `hermes config` | View or edit configuration |
        | `hermes sessions list` | List past conversations |
        | `hermes -c` | Resume last conversation |
        | `hermes cron` | Manage scheduled jobs |
        | `hermes skills` | Browse and install skills |

        Run `hermes --help` for the full command list.

        ## Notes

        - The Docker image is ~0.9–1.0 GB compressed (download); first pull may take a few minutes. First deployment usually pulls within a minute; later deploys reuse the cached image.
        - First boot may take 30–60 seconds as the agent initializes config files and syncs skills.
        - Using browser tools may cause high memory usage — if you encounter OOM (out of memory) errors, consider upgrading to a larger instance (recommended 4 vCPU / 8 GB RAM).

        ## License

        Hermes Agent is licensed under the [MIT License](https://github.com/NousResearch/hermes-agent/blob/main/LICENSE) by Nous Research.
    resourceRequirement:
        minConfig:
            cpu: 2
            ram: 4
        recommendedConfig:
            cpu: 4
            ram: 8
    services:
        - name: hermes-agent
          icon: https://raw.githubusercontent.com/NousResearch/hermes-agent/main/website/static/img/logo.png
          template: PREBUILT_V2
          spec:
            id: hermes-agent
            source:
                image: nousresearch/hermes-agent:v2026.7.7.2
                command:
                    - /init
                    - /opt/hermes/docker/main-wrapper.sh
                    - gateway
                    - run
            ports:
                - id: web
                  port: 9119
                  type: HTTP
                - id: api
                  port: 5000
                  type: HTTP
            volumes:
                - id: data
                  dir: /opt/data
            instructions:
                - title: API Server URL (bind a domain to the api port)
                  content: ${ZEABUR_API_URL}/v1/chat/completions
                - title: API Server Key
                  content: ${API_SERVER_KEY}
                - title: Dashboard Username
                  content: admin
                - title: Dashboard Password
                  content: ${PASSWORD}
            env:
                AI_HUB_API_KEY:
                    default: ${AI_HUB_API_KEY}
                API_SERVER_ENABLED:
                    default: "true"
                API_SERVER_HOST:
                    default: 0.0.0.0
                API_SERVER_KEY:
                    default: ${PASSWORD}
                    expose: true
                API_SERVER_PORT:
                    default: "5000"
                HERMES_DASHBOARD:
                    default: "true"
                HERMES_DASHBOARD_BASIC_AUTH_PASSWORD:
                    default: ${PASSWORD}
                HERMES_DASHBOARD_BASIC_AUTH_SECRET:
                    default: ${PASSWORD}
                HERMES_DASHBOARD_BASIC_AUTH_USERNAME:
                    default: admin
            configs:
                - path: /etc/cont-init.d/99-zeabur-llm-config
                  template: |
                    #!/command/with-contenv sh
                    HERMES_HOME="${HERMES_HOME:-/opt/data}"
                    cfg="$HERMES_HOME/config.yaml"
                    case "${AI_HUB_API_KEY:-}${LLM_BASE_URL:-}${LLM_MODEL:-}" in
                        "") exit 0 ;;
                    esac
                    [ -f "$cfg" ] || exit 0
                    /opt/hermes/.venv/bin/python - "$cfg" <<'PY' || { echo "[zeabur] LLM config patch failed; continuing"; exit 0; }
                    import os, sys, yaml
                    path = sys.argv[1]
                    with open(path) as f:
                        cfg = yaml.safe_load(f) or {}
                    model = cfg.get("model") or {}
                    aihub = os.environ.get("AI_HUB_API_KEY", "").strip()
                    base = os.environ.get("LLM_BASE_URL", "").strip()
                    name = os.environ.get("LLM_MODEL", "").strip()
                    if aihub or base:
                        # provider must be "custom" so the key is sent to a non-OpenRouter
                        # base_url (otherwise upstream returns 401).
                        model["provider"] = "custom"
                        model["base_url"] = base or "https://sfo1.aihub.zeabur.ai/v1"
                        model["api_key"] = aihub or os.environ.get("OPENROUTER_API_KEY", "")
                        # The seeded default model is an OpenRouter-style id; pick a valid
                        # AI Hub model so an AI-Hub-only deploy works with no extra input.
                        if not name:
                            name = "claude-sonnet-4-5"
                    if name:
                        model["default"] = name
                    cfg["model"] = model
                    with open(path, "w") as f:
                        yaml.safe_dump(cfg, f, sort_keys=False, allow_unicode=True)
                    print(f"[zeabur] LLM configured: provider={model.get('provider')} base_url={model.get('base_url')} model={model.get('default')}")
                    PY
                    chown hermes:hermes "$cfg" 2>/dev/null || true
                    exit 0
                  permission: 493
                  envsubst: false
          domainKey:
            - port: web
              variable: PUBLIC_DOMAIN
localization:
    es-ES:
        description: |
            Hermes Agent de NousResearch — un agente de IA autónomo con memoria persistente, uso de herramientas, programación de tareas y más de 14 plataformas de mensajería (Telegram, Discord, Slack, WhatsApp, Signal, Matrix, WeChat, WeCom, Feishu, DingTalk, Email, y más). Incluye un servidor API compatible con OpenAI.
        variables:
            - key: AI_HUB_API_KEY
              type: STRING
              name: Clave de Zeabur AI Hub
              description: Genere una clave de Zeabur AI Hub y listo — es lo único que necesita; el agente y el dashboard web funcionan de inmediato. Para usar OpenRouter, otro proveedor o Telegram, añada las variables de entorno correspondientes tras el despliegue (consulte el README).
            - key: PUBLIC_DOMAIN
              type: STRING
              name: Dominio del Dashboard
              description: Un dominio para el dashboard web, p. ej. my-hermes → my-hermes.zeabur.app. Es la URL que abre e inicia sesión. Puede vincular un dominio personalizado más tarde.
        readme: |
            # Hermes Agent

            [Hermes Agent](https://github.com/NousResearch/hermes-agent) es un agente de IA autónomo desarrollado por [Nous Research](https://nousresearch.com/). Cuenta con memoria persistente, más de 40 herramientas integradas, programación de tareas y soporte de mensajería multiplataforma.

            ## Inicio rápido

            1. **Despliegue esta plantilla** — genere una **clave de Zeabur AI Hub** e indique un **dominio para el Dashboard** (p. ej. `my-hermes`). Eso es todo; el agente y el Dashboard funcionan de inmediato.
            2. **Abra el Dashboard** — vaya a su dominio (vinculado al Dashboard automáticamente). Puede añadir un dominio personalizado más tarde en la pestaña **Redes**.
            3. **Inicie sesión** — usuario `admin`, contraseña = el `PASSWORD` de su servicio (mostrado en las instrucciones del servicio). Chatee en el navegador — sin necesidad de Telegram.

            > ¿Quiere usar OpenRouter, otro proveedor (Minimax, Kimi, …) o Telegram en su lugar? Añada las variables de entorno correspondientes tras el despliegue — consulte **Modelos y proveedores** y **Plataformas de mensajería** más abajo.

            ## Puertos y dominios

            Este servicio expone dos puertos HTTP:

            | Puerto | Id | Propósito | Dominio |
            |--------|----|-----------|---------|
            | **9119** | `web` | Dashboard web (activo por defecto, protegido con login) | El dominio principal del servicio — ábralo e inicie sesión |
            | **5000** | `api` | Servidor API compatible con OpenAI | Vincule un dominio solo si necesita acceso externo a la API |

            **Las plataformas de mensajería (Telegram, Discord, Slack, etc.) usan conexiones salientes — no requieren URL pública ni puertos abiertos.**

            ### Usar el Dashboard web

            El Dashboard está **activado por defecto** y protegido con login. Abra el dominio de su servicio (puerto **web**) e inicie sesión:
            - Usuario: `admin`
            - Contraseña: el valor `PASSWORD` de su servicio (mostrado en las instrucciones del servicio)

            Para desactivarlo, ponga `HERMES_DASHBOARD=false` en la pestaña **Variables**. Para cambiar las credenciales, configure `HERMES_DASHBOARD_BASIC_AUTH_USERNAME` / `HERMES_DASHBOARD_BASIC_AUTH_PASSWORD`.

            > **Nota de seguridad:** La autenticación básica es ideal para un backend en una red de confianza; para una exposición pública reforzada use OAuth (`HERMES_DASHBOARD_OAUTH_CLIENT_ID`) u OIDC autoalojado (`HERMES_DASHBOARD_OIDC_*`) — consulte la [referencia de variables de entorno](https://hermes-agent.nousresearch.com/docs/reference/environment-variables).

            ### Usar la API compatible con OpenAI

            Vincule un dominio al puerto **`api`** (5000) en la pestaña **Redes** y envíe solicitudes con su clave API generada automáticamente:

            ```bash
            curl https://YOUR_API_DOMAIN/v1/chat/completions \
              -H "Authorization: Bearer YOUR_API_SERVER_KEY" \
              -H "Content-Type: application/json" \
              -d '{"model": "default", "messages": [{"role": "user", "content": "Hello!"}]}'
            ```

            ## Plataformas de mensajería

            La mensajería es **opcional** — por defecto interactúa a través del Dashboard web (sin necesidad de ninguna plataforma). Para conectar **Telegram**, añada `TELEGRAM_BOT_TOKEN` (de @BotFather) y `TELEGRAM_ALLOWED_USERS` (su ID de usuario de Telegram, de @userinfobot) en la pestaña **Variables** y reinicie. Hermes admite más de 14 plataformas (Discord, Slack, WhatsApp, Signal, Matrix, Email, WeChat, WeCom, Feishu, DingTalk, QQ Bot, Mattermost, BlueBubbles/iMessage, SMS, Home Assistant, webhooks genéricos) — cada una se activa configurando sus variables de entorno después del despliegue.

            Consulte la guía oficial de [Messaging Gateway](https://hermes-agent.nousresearch.com/docs/user-guide/messaging) para instrucciones de configuración de cada plataforma.

            ## Modelos y proveedores

            De fábrica, esta plantilla usa **Zeabur AI Hub** (clave de la variable **Clave de Zeabur AI Hub**), el modelo `claude-sonnet-4-5` y la región `sfo1`. Para cambiarlo, añada lo siguiente en la pestaña **Variables** y reinicie:

            - **Modelo** — ponga `LLM_MODEL` en cualquier [modelo de AI Hub](https://zeabur.com/ai).
            - **Región** — ponga `LLM_BASE_URL` en `https://hnd1.aihub.zeabur.ai/v1` para Tokio (por defecto es `sfo1`).
            - **OpenRouter en su lugar** — configure `OPENROUTER_API_KEY` (deje vacía la clave de AI Hub); Hermes lo detecta automáticamente.
            - **Otro proveedor** (Minimax, Kimi, GLM/Zhipu, Gemini, NVIDIA, xAI, …) — añada la variable de entorno con la clave API de ese proveedor (p. ej. `KIMI_API_KEY`, `MINIMAX_API_KEY`) y elija el modelo con `hermes model` en la pestaña **Exec**. Consulte la guía de [Configuration](https://hermes-agent.nousresearch.com/docs/user-guide/configuration) y la [referencia de variables de entorno](https://hermes-agent.nousresearch.com/docs/reference/environment-variables).

            > `LLM_MODEL` / `LLM_BASE_URL` y la clave de AI Hub se aplican al bloque `model` de `/opt/data/config.yaml` en cada arranque. Déjelas sin configurar para gestionar `config.yaml` a mano.

            ## Configuración

            - **Proveedores de LLM, herramientas y demás ajustes** — consulte la guía oficial de [Configuration](https://hermes-agent.nousresearch.com/docs/user-guide/configuration) y la [referencia de variables de entorno](https://hermes-agent.nousresearch.com/docs/reference/environment-variables).
            - Edite los archivos de configuración en `/opt/data/` a través de la pestaña «Archivos» de Zeabur:
              - `config.yaml` — selección de modelo, backend de terminal, configuración de plataformas
              - `SOUL.md` — personalidad del agente y prompt del sistema
              - `.env` — todas las variables de entorno
            - Después de editar, reinicie el servicio para aplicar los cambios.

            ## Acceso CLI

            Puede usar la CLI de Hermes directamente desde la pestaña **Exec** de Zeabur (o `zeabur service exec`):

            | Comando | Descripción |
            |---------|-------------|
            | `hermes` | Chat interactivo (REPL) |
            | `hermes --tui` | Interfaz de terminal moderna |
            | `hermes -z "prompt"` | Consulta única (para scripts) |
            | `hermes status` | Estado de todos los componentes |
            | `hermes model` | Cambiar modelo / proveedor |
            | `hermes config` | Ver o editar configuración |
            | `hermes sessions list` | Listar conversaciones |
            | `hermes -c` | Reanudar última conversación |
            | `hermes cron` | Gestionar tareas programadas |
            | `hermes skills` | Explorar e instalar habilidades |

            Ejecute `hermes --help` para ver la lista completa de comandos.

            ## Notas

            - La imagen Docker es de ~1.3 GB (descarga). El primer despliegue suele descargarse en menos de un minuto; los despliegues posteriores reutilizan la imagen en caché.
            - El primer arranque tarda 30-60 segundos en inicializar los archivos de configuración y sincronizar las habilidades.
            - El uso de herramientas del navegador puede causar un alto consumo de memoria — si encuentra errores OOM (memoria insuficiente), considere actualizar a una instancia mayor (recomendado 4 vCPU / 8 GB RAM).

            ## Licencia

            Hermes Agent está licenciado bajo la [Licencia MIT](https://github.com/NousResearch/hermes-agent/blob/main/LICENSE) por Nous Research.
    id-ID:
        description: |
            Hermes Agent oleh NousResearch — agen AI otonom dengan memori persisten, penggunaan alat, penjadwalan tugas, dan 14+ platform pesan (Telegram, Discord, Slack, WhatsApp, Signal, Matrix, WeChat, WeCom, Feishu, DingTalk, Email, dan lainnya). Dilengkapi server API yang kompatibel dengan OpenAI.
        variables:
            - key: AI_HUB_API_KEY
              type: STRING
              name: Kunci Zeabur AI Hub
              description: Buat kunci Zeabur AI Hub dan selesai — hanya ini yang Anda perlukan; agen dan dashboard web langsung berfungsi. Untuk menggunakan OpenRouter, penyedia lain, atau Telegram, tambahkan variabel lingkungan terkait setelah deploy (lihat README).
            - key: PUBLIC_DOMAIN
              type: STRING
              name: Domain Dashboard
              description: Domain untuk dashboard web, mis. my-hermes → my-hermes.zeabur.app. Inilah URL yang Anda buka dan login. Anda bisa bind domain kustom nanti.
        readme: |
            # Hermes Agent

            [Hermes Agent](https://github.com/NousResearch/hermes-agent) adalah agen AI otonom yang dikembangkan oleh [Nous Research](https://nousresearch.com/). Dilengkapi dengan memori persisten, 40+ alat bawaan, penjadwalan tugas, dan dukungan pesan multi-platform.

            ## Mulai Cepat

            1. **Deploy template ini** — buat sebuah **kunci Zeabur AI Hub** dan isi sebuah **domain Dashboard** (mis. `my-hermes`). Itu saja; agen dan Dashboard langsung berfungsi.
            2. **Buka Dashboard** — kunjungi domain Anda (otomatis ter-bind ke Dashboard). Anda bisa menambahkan domain kustom nanti di tab **Networking**.
            3. **Masuk** — nama pengguna `admin`, kata sandi = `PASSWORD` layanan Anda (ditampilkan pada instruksi layanan). Langsung chat di browser — tanpa Telegram.

            > Ingin menggunakan OpenRouter, penyedia lain (Minimax, Kimi, …), atau Telegram? Tambahkan variabel lingkungan terkait setelah deploy — lihat **Model & Penyedia** dan **Platform Pesan** di bawah.

            ## Port & Domain

            Layanan ini menyediakan dua port HTTP:

            | Port | Id | Tujuan | Domain |
            |------|----|--------|--------|
            | **9119** | `web` | Dashboard web (aktif secara bawaan, dilindungi login) | Domain utama layanan — buka dan masuk |
            | **5000** | `api` | Server API kompatibel OpenAI | Bind domain hanya jika perlu akses API eksternal |

            **Platform pesan (Telegram, Discord, Slack, dll.) menggunakan koneksi keluar — tidak memerlukan URL publik atau port yang dibuka.**

            ### Menggunakan Dashboard web

            Dashboard **aktif secara bawaan** dan dilindungi login. Buka domain layanan Anda (port **web**) lalu masuk:
            - Nama pengguna: `admin`
            - Kata sandi: nilai `PASSWORD` layanan Anda (ditampilkan pada instruksi layanan)

            Untuk menonaktifkan, atur `HERMES_DASHBOARD=false` di tab **Variables**. Untuk mengubah kredensial, atur `HERMES_DASHBOARD_BASIC_AUTH_USERNAME` / `HERMES_DASHBOARD_BASIC_AUTH_PASSWORD`.

            > **Catatan keamanan:** Basic auth cocok untuk backend di balik jaringan tepercaya; untuk eksposur publik yang lebih kuat gunakan OAuth (`HERMES_DASHBOARD_OAUTH_CLIENT_ID`) atau OIDC mandiri (`HERMES_DASHBOARD_OIDC_*`) — lihat [referensi variabel lingkungan](https://hermes-agent.nousresearch.com/docs/reference/environment-variables).

            ### Menggunakan OpenAI-compatible API

            Bind domain ke port **`api`** (5000) di tab **Networking**, lalu kirim permintaan dengan kunci API yang dibuat otomatis:

            ```bash
            curl https://YOUR_API_DOMAIN/v1/chat/completions \
              -H "Authorization: Bearer YOUR_API_SERVER_KEY" \
              -H "Content-Type: application/json" \
              -d '{"model": "default", "messages": [{"role": "user", "content": "Hello!"}]}'
            ```

            ## Platform Pesan

            Pesan bersifat **opsional** — secara bawaan Anda berinteraksi melalui Dashboard web (tanpa perlu platform apa pun). Untuk menghubungkan **Telegram**, tambahkan `TELEGRAM_BOT_TOKEN` (dari @BotFather) dan `TELEGRAM_ALLOWED_USERS` (ID pengguna Telegram Anda dari @userinfobot) di tab **Variables**, lalu restart. Hermes mendukung 14+ platform (Discord, Slack, WhatsApp, Signal, Matrix, Email, WeChat, WeCom, Feishu, DingTalk, QQ Bot, Mattermost, BlueBubbles/iMessage, SMS, Home Assistant, webhook umum) — masing-masing diaktifkan dengan mengatur variabel lingkungannya setelah deployment.

            Lihat panduan resmi [Messaging Gateway](https://hermes-agent.nousresearch.com/docs/user-guide/messaging) untuk instruksi pengaturan setiap platform.

            ## Model & Penyedia

            Secara bawaan, template ini menggunakan **Zeabur AI Hub** (kunci dari variabel **Kunci Zeabur AI Hub**), model `claude-sonnet-4-5`, region `sfo1`. Untuk mengubahnya, tambahkan berikut ini di tab **Variables** lalu restart:

            - **Model** — atur `LLM_MODEL` ke salah satu [model AI Hub](https://zeabur.com/ai).
            - **Region** — atur `LLM_BASE_URL` ke `https://hnd1.aihub.zeabur.ai/v1` untuk Tokyo (default-nya `sfo1`).
            - **OpenRouter sebagai gantinya** — atur `OPENROUTER_API_KEY` (kosongkan kunci AI Hub); Hermes mendeteksinya secara otomatis.
            - **Penyedia lain** (Minimax, Kimi, GLM/Zhipu, Gemini, NVIDIA, xAI, …) — tambahkan variabel lingkungan kunci API penyedia tersebut (mis. `KIMI_API_KEY`, `MINIMAX_API_KEY`) dan pilih model dengan `hermes model` di tab **Exec**. Lihat panduan [Configuration](https://hermes-agent.nousresearch.com/docs/user-guide/configuration) dan [referensi variabel lingkungan](https://hermes-agent.nousresearch.com/docs/reference/environment-variables).

            > `LLM_MODEL` / `LLM_BASE_URL` beserta kunci AI Hub diterapkan ke blok `model` pada `/opt/data/config.yaml` setiap kali start. Kosongkan untuk mengelola `config.yaml` secara manual.

            ## Konfigurasi

            - **Penyedia LLM, alat, dan pengaturan lainnya** — lihat panduan resmi [Configuration](https://hermes-agent.nousresearch.com/docs/user-guide/configuration) dan [referensi variabel lingkungan](https://hermes-agent.nousresearch.com/docs/reference/environment-variables).
            - Edit file konfigurasi di `/opt/data/` melalui tab "Berkas" Zeabur:
              - `config.yaml` — pemilihan model, backend terminal, pengaturan platform
              - `SOUL.md` — kepribadian agen dan system prompt
              - `.env` — semua variabel lingkungan
            - Setelah mengedit, restart layanan untuk menerapkan perubahan.

            ## Akses CLI

            Anda dapat menggunakan CLI Hermes langsung melalui tab **Exec** Zeabur (atau `zeabur service exec`):

            | Perintah | Deskripsi |
            |----------|-----------|
            | `hermes` | Chat interaktif (REPL) |
            | `hermes --tui` | UI terminal modern |
            | `hermes -z "prompt"` | Kueri sekali jalan (untuk skrip) |
            | `hermes status` | Tampilkan status semua komponen |
            | `hermes model` | Ganti model / penyedia |
            | `hermes config` | Lihat atau edit konfigurasi |
            | `hermes sessions list` | Daftar riwayat percakapan |
            | `hermes -c` | Lanjutkan percakapan terakhir |
            | `hermes cron` | Kelola tugas terjadwal |
            | `hermes skills` | Jelajahi dan instal skill |

            Jalankan `hermes --help` untuk daftar perintah lengkap.

            ## Catatan

            - Image Docker berukuran ~1.3 GB (unduhan). Deployment pertama biasanya selesai diunduh dalam waktu kurang dari satu menit; deployment berikutnya menggunakan kembali image dari cache.
            - Boot pertama memerlukan 30-60 detik untuk menginisialisasi file konfigurasi dan menyinkronkan skill.
            - Penggunaan alat browser dapat menyebabkan penggunaan memori yang tinggi — jika mengalami error OOM (kehabisan memori), pertimbangkan untuk meningkatkan ke instance yang lebih besar (disarankan 4 vCPU / 8 GB RAM).

            ## Lisensi

            Hermes Agent dilisensikan di bawah [Lisensi MIT](https://github.com/NousResearch/hermes-agent/blob/main/LICENSE) oleh Nous Research.
    ja-JP:
        description: |
            Hermes Agent（NousResearch 開発）— 永続メモリ、ツール使用、スケジュール実行、14+ メッセージングプラットフォーム（Telegram、Discord、Slack、WhatsApp、Signal、Matrix、WeChat、WeCom、Feishu、DingTalk、Email など）を備えた自律型 AI エージェント。OpenAI 互換 API サーバー内蔵。
        variables:
            - key: AI_HUB_API_KEY
              type: STRING
              name: Zeabur AI Hub キー
              description: Zeabur AI Hub キーを生成すれば準備完了——必要な入力はこれだけで、エージェントとウェブ Dashboard はそのまま使えます。OpenRouter や他のプロバイダー、Telegram を使う場合は、デプロイ後に対応する環境変数を追加してください（README を参照）。
            - key: PUBLIC_DOMAIN
              type: STRING
              name: Dashboard ドメイン
              description: ウェブ Dashboard 用のドメイン。例：my-hermes → my-hermes.zeabur.app。これが開いてログインする URL です。後からカスタムドメインも設定できます。
        readme: |
            # Hermes Agent

            [Hermes Agent](https://github.com/NousResearch/hermes-agent) は [Nous Research](https://nousresearch.com/) が開発した自律型 AI エージェントです。永続メモリ、40 以上の組み込みツール、スケジュール実行、マルチプラットフォームメッセージングに対応しています。

            ## クイックスタート

            1. **このテンプレートをデプロイ** — **Zeabur AI Hub キー**を生成し、**Dashboard ドメイン**（例：`my-hermes`）を入力します。これだけで、エージェントと Dashboard はそのまま使えます。
            2. **Dashboard を開く** — あなたのドメインにアクセスします（Dashboard に自動でバインドされます）。後から**ネットワーク**タブでカスタムドメインも設定できます。
            3. **ログイン** — ユーザー名 `admin`、パスワードはサービスの `PASSWORD`（サービス説明に表示）。ブラウザで直接チャットできます — Telegram は不要です。

            > OpenRouter、他のプロバイダー（Minimax、Kimi など）、または Telegram を使いたい場合は、デプロイ後に対応する環境変数を追加してください — 下記の**モデルとプロバイダー**および**メッセージプラットフォーム**を参照してください。

            ## ポートとドメイン

            このサービスは 2 つの HTTP ポートを提供します：

            | ポート | Id | 用途 | ドメイン |
            |--------|----|------|----------|
            | **9119** | `web` | ウェブ Dashboard（標準で有効・ログイン保護付き） | サービスのメインドメイン — 開いてログイン |
            | **5000** | `api` | OpenAI 互換 API サーバー | 外部 API アクセスが必要な場合のみドメインをバインド |

            **メッセージングプラットフォーム（Telegram、Discord、Slack など）はアウトバウンド接続を使用するため、公開 URL やポートの開放は不要です。**

            ### ウェブ Dashboard を使用する

            Dashboard は**標準で有効**で、ログイン保護されています。サービスのドメイン（**web** ポート）を開いてログインします：
            - ユーザー名：`admin`
            - パスワード：サービスの `PASSWORD` 値（サービス説明に表示）

            無効にするには、**変数**タブで `HERMES_DASHBOARD` を `false` に設定します。認証情報を変更するには `HERMES_DASHBOARD_BASIC_AUTH_USERNAME` ／ `HERMES_DASHBOARD_BASIC_AUTH_PASSWORD` を設定します。

            > **セキュリティに関する注意：** Basic 認証のログインは信頼できるネットワーク内のバックエンド向けです。公開インターネットでより強固に保護するには OAuth（`HERMES_DASHBOARD_OAUTH_CLIENT_ID`）またはセルフホスト OIDC（`HERMES_DASHBOARD_OIDC_*`）を使用してください（[環境変数リファレンス](https://hermes-agent.nousresearch.com/docs/reference/environment-variables)を参照）。

            ### OpenAI 互換 API を使用する

            **ネットワーク**タブで **`api`** ポート（5000）にドメインをバインドし、自動生成された API キー（サービス説明に表示）でリクエストを送信：

            ```bash
            curl https://YOUR_API_DOMAIN/v1/chat/completions \
              -H "Authorization: Bearer YOUR_API_SERVER_KEY" \
              -H "Content-Type: application/json" \
              -d '{"model": "default", "messages": [{"role": "user", "content": "Hello!"}]}'
            ```

            ## メッセージプラットフォーム

            メッセージングは**任意**です — デフォルトではウェブ Dashboard で操作します（プラットフォームは不要）。**Telegram** を接続するには、**変数**タブで `TELEGRAM_BOT_TOKEN`（@BotFather から取得）と `TELEGRAM_ALLOWED_USERS`（@userinfobot から取得するあなたの Telegram ユーザー ID）を追加し、サービスを再起動します。Hermes は 14+ のプラットフォーム（Discord、Slack、WhatsApp、Signal、Matrix、Email、WeChat、WeCom、Feishu、DingTalk、QQ Bot、Mattermost、BlueBubbles/iMessage、SMS、Home Assistant、汎用 webhook）に対応しており、いずれもデプロイ後にその環境変数を設定するだけで有効化できます。

            詳細は公式 [Messaging Gateway ガイド](https://hermes-agent.nousresearch.com/docs/user-guide/messaging)をご覧ください。

            ## モデルとプロバイダー

            このテンプレートは標準で **Zeabur AI Hub**（キーは「Zeabur AI Hub キー」変数から）、モデル `claude-sonnet-4-5`、リージョン `sfo1` を使用します。変更するには、**変数**タブで以下を追加して再起動してください：

            - **モデル** — `LLM_MODEL` を任意の [AI Hub モデル](https://zeabur.com/ai)に設定します。
            - **リージョン** — 東京を使う場合は `LLM_BASE_URL` を `https://hnd1.aihub.zeabur.ai/v1` に設定します（デフォルトは `sfo1`）。
            - **OpenRouter を使う** — `OPENROUTER_API_KEY` を設定します（AI Hub キーは空のままに）。Hermes が自動検出します。
            - **他のプロバイダー**（Minimax、Kimi、GLM/Zhipu、Gemini、NVIDIA、xAI など）— そのプロバイダーの API キー環境変数（例：`KIMI_API_KEY`、`MINIMAX_API_KEY`）を追加し、**Exec** タブで `hermes model` を使ってモデルを選択します。[Configuration ガイド](https://hermes-agent.nousresearch.com/docs/user-guide/configuration)と[環境変数リファレンス](https://hermes-agent.nousresearch.com/docs/reference/environment-variables)を参照してください。

            > `LLM_MODEL` ／ `LLM_BASE_URL` と AI Hub キーは、起動のたびに `/opt/data/config.yaml` の `model` ブロックに適用されます。`config.yaml` を手動で管理したい場合は空欄のままにしてください。

            ## 設定

            - **LLM プロバイダー、ツール、その他の設定** — 公式 [Configuration ガイド](https://hermes-agent.nousresearch.com/docs/user-guide/configuration)と[環境変数リファレンス](https://hermes-agent.nousresearch.com/docs/reference/environment-variables)を参照してください。
            - Zeabur の「ファイル」タブで `/opt/data/` 内の設定ファイルを編集：
              - `config.yaml` — モデル選択、ターミナルバックエンド、プラットフォーム設定
              - `SOUL.md` — エージェントの性格とシステムプロンプト
              - `.env` — すべての環境変数
            - 編集後、サービスを再起動して変更を適用してください。

            ## CLI 操作

            Zeabur の **Exec** タブ（または `zeabur service exec`）から Hermes CLI を直接使用できます：

            | コマンド | 説明 |
            |----------|------|
            | `hermes` | 対話型チャット（REPL） |
            | `hermes --tui` | モダンターミナル UI |
            | `hermes -z "prompt"` | ワンショットクエリ（スクリプト向け） |
            | `hermes status` | 全コンポーネントのステータス表示 |
            | `hermes model` | モデル／プロバイダーの切り替え |
            | `hermes config` | 設定の表示・編集 |
            | `hermes sessions list` | 会話履歴の一覧 |
            | `hermes -c` | 前回の会話を再開 |
            | `hermes cron` | スケジュールジョブの管理 |
            | `hermes skills` | スキルの閲覧・インストール |

            `hermes --help` で全コマンド一覧を表示できます。

            ## 注意事項

            - Docker イメージは約 1.3 GB（ダウンロードサイズ）。初回デプロイは通常 1 分以内に取得が完了し、以降のデプロイはキャッシュ済みイメージを再利用します。
            - 初回起動時、設定ファイルの初期化とスキル同期に 30〜60 秒かかります。
            - ブラウザツールの使用によりメモリ使用量が増加する場合があります。OOM（メモリ不足）エラーが発生した場合は、より大きなインスタンスへのアップグレードをお勧めします（推奨 4 vCPU / 8 GB RAM）。

            ## ライセンス

            Hermes Agent は Nous Research により [MIT ライセンス](https://github.com/NousResearch/hermes-agent/blob/main/LICENSE)で公開されています。
    zh-CN:
        description: |
            Hermes Agent 由 NousResearch 开发，是一款具备持久记忆、工具使用、定时任务及 14+ 消息平台集成（Telegram、Discord、Slack、WhatsApp、Signal、Matrix、微信、企业微信、飞书、钉钉、Email 等）的自主 AI 代理。内置 OpenAI 兼容 API 服务器。
        variables:
            - key: AI_HUB_API_KEY
              type: STRING
              name: Zeabur AI Hub 密钥
              description: 生成一组 Zeabur AI Hub 密钥即可开始——这是唯一需要的输入，Agent 与网页 Dashboard 开箱即用。若想改用 OpenRouter、其他供应商或 Telegram，请在部署后自行新增对应的环境变量（见 README）。
            - key: PUBLIC_DOMAIN
              type: STRING
              name: Dashboard 域名
              description: 网页 Dashboard 的域名，例如 my-hermes → my-hermes.zeabur.app，就是你打开并登录的网址。之后也可绑定自定义域名。
        readme: |
            # Hermes Agent

            [Hermes Agent](https://github.com/NousResearch/hermes-agent) 是由 [Nous Research](https://nousresearch.com/) 开发的自主 AI 代理，具备持久记忆、40 多种内置工具、定时任务及多平台消息集成。

            ## 快速开始

            1. **部署此模板** — 生成一组 **Zeabur AI Hub 密钥**，并填一个 **Dashboard 域名**（例如 `my-hermes`）。就这样，Agent 与 Dashboard 开箱即用。
            2. **打开 Dashboard** — 前往你的域名（已自动绑定到 Dashboard）。之后可在「网络」标签页绑定自定义域名。
            3. **登录** — 账号 `admin`，密码为服务的 `PASSWORD`（显示在服务说明中）。直接在浏览器里对话——不需要 Telegram。

            > 想改用 OpenRouter、其他供应商（Minimax、Kimi……）或 Telegram 吗？请在部署后新增对应的环境变量——详见下方的**模型与供应商**及**消息平台**。

            ## 端口与域名

            此服务提供两个 HTTP 端口：

            | 端口 | Id | 用途 | 域名 |
            |------|----|------|------|
            | **9119** | `web` | 网页 Dashboard（默认开启，已带登录） | 服务的主域名——打开后登录即可 |
            | **5000** | `api` | OpenAI 兼容 API 服务器 | 仅在需要外部 API 访问时才绑定域名 |

            **消息平台（Telegram、Discord、Slack 等）使用出站连接，不需要公开 URL 或开放任何端口。**

            ### 使用网页 Dashboard

            Dashboard **默认开启**并带登录保护。打开服务的域名（**web** 端口）后登录：
            - 账号：`admin`
            - 密码：服务的 `PASSWORD` 值（显示在服务说明中）

            若要停用，在「变量」标签页把 `HERMES_DASHBOARD` 设为 `false`。若要修改账密，设置 `HERMES_DASHBOARD_BASIC_AUTH_USERNAME` ／ `HERMES_DASHBOARD_BASIC_AUTH_PASSWORD`。

            > **安全提示：** Basic auth 登录适合受信任网络后方的后端；若需要更强的公网防护，请改用 OAuth（`HERMES_DASHBOARD_OAUTH_CLIENT_ID`）或自建 OIDC（`HERMES_DASHBOARD_OIDC_*`），详见[环境变量参考文档](https://hermes-agent.nousresearch.com/docs/reference/environment-variables)。

            ### 使用 OpenAI 兼容 API

            在「网络」标签页将域名绑定到 **`api`** 端口（5000），再使用自动生成的 API 密钥（显示在服务说明中）发送请求：

            ```bash
            curl https://YOUR_API_DOMAIN/v1/chat/completions \
              -H "Authorization: Bearer YOUR_API_SERVER_KEY" \
              -H "Content-Type: application/json" \
              -d '{"model": "default", "messages": [{"role": "user", "content": "Hello!"}]}'
            ```

            ## 消息平台

            消息平台为**可选**——默认通过网页 Dashboard 交互（不需要任何平台）。若要连接 **Telegram**，请在「变量」标签页新增 `TELEGRAM_BOT_TOKEN`（向 @BotFather 获取）与 `TELEGRAM_ALLOWED_USERS`（你的 Telegram 用户 ID，向 @userinfobot 获取），然后重启服务。Hermes 支持 14+ 种平台（Discord、Slack、WhatsApp、Signal、Matrix、Email、微信、企业微信、飞书、钉钉、QQ Bot、Mattermost、BlueBubbles/iMessage、SMS、Home Assistant、通用 webhook）——每一个都是在部署后设置其环境变量即可启用。

            详见官方 [Messaging Gateway 指南](https://hermes-agent.nousresearch.com/docs/user-guide/messaging)。

            ## 模型与供应商

            开箱即用时，此模板使用 **Zeabur AI Hub**（密钥来自「Zeabur AI Hub 密钥」变量）、模型 `claude-sonnet-4-5`、区域 `sfo1`。若要调整，请在「变量」标签页新增以下项目并重启：

            - **模型** — 把 `LLM_MODEL` 设为任一 [AI Hub 模型](https://zeabur.com/ai)。
            - **区域** — 把 `LLM_BASE_URL` 设为 `https://hnd1.aihub.zeabur.ai/v1` 即可使用东京（默认为 `sfo1`）。
            - **改用 OpenRouter** — 设置 `OPENROUTER_API_KEY`（并把 AI Hub 密钥留空），Hermes 会自动检测。
            - **其他供应商**（Minimax、Kimi、GLM/智谱、Gemini、NVIDIA、xAI……）— 新增该供应商的 API 密钥环境变量（例如 `KIMI_API_KEY`、`MINIMAX_API_KEY`），并在「Exec」标签页用 `hermes model` 选择模型。详见 [Configuration 指南](https://hermes-agent.nousresearch.com/docs/user-guide/configuration)与[环境变量参考](https://hermes-agent.nousresearch.com/docs/reference/environment-variables)。

            > `LLM_MODEL` ／ `LLM_BASE_URL` 加上 AI Hub 密钥会在每次启动时应用到 `/opt/data/config.yaml` 的 `model` 区块。若想自行手动管理 `config.yaml`，将它们留空即可。

            ## 配置

            - **LLM 供应商、工具及其他设置** — 请参阅官方 [Configuration 指南](https://hermes-agent.nousresearch.com/docs/user-guide/configuration)和[环境变量参考](https://hermes-agent.nousresearch.com/docs/reference/environment-variables)。
            - 通过 Zeabur「文件」标签页编辑 `/opt/data/` 中的配置文件：
              - `config.yaml` — 模型选择、终端后端、平台设置
              - `SOUL.md` — 代理人设与系统提示词
              - `.env` — 所有环境变量
            - 编辑后需重启服务以应用更改。

            ## CLI 操作

            通过 Zeabur **Exec** 标签页（或 `zeabur service exec`）可直接使用 Hermes CLI：

            | 命令 | 说明 |
            |------|------|
            | `hermes` | 交互式聊天（REPL） |
            | `hermes --tui` | 现代终端 UI |
            | `hermes -z "prompt"` | 单次查询（适合脚本） |
            | `hermes status` | 查看所有组件状态 |
            | `hermes model` | 切换模型／供应商 |
            | `hermes config` | 查看或编辑配置 |
            | `hermes sessions list` | 列出对话记录 |
            | `hermes -c` | 继续上次对话 |
            | `hermes cron` | 管理定时任务 |
            | `hermes skills` | 浏览与安装技能 |

            执行 `hermes --help` 查看完整命令列表。

            ## 注意事项

            - Docker 镜像约 1.3 GB（下载大小）。首次部署通常一分钟内即可拉取完成；之后的部署会重用缓存镜像。
            - 首次启动需要 30-60 秒来初始化配置文件和同步技能。
            - 使用浏览器工具可能导致内存占用过高，若遇到 OOM（内存不足）错误，建议升级至更大的实例（推荐 4 vCPU / 8 GB RAM）。

            ## 许可证

            Hermes Agent 由 Nous Research 以 [MIT 许可证](https://github.com/NousResearch/hermes-agent/blob/main/LICENSE) 发布。
    zh-TW:
        description: |
            Hermes Agent 由 NousResearch 開發，是一款具備持久記憶、工具使用、排程任務及 14+ 訊息平台整合（Telegram、Discord、Slack、WhatsApp、Signal、Matrix、微信、企業微信、飛書、釘釘、Email 等）的自主 AI 代理。內建 OpenAI 相容 API 伺服器。
        variables:
            - key: AI_HUB_API_KEY
              type: STRING
              name: Zeabur AI Hub 金鑰
              description: 產生一組 Zeabur AI Hub 金鑰即可開始——這是唯一需要的輸入，Agent 與網頁 Dashboard 開箱即用。若想改用 OpenRouter、其他供應商或 Telegram，請在部署後自行新增對應的環境變數（見 README）。
            - key: PUBLIC_DOMAIN
              type: STRING
              name: Dashboard 網域
              description: 網頁 Dashboard 的網域，例如 my-hermes → my-hermes.zeabur.app，就是你開啟並登入的網址。之後也可綁定自訂網域。
        readme: |
            # Hermes Agent

            [Hermes Agent](https://github.com/NousResearch/hermes-agent) 是由 [Nous Research](https://nousresearch.com/) 開發的自主 AI 代理，具備持久記憶、40 多種內建工具、排程任務及多平台訊息整合。

            ## 快速開始

            1. **部署此模板** — 產生一組 **Zeabur AI Hub 金鑰**，並填一個 **Dashboard 網域**（例如 `my-hermes`）。就這樣，Agent 與 Dashboard 開箱即用。
            2. **開啟 Dashboard** — 前往你的網域（已自動綁定到 Dashboard）。之後可在「網路」分頁綁定自訂網域。
            3. **登入** — 帳號 `admin`，密碼為服務的 `PASSWORD`（顯示於服務說明中）。直接在瀏覽器裡對話——不需要 Telegram。

            > 想改用 OpenRouter、其他供應商（Minimax、Kimi……）或 Telegram 嗎？請在部署後新增對應的環境變數——詳見下方的**模型與供應商**及**訊息平台**。

            ## Port 與網域

            此服務提供兩個 HTTP port：

            | Port | Id | 用途 | 網域 |
            |------|----|------|------|
            | **9119** | `web` | 網頁 Dashboard（預設開啟，已帶登入） | 服務的主網域——開啟後登入即可 |
            | **5000** | `api` | OpenAI 相容 API 伺服器 | 僅在需要外部 API 存取時才綁定網域 |

            **訊息平台（Telegram、Discord、Slack 等）使用對外連線，不需要公開網址或開放任何 port。**

            ### 使用網頁 Dashboard

            Dashboard **預設開啟**並帶登入保護。開啟服務的網域（**web** port）後登入：
            - 帳號：`admin`
            - 密碼：服務的 `PASSWORD` 值（顯示於服務說明中）

            若要停用，在「變數」分頁把 `HERMES_DASHBOARD` 設為 `false`。若要變更帳密，設定 `HERMES_DASHBOARD_BASIC_AUTH_USERNAME` ／ `HERMES_DASHBOARD_BASIC_AUTH_PASSWORD`。

            > **安全提醒：** Basic auth 登入適合受信任網路後方的後端；若要更強的公網防護，請改用 OAuth（`HERMES_DASHBOARD_OAUTH_CLIENT_ID`）或自架 OIDC（`HERMES_DASHBOARD_OIDC_*`），詳見[環境變數參考文件](https://hermes-agent.nousresearch.com/docs/reference/environment-variables)。

            ### 使用 OpenAI 相容 API

            在「網路」分頁將網域綁定到 **`api`** port（5000），再使用自動產生的 API 金鑰（顯示於服務說明中）發送請求：

            ```bash
            curl https://YOUR_API_DOMAIN/v1/chat/completions \
              -H "Authorization: Bearer YOUR_API_SERVER_KEY" \
              -H "Content-Type: application/json" \
              -d '{"model": "default", "messages": [{"role": "user", "content": "Hello!"}]}'
            ```

            ## 訊息平台

            訊息平台為**選填**——預設透過網頁 Dashboard 互動（不需要任何平台）。若要連接 **Telegram**，請在「變數」分頁新增 `TELEGRAM_BOT_TOKEN`（向 @BotFather 取得）與 `TELEGRAM_ALLOWED_USERS`（你的 Telegram 使用者 ID，向 @userinfobot 取得），然後重啟服務。Hermes 支援 14+ 種平台（Discord、Slack、WhatsApp、Signal、Matrix、Email、微信、企業微信、飛書、釘釘、QQ Bot、Mattermost、BlueBubbles/iMessage、SMS、Home Assistant、通用 webhook）——每一個都是在部署後設定其環境變數即可啟用。

            詳見官方 [Messaging Gateway 指南](https://hermes-agent.nousresearch.com/docs/user-guide/messaging)。

            ## 模型與供應商

            開箱即用時，此模板使用 **Zeabur AI Hub**（金鑰來自「Zeabur AI Hub 金鑰」變數）、模型 `claude-sonnet-4-5`、區域 `sfo1`。若要調整，請在「變數」分頁新增以下項目並重啟：

            - **模型** — 把 `LLM_MODEL` 設為任一 [AI Hub 模型](https://zeabur.com/ai)。
            - **區域** — 把 `LLM_BASE_URL` 設為 `https://hnd1.aihub.zeabur.ai/v1` 即可使用東京（預設為 `sfo1`）。
            - **改用 OpenRouter** — 設定 `OPENROUTER_API_KEY`（並把 AI Hub 金鑰留空），Hermes 會自動偵測。
            - **其他供應商**（Minimax、Kimi、GLM/智譜、Gemini、NVIDIA、xAI……）— 新增該供應商的 API 金鑰環境變數（例如 `KIMI_API_KEY`、`MINIMAX_API_KEY`），並在「Exec」分頁用 `hermes model` 選擇模型。詳見 [Configuration 指南](https://hermes-agent.nousresearch.com/docs/user-guide/configuration)與[環境變數參考](https://hermes-agent.nousresearch.com/docs/reference/environment-variables)。

            > `LLM_MODEL` ／ `LLM_BASE_URL` 加上 AI Hub 金鑰會在每次啟動時套用到 `/opt/data/config.yaml` 的 `model` 區塊。若想自行手動管理 `config.yaml`，把它們留空即可。

            ## 設定

            - **LLM 供應商、工具及其他設定** — 請參閱官方 [Configuration 指南](https://hermes-agent.nousresearch.com/docs/user-guide/configuration)和[環境變數參考](https://hermes-agent.nousresearch.com/docs/reference/environment-variables)。
            - 透過 Zeabur「檔案」分頁編輯 `/opt/data/` 中的設定檔：
              - `config.yaml` — 模型選擇、終端後端、平台設定
              - `SOUL.md` — 代理人格與系統提示詞
              - `.env` — 所有環境變數
            - 編輯後需重啟服務以套用變更。

            ## CLI 操作

            透過 Zeabur **Exec** 分頁（或 `zeabur service exec`）可直接使用 Hermes CLI：

            | 指令 | 說明 |
            |------|------|
            | `hermes` | 互動式聊天（REPL） |
            | `hermes --tui` | 現代終端 UI |
            | `hermes -z "prompt"` | 單次查詢（適合腳本） |
            | `hermes status` | 查看所有元件狀態 |
            | `hermes model` | 切換模型／供應商 |
            | `hermes config` | 查看或編輯設定 |
            | `hermes sessions list` | 列出對話記錄 |
            | `hermes -c` | 繼續上次對話 |
            | `hermes cron` | 管理排程任務 |
            | `hermes skills` | 瀏覽與安裝技能 |

            執行 `hermes --help` 查看完整指令列表。

            ## 注意事項

            - Docker 映像檔約 1.3 GB（下載大小）。首次部署通常一分鐘內即可拉取完成；之後的部署會重用快取映像檔。
            - 首次啟動需要 30-60 秒來初始化設定檔和同步技能。
            - 使用瀏覽器工具可能導致記憶體用量過高，若遇到 OOM（記憶體不足）錯誤，建議升級至較大的實例（建議 4 vCPU / 8 GB RAM）。

            ## 授權

            Hermes Agent 由 Nous Research 以 [MIT 授權條款](https://github.com/NousResearch/hermes-agent/blob/main/LICENSE) 釋出。
