# yaml-language-server: $schema=https://schema.zeabur.app/template.json
apiVersion: zeabur.com/v1
kind: Template
metadata:
    name: Multica
spec:
    description: Open-source managed agents platform — turn coding agents into real teammates
    coverImage: https://raw.githubusercontent.com/multica-ai/multica/main/docs/assets/banner.jpg
    icon: https://raw.githubusercontent.com/multica-ai/multica/main/docs/assets/logo-dark.svg
    variables:
        - key: PUBLIC_DOMAIN
          type: DOMAIN
          name: Domain
          description: What is the domain you want for your Multica instance?
    tags:
        - AI
        - Agents
        - Productivity
        - Automation
    readme: |-
        # Multica — Managed Agents Platform (create by SEAFOODHOLDHAND)

        **Multica** turns coding agents into real teammates. Assign issues to an agent like you'd assign to a colleague — they'll pick up the work, write code, report blockers, and update statuses autonomously.

        This template includes:

        - **Multica Backend** — Go API + WebSocket server
        - **Multica Frontend** — Next.js web application
        - **PostgreSQL 18 + pgvector** — database with vector extension
        - **Caddy Gateway** — reverse proxy for unified access (API, WebSocket, and web)

        ## Features

        - **Agents as Teammates** — assign to an agent like you'd assign to a colleague
        - **Squads** — group agents under a leader for stable routing
        - **Autonomous Execution** — full task lifecycle with real-time progress via WebSocket
        - **Autopilots** — schedule recurring work for agents (cron, webhooks, manual)
        - **Reusable Skills** — every solution becomes a reusable skill for the team
        - **Unified Runtimes** — one dashboard for all your compute
        - **Multi-Workspace** — workspace-level isolation for different teams

        Supports: Claude Code, Codex, GitHub Copilot CLI, OpenClaw, OpenCode, Hermes, Gemini, Pi, Cursor Agent, Kimi, Kiro CLI

        ## Login Setup

        This template deploys with **zero configuration** — no email service is required to log in. On the login page, enter your email, then get the 6-digit verification code:

        - **Default (no email service):** open the **Backend** service logs in Zeabur Dashboard → search for `[DEV] Verification code for` → copy the 6-digit code and paste it on the login page
        - **With Resend (recommended):** in Zeabur Dashboard go to **Backend → Variables**, add `RESEND_API_KEY` (your Resend API key from resend.com) and `RESEND_FROM_EMAIL` (a verified sender email, e.g. noreply@yourdomain.com), then restart the **Backend** service. Verification codes will then be sent to your email.

        > **URL not working?** The Gateway service uses `${ZEABUR_WEB_URL}` to auto-detect its public URL. If the login page or API fails to load after deployment, go to **Zeabur Dashboard → Gateway → Variables → APP_URL**, manually set it to your Multica domain (e.g. `https://your-multica.zeabur.app`), then restart the Gateway service.

        ## After Deployment

        1. Open your workspace in the web app
        2. Install the Multica CLI: `brew install multica-ai/tap/multica`
        3. Configure the CLI (replace with your actual domain):
           ```bash
           multica setup self-host --server-url https://your-multica-domain.zeabur.app --app-url https://your-multica-domain.zeabur.app
           ```
           For on-premise deployments with custom domains:
           ```bash
           multica setup self-host --server-url https://app.example.com --app-url https://app.example.com
           ```
        4. Create an agent and start assigning tasks!

        Learn more: https://github.com/multica-ai/multica

        If you encounter any issues during deployment, please let me know via GitHub issues:
        [https://github.com/glasschan/seafoodholdhand-zeabur-templates](https://github.com/glasschan/seafoodholdhand-zeabur-templates)
    services:
        - name: PostgreSQL
          icon: https://raw.githubusercontent.com/zeabur/service-icons/main/marketplace/postgresql.svg
          template: PREBUILT_V2
          spec:
            id: postgresql
            source:
                image: pgvector/pgvector:pg18-trixie
                command:
                    - docker-entrypoint.sh
                    - -c
                    - config_file=/etc/postgresql/postgresql.conf
            ports:
                - id: database
                  port: 5432
                  type: TCP
            volumes:
                - id: data
                  dir: /var/lib/postgresql
            instructions:
                - title: Connection String
                  content: postgresql://${POSTGRES_USERNAME}:***@${PORT_FORWARDED_HOSTNAME}:${DATABASE_PORT_FORWARDED_PORT}/${POSTGRES_DATABASE}
                - title: PostgreSQL Connect Command
                  content: psql "postgresql://${POSTGRES_USERNAME}:***@${PORT_FORWARDED_HOSTNAME}:${DATABASE_PORT_FORWARDED_PORT}/${POSTGRES_DATABASE}"
                - title: PostgreSQL username
                  content: ${POSTGRES_USERNAME}
                - title: PostgreSQL password
                  content: ${POSTGRES_PASSWORD}
                - title: PostgreSQL database
                  content: ${POSTGRES_DATABASE}
                - title: PostgreSQL host
                  content: ${PORT_FORWARDED_HOSTNAME}
                - title: PostgreSQL port
                  content: ${DATABASE_PORT_FORWARDED_PORT}
            env:
                POSTGRES_CONNECTION_STRING:
                    default: postgresql://${POSTGRES_USERNAME}:***@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DATABASE}
                    expose: false
                POSTGRES_DATABASE:
                    default: ${POSTGRES_DB}
                    expose: true
                POSTGRES_DB:
                    default: multica
                    expose: true
                POSTGRES_HOST:
                    default: ${CONTAINER_HOSTNAME}
                    expose: true
                POSTGRES_PASSWORD:
                    default: ${PASSWORD}
                    expose: true
                POSTGRES_PORT:
                    default: ${DATABASE_PORT}
                    expose: true
                POSTGRES_URI:
                    default: ${POSTGRES_CONNECTION_STRING}
                    expose: true
                POSTGRES_USER:
                    default: multica
                    expose: false
                POSTGRES_USERNAME:
                    default: ${POSTGRES_USER}
                    expose: true
            configs:
                - path: /etc/postgresql/postgresql.conf
                  template: |-
                    listen_addresses = '*'
                    max_connections = 100
                    shared_buffers = 128MB
                    dynamic_shared_memory_type = posix
                    max_wal_size = 1GB
                    min_wal_size = 80MB
                    log_timezone = 'Etc/UTC'
                    datestyle = 'iso, mdy'
                    timezone = 'Etc/UTC'
                    lc_messages = 'en_US.utf8'
                    lc_monetary = 'en_US.utf8'
                    lc_numeric = 'en_US.utf8'
                    lc_time = 'en_US.utf8'
                    default_text_search_config = 'pg_catalog.english'
                  permission: null
                  envsubst: null
            healthCheck:
                type: TCP
                port: database
        - name: backend
          icon: https://raw.githubusercontent.com/multica-ai/multica/main/docs/assets/logo-dark.svg
          dependencies:
            - PostgreSQL
            - gateway
          template: PREBUILT_V2
          spec:
            id: backend
            source:
                image: ghcr.io/multica-ai/multica-backend:latest
            ports:
                - id: api
                  port: 8080
                  type: HTTP
            volumes:
                - id: uploads
                  dir: /app/data/uploads
            instructions:
                - title: JWT Secret
                  content: ${PASSWORD}
            env:
                ALLOW_SIGNUP:
                    default: "true"
                    expose: false
                APP_ENV:
                    default: production
                    expose: false
                CORS_ALLOWED_ORIGINS:
                    default: ${APP_URL}
                    expose: false
                DATABASE_URL:
                    default: postgres://${POSTGRES_USERNAME}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}?sslmode=disable
                    expose: false
                FRONTEND_ORIGIN:
                    default: ${APP_URL}
                    expose: false
                JWT_SECRET:
                    default: ${PASSWORD}
                    expose: false
                MULTICA_APP_URL:
                    default: ${APP_URL}
                    expose: false
                MULTICA_PUBLIC_URL:
                    default: ${APP_URL}
                    expose: false
                PORT:
                    default: "8080"
                    expose: false
                RESEND_API_KEY:
                    default: ""
                    expose: false
                RESEND_FROM_EMAIL:
                    default: ""
                    expose: false
            configs: []
        - name: frontend
          icon: https://raw.githubusercontent.com/multica-ai/multica/main/docs/assets/logo-dark.svg
          dependencies:
            - backend
            - gateway
          template: PREBUILT_V2
          spec:
            id: frontend
            source:
                image: ghcr.io/multica-ai/multica-web:latest
            ports:
                - id: web
                  port: 3000
                  type: HTTP
            env:
                HOSTNAME:
                    default: 0.0.0.0
                    expose: false
                REMOTE_API_URL:
                    default: http://backend:8080
                    expose: false
            configs: []
        - name: gateway
          icon: https://raw.githubusercontent.com/multica-ai/multica/main/docs/assets/logo-dark.svg
          template: PREBUILT_V2
          spec:
            id: gateway
            source:
                image: caddy:2-alpine
            ports:
                - id: proxy
                  port: 3000
                  type: HTTP
            env:
                APP_URL:
                    default: ${ZEABUR_WEB_URL}
                    expose: true
            configs:
                - path: /etc/caddy/Caddyfile
                  template: |-
                    :3000 {
                        handle /ws {
                            reverse_proxy backend:8080
                        }
                        handle /health {
                            reverse_proxy backend:8080
                        }
                        handle /readyz {
                            reverse_proxy backend:8080
                        }
                        handle /api/* {
                            reverse_proxy backend:8080
                        }
                        handle /auth/* {
                            reverse_proxy backend:8080
                        }
                        handle /uploads/* {
                            reverse_proxy backend:8080
                        }
                        handle {
                            reverse_proxy frontend:3000
                        }
                    }
                  permission: null
                  envsubst: null
          domainKey: PUBLIC_DOMAIN
localization:
    es-ES:
        description: Plataforma de agentes gestionados de código abierto — convierte agentes de código en verdaderos compañeros de equipo
        variables:
            - key: PUBLIC_DOMAIN
              type: DOMAIN
              name: Dominio
              description: ¿Qué dominio quieres usar para tu instancia de Multica?
        readme: |-
            # Multica — Plataforma de agentes gestionados (create by SEAFOODHOLDHAND)

            **Multica** convierte los agentes de código en verdaderos compañeros de equipo. Asigna tareas a un agente como se las asignarías a un compañero — recogerán el trabajo, escribirán código, informarán de bloqueos y actualizarán estados de forma autónoma.

            Esta plantilla incluye:

            - **Backend de Multica** — API en Go + servidor WebSocket
            - **Frontend de Multica** — Aplicación web Next.js
            - **PostgreSQL 18 + pgvector** — Base de datos con extensión vectorial
            - **Gateway Caddy** — Proxy inverso para acceso unificado (API, WebSocket y web)

            ## Características

            - **Agentes como compañeros** — asigna tareas a un agente como lo harías con un compañero
            - **Escuadrones** — agrupa agentes bajo un líder para un enrutamiento estable
            - **Ejecución autónoma** — ciclo de vida completo de tareas con progreso en tiempo real vía WebSocket
            - **Autopiloto** — programa tareas recurrentes para los agentes (cron, webhooks, manual)
            - **Habilidades reutilizables** — cada solución se convierte en una habilidad reutilizable para el equipo
            - **Runtimes unificados** — un panel para todos tus recursos de cómputo
            - **Multi-espacio de trabajo** — aislamiento a nivel de espacio de trabajo para diferentes equipos

            Soporta: Claude Code, Codex, GitHub Copilot CLI, OpenClaw, OpenCode, Hermes, Gemini, Pi, Cursor Agent, Kimi, Kiro CLI

            ## Configuración de inicio de sesión

            Esta plantilla se despliega **sin configuración** — no necesitas ningún servicio de correo para iniciar sesión. Ingresa tu correo electrónico en la página de login y obtén el código de verificación de 6 dígitos mediante uno de estos métodos:

            - **Predeterminado (sin servicio de correo):** abre los registros del servicio **Backend** en el panel de Zeabur → busca `[DEV] Verification code for` → copia el código de 6 dígitos y pégalo en la página de login
            - **Con Resend (recomendado):** en el panel de Zeabur, ve a **Backend → Variables**, agrega `RESEND_API_KEY` (tu clave de API de Resend desde resend.com) y `RESEND_FROM_EMAIL` (tu dirección de remitente verificada, por ejemplo, noreply@tudominio.com), y reinicia el servicio **Backend**. Después, el código de verificación se enviará a tu correo.

            > **¿URL no accesible?** El servicio Gateway utiliza `${ZEABUR_WEB_URL}` para detectar automáticamente su URL pública. Si la página de login o la API no se cargan después del despliegue, ve a **Panel de Zeabur → Gateway → Variables → APP_URL**, configúralo manualmente con tu dominio de Multica (por ejemplo, `https://your-multica.zeabur.app`), y luego reinicia el servicio Gateway.

            ## Después del despliegue

            1. Abre tu espacio de trabajo en la aplicación web
            2. Instala la CLI de Multica: `brew install multica-ai/tap/multica`
            3. Configura la CLI (reemplaza con tu dominio real):
               ```bash
               multica setup self-host --server-url https://tu-dominio-multica.zeabur.app --app-url https://tu-dominio-multica.zeabur.app
               ```
               Para despliegues on-premise con dominios personalizados:
               ```bash
               multica setup self-host --server-url https://app.ejemplo.com --app-url https://app.ejemplo.com
               ```
            4. ¡Crea un agente y comienza a asignar tareas!

            Más información: https://github.com/multica-ai/multica

            Si encuentras algún problema durante el despliegue, avísame a través de GitHub issues:
            [https://github.com/glasschan/seafoodholdhand-zeabur-templates](https://github.com/glasschan/seafoodholdhand-zeabur-templates)
    id-ID:
        description: Platform agen terkelola sumber terbuka — ubah agen coding menjadi rekan tim yang sesungguhnya
        variables:
            - key: PUBLIC_DOMAIN
              type: DOMAIN
              name: Domain
              description: Domain apa yang ingin Anda gunakan untuk instansi Multica Anda?
        readme: |-
            # Multica — Platform Agen Terkelola (create by SEAFOODHOLDHAND)

            **Multica** mengubah agen coding menjadi rekan tim yang sesungguhnya. Serahkan tugas ke agen seperti Anda menyerahkan ke rekan kerja — mereka akan mengambil pekerjaan, menulis kode, melaporkan hambatan, dan memperbarui status secara mandiri.

            Template ini mencakup:

            - **Backend Multica** — Go API + server WebSocket
            - **Frontend Multica** — Aplikasi web Next.js
            - **PostgreSQL 18 + pgvector** — Database dengan ekstensi vektor
            - **Gateway Caddy** — Reverse proxy untuk akses terpadu (API, WebSocket, dan web)

            ## Fitur

            - **Agen sebagai Rekan Tim** — serahkan tugas ke agen seperti menyerahkan ke rekan kerja
            - **Skuad** — kelompokkan agen di bawah agen pemimpin untuk routing yang stabil
            - **Eksekusi Mandiri** — siklus hidup tugas lengkap dengan progres real-time melalui WebSocket
            - **Autopilot** — jadwalkan pekerjaan berulang untuk agen (cron, webhook, manual)
            - **Keterampilan yang Dapat Digunakan Ulang** — setiap solusi menjadi keterampilan yang dapat digunakan ulang oleh tim
            - **Runtime Terpadu** — satu dasbor untuk semua sumber daya komputasi Anda
            - **Multi-Workspace** — isolasi tingkat workspace untuk tim yang berbeda

            Didukung: Claude Code, Codex, GitHub Copilot CLI, OpenClaw, OpenCode, Hermes, Gemini, Pi, Cursor Agent, Kimi, Kiro CLI

            ## Pengaturan Login

            Template ini di-deploy dengan **tanpa konfigurasi** — tidak perlu layanan email untuk login. Masukkan email Anda di halaman login, lalu dapatkan kode verifikasi 6 digit melalui salah satu cara berikut:

            - **Default (tanpa layanan email):** buka log layanan **Backend** di Dasbor Zeabur → cari `[DEV] Verification code for` → salin kode 6 digit dan tempelkan di halaman login
            - **Dengan Resend (disarankan):** di Dasbor Zeabur, buka **Backend → Variables**, tambahkan `RESEND_API_KEY` (kunci API Resend Anda dari resend.com) dan `RESEND_FROM_EMAIL` (alamat pengirim terverifikasi, mis. noreply@yourdomain.com), lalu mulai ulang layanan **Backend**. Setelah itu, kode verifikasi akan dikirim ke email Anda.

            > **URL tidak dapat diakses?** Layanan Gateway menggunakan `${ZEABUR_WEB_URL}` untuk mendeteksi URL publik secara otomatis. Jika halaman login atau API tidak dapat dimuat setelah deployment, buka **Dasbor Zeabur → Gateway → Variables → APP_URL**, atur secara manual ke domain Multica Anda (mis. `https://your-multica.zeabur.app`), lalu mulai ulang layanan Gateway.

            ## Setelah Deployment

            1. Buka workspace Anda di aplikasi web
            2. Instal Multica CLI: `brew install multica-ai/tap/multica`
            3. Konfigurasi CLI (ganti dengan domain aktual Anda):
               ```bash
               multica setup self-host --server-url https://your-multica-domain.zeabur.app --app-url https://your-multica-domain.zeabur.app
               ```
               Untuk deployment on-premise dengan domain kustom:
               ```bash
               multica setup self-host --server-url https://app.example.com --app-url https://app.example.com
               ```
            4. Buat agen dan mulai serahkan tugas!

            Pelajari lebih lanjut: https://github.com/multica-ai/multica

            Jika Anda mengalami masalah selama deployment, silakan beritahu saya melalui GitHub issues:
            [https://github.com/glasschan/seafoodholdhand-zeabur-templates](https://github.com/glasschan/seafoodholdhand-zeabur-templates)
    ja-JP:
        description: オープンソースのマネージドエージェントプラットフォーム — コーディングエージェントを本当のチームメイトに
        variables:
            - key: PUBLIC_DOMAIN
              type: DOMAIN
              name: ドメイン
              description: Multica インスタンスに使用したいドメインは何ですか？
        readme: |-
            # Multica — マネージドエージェントプラットフォーム (create by SEAFOODHOLDHAND)

            **Multica** はコーディングエージェントを本当のチームメイトに変えます。同僚にタスクを割り当てるようにエージェントに問題を割り当てると、作業を引き受け、コードを書き、ブロッカーを報告し、ステータスを自律的に更新します。

            このテンプレートには以下が含まれます：

            - **Multica バックエンド** — Go API + WebSocket サーバー
            - **Multica フロントエンド** — Next.js ウェブアプリケーション
            - **PostgreSQL 18 + pgvector** — ベクトル拡張付きデータベース
            - **Caddy ゲートウェイ** — リバースプロキシによる統一アクセス（API、WebSocket、ウェブ）

            ## 機能

            - **エージェントはチームメイト** — 同僚のようにエージェントにタスクを割り当て
            - **スクワッド** — リーダーエージェントの下にエージェントをグループ化し、安定したルーティングを実現
            - **自律的実行** — WebSocket によるリアルタイム進捗ストリーミングで完全なタスクライフサイクルを管理
            - **オートパイロット** — エージェントの定期的な作業をスケジュール（cron、webhook、手動）
            - **再利用可能なスキル** — すべてのソリューションがチームの再利用可能なスキルに
            - **統一ランタイム** — すべてのコンピュートリソースを1つのダッシュボードで管理
            - **マルチワークスペース** — 異なるチームのワークスペースレベルの分離

            サポート：Claude Code、Codex、GitHub Copilot CLI、OpenClaw、OpenCode、Hermes、Gemini、Pi、Cursor Agent、Kimi、Kiro CLI

            ## ログイン設定

            このテンプレートは**ゼロ構成でデプロイ**できます — ログインにメールサービスは不要です。ログインページでメールアドレスを入力し、以下のいずれかで6桁の確認コードを取得してください：

            - **デフォルト（メールサービスなし）：** Zeabur ダッシュボードで **Backend** サービスのログを開く → `[DEV] Verification code for` を検索 → 6桁のコードをコピーしてログインページに貼り付け
            - **Resend を使用（推奨）：** Zeabur ダッシュボードの **Backend → Variables** で `RESEND_API_KEY`（resend.com の Resend API キー）と `RESEND_FROM_EMAIL`（認証済みの送信元メールアドレス、例：noreply@yourdomain.com）を追加し、**Backend** サービスを再起動してください。以後、確認コードがメールに送信されます。

            > **URL にアクセスできない？** Gateway サービスは `${ZEABUR_WEB_URL}` を使用して公開 URL を自動検出します。デプロイ後にログインページや API が読み込めない場合は、**Zeabur ダッシュボード → Gateway → Variables → APP_URL** に移動し、Multica ドメイン（例：`https://your-multica.zeabur.app`）を手動で設定してから、Gateway サービスを再起動してください。

            ## デプロイ後

            1. ウェブアプリでワークスペースを開く
            2. Multica CLI をインストール：`brew install multica-ai/tap/multica`
            3. CLI を設定（実際のドメインに置き換えてください）：
               ```bash
               multica setup self-host --server-url https://your-multica-domain.zeabur.app --app-url https://your-multica-domain.zeabur.app
               ```
               オンプレミスでカスタムドメインを使用する場合：
               ```bash
               multica setup self-host --server-url https://app.example.com --app-url https://app.example.com
               ```
            4. エージェントを作成してタスクの割り当てを開始！

            詳細：https://github.com/multica-ai/multica

            デプロイ中に問題が発生した場合は、Github issue で教えてください：
            [https://github.com/glasschan/seafoodholdhand-zeabur-templates](https://github.com/glasschan/seafoodholdhand-zeabur-templates)
    zh-CN:
        description: 开源托管代理平台 — 将编程代理变成真正的队友
        variables:
            - key: PUBLIC_DOMAIN
              type: DOMAIN
              name: 域名
              description: 你想将 Multica 绑定到哪个域名上？
        readme: |-
            # Multica — 托管代理平台 (create by SEAFOODHOLDHAND)

            **Multica** 将编程代理变成真正的队友。像给同事分配任务一样给代理分配工作 — 它们会自动接手、编写代码、报告障碍并更新状态。

            此模板包含：

            - **Multica 后端** — Go API + WebSocket 服务器
            - **Multica 前端** — Next.js 网页应用
            - **PostgreSQL 18 + pgvector** — 带向量扩展的数据库
            - **Caddy 网关** — 反向代理，统一访问（API、WebSocket 和网页）

            ## 功能特点

            - **代理即队友** — 像给同事分配任务一样分配给代理
            - **小队** — 在领导代理下分组代理，实现稳定路由
            - **自主执行** — 通过 WebSocket 实时推送进度的完整任务生命周期
            - **自动驾驶** — 为代理安排周期性工作（cron、webhook、手动）
            - **可复用技能** — 每个解决方案都成为团队可复用的技能
            - **统一运行时** — 一个仪表盘管理所有计算资源
            - **多工作区** — 不同团队的工作区级别隔离

            支持：Claude Code、Codex、GitHub Copilot CLI、OpenClaw、OpenCode、Hermes、Gemini、Pi、Cursor Agent、Kimi、Kiro CLI

            ## 登录设置

            此模板**零配置部署** — 登录无需任何邮件服务。在登录页面输入邮箱后，通过以下方式获取 6 位验证码：

            - **默认（无邮件服务）：** 打开 Zeabur 控制台中的 **Backend** 服务日志 → 搜索 `[DEV] Verification code for` → 复制 6 位验证码并粘贴到登录页面
            - **使用 Resend（推荐）：** 在 Zeabur 控制台进入 **Backend → Variables**，添加 `RESEND_API_KEY`（你的 Resend API 密钥，来自 resend.com）和 `RESEND_FROM_EMAIL`（已验证的发件邮箱，如 noreply@yourdomain.com），然后重启 **Backend** 服务。之后验证码会发送到你的邮箱。

            > **URL 无法访问？** Gateway 服务使用 `${ZEABUR_WEB_URL}` 自动检测公共 URL。如果部署后登录页面或 API 无法加载，请前往 **Zeabur 控制台 → Gateway → Variables → APP_URL**，手动设置为你的 Multica 域名（如 `https://your-multica.zeabur.app`），然后重启 Gateway 服务。

            ## 部署后

            1. 在网页应用中打开你的工作区
            2. 安装 Multica CLI：`brew install multica-ai/tap/multica`
            3. 配置 CLI（替换为你的实际域名）：
               ```bash
               multica setup self-host --server-url https://your-multica-domain.zeabur.app --app-url https://your-multica-domain.zeabur.app
               ```
               自建部署使用自定义域名：
               ```bash
               multica setup self-host --server-url https://app.example.com --app-url https://app.example.com
               ```
            4. 创建代理并开始分配任务！

            了解更多：https://github.com/multica-ai/multica

            如在部署时遇到任何问题，可以通过 GitHub Issues 反馈：
            [https://github.com/glasschan/seafoodholdhand-zeabur-templates](https://github.com/glasschan/seafoodholdhand-zeabur-templates)
    zh-TW:
        description: 開源託管代理平台 — 將編程代理變成真正的隊友
        variables:
            - key: PUBLIC_DOMAIN
              type: DOMAIN
              name: 網域
              description: 你想將 Multica 綁在哪個網域上？
        readme: |-
            # Multica — 託管代理平台 (create by SEAFOODHOLDHAND)

            **Multica** 將編程代理變成真正的隊友。像分配任務給同事一樣分配任務給代理 — 它們會自動接手工作、編寫代碼、報告障礙並更新狀態。

            此模板包含：

            - **Multica 後端** — Go API + WebSocket 伺服器
            - **Multica 前端** — Next.js 網頁應用
            - **PostgreSQL 18 + pgvector** — 帶向量擴展的資料庫
            - **Caddy 閘道** — 反向代理，統一存取（API、WebSocket 和網頁）

            ## 功能特點

            - **代理即隊友** — 像分配任務給同事一樣分配給代理
            - **小隊** — 在領導代理下分組代理，實現穩定路由
            - **自主執行** — 通過 WebSocket 實時串流進度的完整任務生命週期
            - **自動駕駛** — 為代理安排週期性工作（cron、webhook、手動）
            - **可重用技能** — 每個解決方案都成為團隊可重用的技能
            - **統一運行時** — 一個儀表板管理所有計算資源
            - **多工作區** — 不同團隊的工作區級別隔離

            支援：Claude Code、Codex、GitHub Copilot CLI、OpenClaw、OpenCode、Hermes、Gemini、Pi、Cursor Agent、Kimi、Kiro CLI

            ## 登入設定

            此模板**零配置部署** — 登入無需任何郵件服務。在登入頁面輸入電子郵件後，透過以下方式取得 6 位驗證碼：

            - **預設（無郵件服務）：** 開啟 Zeabur 控制台中的 **Backend** 服務日誌 → 搜尋 `[DEV] Verification code for` → 複製 6 位驗證碼並貼到登入頁面
            - **使用 Resend（建議）：** 在 Zeabur 控制台進入 **Backend → Variables**，新增 `RESEND_API_KEY`（你的 Resend API 金鑰，來自 resend.com）和 `RESEND_FROM_EMAIL`（已驗證的寄件郵箱，如 noreply@yourdomain.com），然後重新啟動 **Backend** 服務。之後驗證碼會寄送到你的郵箱。

            > **URL 無法存取？** Gateway 服務使用 `${ZEABUR_WEB_URL}` 自動偵測公共 URL。如果部署後登入頁面或 API 無法載入，請前往 **Zeabur 控制台 → Gateway → Variables → APP_URL**，手動設定為你的 Multica 網域（如 `https://your-multica.zeabur.app`），然後重啟 Gateway 服務。

            ## 部署後

            1. 在網頁應用中打開你的工作區
            2. 安裝 Multica CLI：`brew install multica-ai/tap/multica`
            3. 配置 CLI（替換為你的實際域名）：
               ```bash
               multica setup self-host --server-url https://your-multica-domain.zeabur.app --app-url https://your-multica-domain.zeabur.app
               ```
               自建部署使用自定義域名：
               ```bash
               multica setup self-host --server-url https://app.example.com --app-url https://app.example.com
               ```
            4. 創建代理並開始分配任務！

            了解更多：https://github.com/multica-ai/multica

            如在 Deploy 時遇到任何問題，可以到 Github issue 告訴我：
            [https://github.com/glasschan/seafoodholdhand-zeabur-templates](https://github.com/glasschan/seafoodholdhand-zeabur-templates)
