mirror of
https://github.com/domfelipe/hermes-client-onboarding.git
synced 2026-08-07 06:56:43 +00:00
Document VPS SSH entry before DomHubs one-liner (skill v1.3.0)
Onboarding runs on the Linux VPS: Phase 0 + install help/README spell out ssh root@IP / ssh domhubs-vps, then curl setup.domhubs.com.br/hermes.
This commit is contained in:
parent
297a7d3fe0
commit
4ea1708cdd
4 changed files with 138 additions and 16 deletions
29
README.md
29
README.md
|
|
@ -7,7 +7,24 @@ One-liner + skill conversacional para deixar o **Hermes Agent** pronto no client
|
||||||
- Personalidade em `SOUL.md`
|
- Personalidade em `SOUL.md`
|
||||||
- Setup guiado por LLM (Codex ou Hermes)
|
- Setup guiado por LLM (Codex ou Hermes)
|
||||||
|
|
||||||
## One-liner (produção) — comando único
|
## One-liner (produção) — entrar na VPS + instalar
|
||||||
|
|
||||||
|
O bootstrap roda **dentro da VPS Linux**, não no Mac do operador.
|
||||||
|
|
||||||
|
### 1) Entrar na VPS
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ssh root@IP_DA_VPS
|
||||||
|
```
|
||||||
|
|
||||||
|
DomHubs ops (alias no Mac, após chave `~/.ssh/domhubs_vps`):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ssh domhubs-vps
|
||||||
|
# → root@169.58.116.28
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2) One-liner (já dentro da VPS)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -fsSL https://setup.domhubs.com.br/hermes | bash
|
curl -fsSL https://setup.domhubs.com.br/hermes | bash
|
||||||
|
|
@ -15,7 +32,7 @@ curl -fsSL https://setup.domhubs.com.br/hermes | bash
|
||||||
|
|
||||||
Instala/atualiza Hermes + skill + launcher e **abre o onboarding** (condutor Hermes por padrão).
|
Instala/atualiza Hermes + skill + launcher e **abre o onboarding** (condutor Hermes por padrão).
|
||||||
|
|
||||||
Variantes:
|
Variantes (ainda na VPS):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# só instalar, sem abrir agente
|
# só instalar, sem abrir agente
|
||||||
|
|
@ -25,6 +42,14 @@ curl -fsSL https://setup.domhubs.com.br/hermes | bash -s -- --no-launch
|
||||||
curl -fsSL https://setup.domhubs.com.br/hermes | bash -s -- --ask-conductor
|
curl -fsSL https://setup.domhubs.com.br/hermes | bash -s -- --ask-conductor
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 3) Voltar depois
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ssh root@IP_DA_VPS # ou: ssh domhubs-vps
|
||||||
|
hermes gateway status
|
||||||
|
hermes-client-onboarding # se precisar retomar o onboarding
|
||||||
|
```
|
||||||
|
|
||||||
Espelho GitHub (fallback):
|
Espelho GitHub (fallback):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|
|
||||||
29
install.sh
29
install.sh
|
|
@ -1,7 +1,16 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# DomHubs — Hermes Client Onboarding bootstrap
|
# DomHubs — Hermes Client Onboarding bootstrap
|
||||||
# One-liner: curl -fsSL https://setup.domhubs.com.br/hermes | bash
|
#
|
||||||
# Local: ./install.sh [--conductor codex|hermes|skip] [--no-launch]
|
# Run ON the client VPS (after SSH). Not on the operator laptop alone.
|
||||||
|
#
|
||||||
|
# Enter VPS:
|
||||||
|
# ssh root@IP_DA_VPS
|
||||||
|
# # DomHubs ops alias: ssh domhubs-vps (169.58.116.28, key ~/.ssh/domhubs_vps)
|
||||||
|
#
|
||||||
|
# Then one-liner (inside the VPS):
|
||||||
|
# curl -fsSL https://setup.domhubs.com.br/hermes | bash
|
||||||
|
#
|
||||||
|
# Local checkout: ./install.sh [--conductor codex|hermes|skip] [--no-launch]
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
SKILL_NAME="hermes-client-onboarding"
|
SKILL_NAME="hermes-client-onboarding"
|
||||||
|
|
@ -21,6 +30,13 @@ usage() {
|
||||||
cat <<'EOF'
|
cat <<'EOF'
|
||||||
Usage: install.sh [options]
|
Usage: install.sh [options]
|
||||||
|
|
||||||
|
Run this ON the Linux VPS after SSH:
|
||||||
|
ssh root@IP_DA_VPS
|
||||||
|
curl -fsSL https://setup.domhubs.com.br/hermes | bash
|
||||||
|
|
||||||
|
DomHubs ops (Mac alias):
|
||||||
|
ssh domhubs-vps
|
||||||
|
|
||||||
--conductor codex|hermes|skip Who runs onboarding (default: hermes; use skip for install-only)
|
--conductor codex|hermes|skip Who runs onboarding (default: hermes; use skip for install-only)
|
||||||
--no-launch Install only; do not start the conductor
|
--no-launch Install only; do not start the conductor
|
||||||
--base URL Asset base for skill files (or HERMES_ONBOARD_BASE)
|
--base URL Asset base for skill files (or HERMES_ONBOARD_BASE)
|
||||||
|
|
@ -278,11 +294,18 @@ launch_conductor() {
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
main() {
|
main() {
|
||||||
log "DomHubs Hermes Client Onboarding"
|
log "DomHubs Hermes Client Onboarding"
|
||||||
|
log "Target: this machine (run via SSH on the client VPS)"
|
||||||
|
if [[ "$(uname -s 2>/dev/null || true)" == "Darwin" ]]; then
|
||||||
|
warn "You appear to be on macOS. Production onboarding expects Ubuntu/Debian VPS:"
|
||||||
|
warn " ssh root@IP_DA_VPS"
|
||||||
|
warn " curl -fsSL https://setup.domhubs.com.br/hermes | bash"
|
||||||
|
fi
|
||||||
ensure_hermes
|
ensure_hermes
|
||||||
install_skill
|
install_skill
|
||||||
|
|
||||||
if [[ "$NO_LAUNCH" -eq 1 ]]; then
|
if [[ "$NO_LAUNCH" -eq 1 ]]; then
|
||||||
log "Done (--no-launch). Start with (agent speaks first):"
|
log "Done (--no-launch). Re-enter VPS later with: ssh root@IP_DA_VPS (or ssh domhubs-vps)"
|
||||||
|
log "Start with (agent speaks first):"
|
||||||
echo " hermes-client-onboarding"
|
echo " hermes-client-onboarding"
|
||||||
echo " # ou: hermes chat --tui -s ${SKILL_NAME} -q \"…\""
|
echo " # ou: hermes chat --tui -s ${SKILL_NAME} -q \"…\""
|
||||||
exit 0
|
exit 0
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
---
|
---
|
||||||
name: hermes-client-onboarding
|
name: hermes-client-onboarding
|
||||||
description: Use when setting up Hermes for a client, install Hermes + Telegram + DeepSeek, run a demo setup, or launch client onboarding. Conducts guided conversational onboarding on a clean Linux VM (deepseek-v4-flash, Telegram gateway, systemd, SOUL.md).
|
description: Use when setting up Hermes for a client, install Hermes + Telegram + DeepSeek, run a demo setup, or launch client onboarding. Conducts guided conversational onboarding on a clean Linux VM (deepseek-v4-flash, Telegram gateway, systemd, SOUL.md).
|
||||||
version: 1.2.0
|
version: 1.3.0
|
||||||
author: DomHubs
|
author: DomHubs
|
||||||
license: MIT
|
license: MIT
|
||||||
platforms: [linux, macos]
|
platforms: [linux, macos]
|
||||||
metadata:
|
metadata:
|
||||||
hermes:
|
hermes:
|
||||||
tags: [onboarding, client, telegram, deepseek, gateway, demo]
|
tags: [onboarding, client, telegram, deepseek, gateway, demo, vps]
|
||||||
related_skills: []
|
related_skills: []
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -15,7 +15,7 @@ metadata:
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
You are conducting a professional, step-by-step onboarding of Hermes Agent on a clean Ubuntu/Debian VM so a client can start using it immediately (primarily via Telegram). The goal is a working agent in minutes, with **native DeepSeek** (`DEEPSEEK_API_KEY`, provider `deepseek`) and model **`deepseek-v4-flash`** (V4 Flash 0731 family) as the default, Telegram as the primary channel, and the gateway running as a persistent service.
|
You are conducting a professional, step-by-step onboarding of Hermes Agent on a clean Ubuntu/Debian **VPS** so a client can start using it immediately (primarily via Telegram). The goal is a working agent in minutes, with **native DeepSeek** (`DEEPSEEK_API_KEY`, provider `deepseek`) and model **`deepseek-v4-flash`** (V4 Flash 0731 family) as the default, Telegram as the primary channel, and the gateway running as a persistent service.
|
||||||
|
|
||||||
This skill is designed for live demos in front of the client and for commercial handoff. Be clear, structured, and efficient. Always confirm critical values before applying them.
|
This skill is designed for live demos in front of the client and for commercial handoff. Be clear, structured, and efficient. Always confirm critical values before applying them.
|
||||||
|
|
||||||
|
|
@ -24,7 +24,7 @@ This skill is designed for live demos in front of the client and for commercial
|
||||||
- User asks to set up Hermes for a client
|
- User asks to set up Hermes for a client
|
||||||
- Demo setup of Hermes + Telegram + DeepSeek
|
- Demo setup of Hermes + Telegram + DeepSeek
|
||||||
- Launch of the DomHubs client onboarding flow
|
- Launch of the DomHubs client onboarding flow
|
||||||
- Fresh VM that needs Hermes ready end-to-end
|
- Fresh VM/VPS that needs Hermes ready end-to-end
|
||||||
|
|
||||||
Don't use for: day-to-day Hermes coding tasks after onboarding is done; multi-tenant fleet orchestration; non-Hermes agent installs.
|
Don't use for: day-to-day Hermes coding tasks after onboarding is done; multi-tenant fleet orchestration; non-Hermes agent installs.
|
||||||
|
|
||||||
|
|
@ -32,6 +32,7 @@ Don't use for: day-to-day Hermes coding tasks after onboarding is done; multi-te
|
||||||
|
|
||||||
The onboarding is complete only when all of the following are true:
|
The onboarding is complete only when all of the following are true:
|
||||||
|
|
||||||
|
- Operator can **SSH into the VPS** and re-enter when needed
|
||||||
- Hermes is installed and `hermes` command works
|
- Hermes is installed and `hermes` command works
|
||||||
- Model is set to `deepseek-v4-flash` with provider `deepseek`
|
- Model is set to `deepseek-v4-flash` with provider `deepseek`
|
||||||
- `DEEPSEEK_API_KEY` is configured
|
- `DEEPSEEK_API_KEY` is configured
|
||||||
|
|
@ -41,14 +42,63 @@ The onboarding is complete only when all of the following are true:
|
||||||
- `hermes doctor` reports no critical errors
|
- `hermes doctor` reports no critical errors
|
||||||
- SOUL.md has been personalized (or the user explicitly skipped it)
|
- SOUL.md has been personalized (or the user explicitly skipped it)
|
||||||
|
|
||||||
|
## Phase 0 — Entrar na VPS (antes de tudo)
|
||||||
|
|
||||||
|
Onboarding runs **inside** the Linux VPS, not on the operator’s laptop. First step is always SSH.
|
||||||
|
|
||||||
|
**Generic (any client VM):**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ssh root@IP_DA_VPS
|
||||||
|
# or: ssh USER@IP_DA_VPS
|
||||||
|
```
|
||||||
|
|
||||||
|
**DomHubs ops alias (operator Mac, after key is set):**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ssh domhubs-vps
|
||||||
|
# Host: 169.58.116.28 User: root Key: ~/.ssh/domhubs_vps
|
||||||
|
```
|
||||||
|
|
||||||
|
**Then, already on the VPS, bootstrap + this skill (one-liner):**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl -fsSL https://setup.domhubs.com.br/hermes | bash
|
||||||
|
```
|
||||||
|
|
||||||
|
Variants on the VPS:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# install only (no auto-launch)
|
||||||
|
curl -fsSL https://setup.domhubs.com.br/hermes | bash -s -- --no-launch
|
||||||
|
|
||||||
|
# re-open onboarding later
|
||||||
|
hermes-client-onboarding
|
||||||
|
```
|
||||||
|
|
||||||
|
If the session drops mid-onboarding, reconnect with the same `ssh` and reattach tmux if used:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ssh root@IP_DA_VPS # or: ssh domhubs-vps
|
||||||
|
tmux ls
|
||||||
|
tmux attach -t hermes-onboard-<pid> # if the launcher created one
|
||||||
|
# or restart onboarding:
|
||||||
|
hermes-client-onboarding
|
||||||
|
```
|
||||||
|
|
||||||
|
In Phase 6 handover, **always** leave the client/operator with the exact SSH command for *their* IP (do not invent IPs).
|
||||||
|
|
||||||
|
**Done when:** shell is on the target Linux VPS (hostname/IP known) and you can run commands as the deploy user (usually `root`).
|
||||||
|
|
||||||
## Pre-flight Checks (do these first)
|
## Pre-flight Checks (do these first)
|
||||||
|
|
||||||
Run these checks silently or with minimal output before starting the dialogue:
|
Run these checks silently or with minimal output before starting the dialogue:
|
||||||
|
|
||||||
1. Confirm you are on Linux (preferably Ubuntu 22.04/24.04 or Debian). On macOS, warn that gateway persistence differs (launchd) and demos still work.
|
1. Confirm you are **already on the VPS via SSH** (Phase 0). If the user is still on a laptop UI only, give them the `ssh` command first — do not pretend Hermes can install on their phone.
|
||||||
2. Check if `hermes` is already in PATH. If yes, note the version with `hermes --version`.
|
2. Confirm you are on Linux (preferably Ubuntu 22.04/24.04 or Debian). On macOS, warn that gateway persistence differs (launchd) and production clients should be Ubuntu/Debian VMs.
|
||||||
3. Check available disk space and RAM (`df -h /` and `free -h`). Warn if RAM < 2 GB or free disk < 5 GB.
|
3. Check if `hermes` is already in PATH. If yes, note the version with `hermes --version`.
|
||||||
4. Verify internet connectivity (can reach `https://hermes-agent.nousresearch.com` and `https://api.deepseek.com`).
|
4. Check available disk space and RAM (`df -h /` and `free -h`). Warn if RAM < 2 GB or free disk < 5 GB.
|
||||||
|
5. Verify internet connectivity (can reach `https://hermes-agent.nousresearch.com` and `https://api.deepseek.com`).
|
||||||
|
|
||||||
If Hermes is missing, install it with:
|
If Hermes is missing, install it with:
|
||||||
|
|
||||||
|
|
@ -60,7 +110,7 @@ export PATH="$HOME/.local/bin:/usr/local/bin:$PATH"
|
||||||
|
|
||||||
After install, confirm with `hermes --version` and `hermes doctor`.
|
After install, confirm with `hermes --version` and `hermes doctor`.
|
||||||
|
|
||||||
**Done when:** OS/resources known, Hermes on PATH, version recorded.
|
**Done when:** SSH session on VPS confirmed, OS/resources known, Hermes on PATH, version recorded.
|
||||||
|
|
||||||
## Conversational Flow
|
## Conversational Flow
|
||||||
|
|
||||||
|
|
@ -226,6 +276,10 @@ Final checklist to present to the user:
|
||||||
Give the user the useful commands for later:
|
Give the user the useful commands for later:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
# Re-enter the VPS (fill real IP / use DomHubs alias)
|
||||||
|
ssh root@IP_DA_VPS
|
||||||
|
# ssh domhubs-vps
|
||||||
|
|
||||||
hermes gateway status
|
hermes gateway status
|
||||||
hermes gateway logs
|
hermes gateway logs
|
||||||
hermes doctor
|
hermes doctor
|
||||||
|
|
@ -233,7 +287,7 @@ hermes config get model.default
|
||||||
hermes update
|
hermes update
|
||||||
```
|
```
|
||||||
|
|
||||||
**Done when:** checklist walked, test Telegram reply confirmed, useful commands delivered.
|
**Done when:** checklist walked, test Telegram reply confirmed, SSH re-entry command + useful commands delivered.
|
||||||
|
|
||||||
## Error Handling Guidelines
|
## Error Handling Guidelines
|
||||||
|
|
||||||
|
|
@ -267,7 +321,14 @@ hermes update
|
||||||
## Reference Commands (quick lookup)
|
## Reference Commands (quick lookup)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Install
|
# Enter VPS first
|
||||||
|
ssh root@IP_DA_VPS
|
||||||
|
# DomHubs ops: ssh domhubs-vps
|
||||||
|
|
||||||
|
# DomHubs one-liner (on the VPS)
|
||||||
|
curl -fsSL https://setup.domhubs.com.br/hermes | bash
|
||||||
|
|
||||||
|
# Install Hermes only
|
||||||
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --skip-browser
|
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --skip-browser
|
||||||
|
|
||||||
# Core config (or use the helper script)
|
# Core config (or use the helper script)
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,18 @@
|
||||||
# Troubleshooting — Hermes Client Onboarding
|
# Troubleshooting — Hermes Client Onboarding
|
||||||
|
|
||||||
|
## Cannot reach the machine / “where do I run this?”
|
||||||
|
|
||||||
|
Onboarding runs **on the VPS**. From the laptop:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ssh root@IP_DA_VPS
|
||||||
|
# DomHubs ops: ssh domhubs-vps
|
||||||
|
|
||||||
|
curl -fsSL https://setup.domhubs.com.br/hermes | bash
|
||||||
|
```
|
||||||
|
|
||||||
|
If SSH fails: check IP, user (`root` vs `ubuntu`), key (`-i ~/.ssh/…`), and provider firewall (port 22).
|
||||||
|
|
||||||
## PATH / `hermes: command not found`
|
## PATH / `hermes: command not found`
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue