Bot & Automation

AI Assistants

/root/hermes-projects/AI Assistants

docs/env.md text
# ENV Minimal untuk Integrasi WhatsApp Hermes

Gunakan nilai berikut sebagai baseline yang aman.

```env
META_PHONE_NUMBER_ID=1124569864082551
META_WABA_ID=1565842954978607
META_ACCESS_TOKEN=ISI_PERMANENT_ACCESS_TOKEN
META_VERIFY_TOKEN=PAKAI_NILAI_YANG_SUDAH_ADA_DI_FILE_.env_VPS
WHATSAPP_WEBHOOK_URL=https://hermes-assistants.duckdns.org/webhooks/meta/whatsapp
WHATSAPP_ALLOWED_NUMBERS=6281445811835,6289503918261
HERMES_COMMAND=/usr/local/bin/hermes
HERMES_PROJECTS_ROOT=/root/hermes-projects
```

## Penjelasan 3 yang Anda tanyakan

`WHATSAPP_WEBHOOK_URL`

- Ini bukan diambil dari Meta.
- Ini adalah URL publik milik Anda sendiri yang diarahkan ke service AI Assistants di VPS.
- Path endpoint-nya sudah tetap:

```text
/webhooks/meta/whatsapp
```

- Jadi format akhirnya harus seperti ini:

```env
WHATSAPP_WEBHOOK_URL=https://hermes-assistants.duckdns.org/webhooks/meta/whatsapp
```

- Contoh:

```env
WHATSAPP_WEBHOOK_URL=https://hermes-assistants.duckdns.org/webhooks/meta/whatsapp
```

`HERMES_COMMAND`

- Ini path executable Hermes di VPS.
- Di server Anda nilainya sudah benar:

```env
HERMES_COMMAND=/usr/local/bin/hermes
```

- Tidak perlu diubah kecuali lokasi binary Hermes berubah.

`HERMES_PROJECTS_ROOT`

- Ini root folder semua project Hermes di VPS.
- Di server Anda nilainya sudah benar:

```env
HERMES_PROJECTS_ROOT=/root/hermes-projects
```

- Tidak perlu diubah selama semua project Hermes tetap disimpan di sana.

## Yang benar-benar masih perlu Anda tentukan

- `META_ACCESS_TOKEN`
- `META_APP_SECRET`

## Chat Mode Opsional

Kalau Anda ingin jawaban yang lebih natural seperti AI umum, isi ini juga:

```env
CHAT_ENABLED=true
CHAT_PROVIDER=local
CHAT_MODEL=
CHAT_API_KEY=
CHAT_BASE_URL=https://openrouter.ai/api/v1
```

- `local` berarti Hermes akan menjawab dengan reply cerdas bawaan kalau belum ada model eksternal.
- Kalau nanti mau pakai model eksternal, `CHAT_PROVIDER=openrouter` atau `CHAT_PROVIDER=openai` lalu isi `CHAT_MODEL` + `CHAT_API_KEY`.
- Kalau provider Anda OpenAI-compatible lain, isi `CHAT_BASE_URL` ke endpoint API mereka.

## Realtime Web Search

Aktifkan ini supaya pertanyaan informasi/data terbaru tidak hanya mengandalkan memori model AI.

```env
WEB_SEARCH_ENABLED=true
WEB_SEARCH_PROVIDER=bing
WEB_SEARCH_API_KEY=
WEB_SEARCH_BASE_URL=
WEB_SEARCH_MAX_RESULTS=5
WEB_SEARCH_TIMEOUT_SECONDS=12
```

- `bing` dan `duckduckgo` bisa dipakai tanpa API key untuk MVP. Di VPS ini `bing` lebih stabil.
- Untuk produksi yang lebih stabil, bisa diganti ke `serper` atau `tavily` lalu isi `WEB_SEARCH_API_KEY`.
- Query seperti `carikan data terbaru...`, `berita...`, `harga...`, `sekarang...`, atau `realtime...` akan mengambil sumber internet dulu, lalu model menyusun jawaban dengan URL sumber.
- Task project tetap dikerjakan Hermes lewat `HERMES_COMMAND=/usr/local/bin/hermes`.

## Project Library Admin

```env
DASHBOARD_ADMIN_TOKEN=
```

- Digunakan saat menghapus project dari `https://hermes-assistants.duckdns.org`.
- Digunakan juga untuk login ke `https://hermes-assistants.duckdns.org/control`.
- Delete memerlukan signed link, nama project yang sama persis, checkbox konfirmasi, dan admin token.
- Token bisa diganti dari WhatsApp dengan `settings set DASHBOARD_ADMIN_TOKEN=token-rahasia-baru`.
- Folder sistem `AI Assistants` diproteksi dan tidak dapat dihapus dari dashboard.
- Control Center dapat melihat status/config redacted/memory/storage Hermes, install atau uninstall skill, enable atau disable tools, dan mengganti model Hermes.

## Cara Ubah Dari WhatsApp

Kalau service sudah jalan, Anda bisa ubah setting tanpa buka Hermes atau edit file manual.

### App settings

```text
settings show
settings set CHAT_PROVIDER=openrouter CHAT_MODEL=...
settings set CHAT_API_KEY=...
settings set CHAT_PROVIDER=openai CHAT_BASE_URL=https://api.openai.com/v1 CHAT_MODEL=gpt-4o-mini
```

### Project env

```text
project env "Nama Project" show
project env "Nama Project" set OPENAI_API_KEY=... APP_BASE_URL=https://...
```

- Setting non-sensitif langsung disimpan ke `.env`.
- Setting sensitif seperti `*_KEY`, `*_TOKEN`, `*_SECRET` akan minta approval dulu di WhatsApp.
- Perubahan app settings ditulis ke `/root/hermes-projects/AI Assistants/.env`.
- Perubahan project env ditulis ke `/root/hermes-projects/<Nama Project>/.env`.

## Mapping Nomor

- `From +1 555 908 3683` adalah nomor WhatsApp chatbot/bot number di Meta.
- `081445811835` adalah nomor Anda yang dipakai untuk mengirim pesan ke chatbot.
- Di env, nomor Anda harus ditulis tanpa `0`, tanpa `+`, dan tanpa spasi:

```env
WHATSAPP_ALLOWED_NUMBERS=6281445811835,6289503918261
```

- Nomor chatbot tidak ditulis sebagai allowlist; yang ditulis di allowlist hanya nomor user/operator yang boleh mengontrol Hermes.

## Catatan penting

- Jangan simpan access token asli di file dokumentasi.
- Simpan secret asli hanya di file runtime:

```text
/root/hermes-projects/AI Assistants/.env
```