Polski
Zacznij
← Wszystkie szablony

Wdróż aplikację OpenViking na Pethost jednym kliknięciem

Baza kontekstu dla agentów AI: pamięć, zasoby i skille w jednym miejscu

Co się dzieje

  1. Logujesz się do Pethost albo zakładasz konto, kluczem dostępu, przez GitHub albo Google.
  2. Nie masz jeszcze maszyny? Wybierasz plan, a my ją dla ciebie przygotowujemy. Link czeka w twojej przeglądarce, aż będzie gotowa.
  3. Okno „Nowy projekt” otwiera się na tej aplikacji. Wypełniasz to, o co prosi, i klikasz „Utwórz projekt”: Klucz API OpenAI.
  4. Za minutę czy dwie aplikacja działa pod własnym adresem z HTTPS. Jej sekrety są tworzone losowo, a dane trafiają do nocnego backupu.
  5. To projekt jak każdy inny: jego compose.yaml, .env, logi i terminal są w panelu, a twój agent może go zmienić, cofnąć do wcześniejszej wersji albo przywrócić.

Pierwsze kroki

Otwórz https://openviking.sam.pethost.app/studio/settings i wklej klucz root: to OPENVIKING_ROOT_API_KEY w pliku .env projektu. Potem utwórz konto i użytkownika w /studio/users: klucza użytkownika używają CLI ov, SDK i agenci. Embeddingi i podsumowania idą do OpenAI z twoim kluczem. Dane i ov.conf zostają w /app/.openviking.

Co uruchamia

Szablon to ten compose.yaml i zmienne, które zapisuje do .env projektu. Pethost uruchamia plik dokładnie tak, jak jest napisany.

services:
  openviking:
    image: ghcr.io/volcengine/openviking:v0.5.0
    restart: unless-stopped
    environment:
      OPENAI_API_KEY: ${OPENAI_API_KEY}
      OPENVIKING_ROOT_API_KEY: ${OPENVIKING_ROOT_API_KEY}
      OPENVIKING_PUBLIC_BASE_URL: ${URL}
      # The bot needs a user's key of its own; the server runs without it.
      OPENVIKING_WITH_BOT: "0"
      # Written to ov.conf in the volume at the first start only. The server
      # expands the ${...} in it at every start, so a key changed in .env
      # takes effect on a restart.
      OPENVIKING_CONF_CONTENT: |
        {
          "server": {
            "host": "0.0.0.0",
            "port": 1933,
            "root_api_key": "$${OPENVIKING_ROOT_API_KEY}"
          },
          "storage": {
            "workspace": "./data",
            "vectordb": { "name": "context", "backend": "local" },
            "agfs": { "backend": "local" }
          },
          "embedding": {
            "dense": {
              "provider": "openai",
              "api_key": "$${OPENAI_API_KEY}",
              "model": "text-embedding-3-small",
              "dimension": 1536
            }
          },
          "vlm": {
            "provider": "openai",
            "api_key": "$${OPENAI_API_KEY}",
            "model": "gpt-4o-mini"
          }
        }
    volumes:
      - data:/app/.openviking

volumes:
  data: