> ## Documentation Index
> Fetch the complete documentation index at: https://docs.so-me.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Integración de redes sociales con Hermes Agent

> Conecta el Hermes Agent de Nous Research a Social media studio para programar publicaciones, responder mensajes y leer analíticas de tus cuentas sociales.

Social media studio se integra con el [Hermes Agent oficial de Nous Research](https://hermes-agent.nousresearch.com/) (y con cualquier modelo Hermes 4) mediante tres canales de distribución publicados — elige el que se ajuste a cómo quieren instalarlo tus usuarios. Los tres hablan con el mismo backend con la misma clave de API. La vía de la skill la exporta como `SOME_API_KEY` (la variable que lee la CLI `so-me`); la configuración MCP y el runtime de npm leen `SOMESTUDIO_API_KEY`.

| Vía | Instalación | Ideal para |
| - | - | - |
| **Skill (recomendada)** | `hermes skills install 7t1-studio/so-me-hermes-skill/so-me-studio` | Usuarios que exploran [skills.sh](https://skills.sh) en busca de integraciones listas para usar — supera el análisis de seguridad automático con veredicto SAFE |
| **MCP** | Pega un bloque `mcp_servers:` de 5 líneas en `~/.hermes/config.yaml` | Usuarios de Hermes Agent que prefieren MCP sobre HTTP y no quieren un binario de CLI |
| **Runtime npm independiente** | `npm install -g @so-me/hermes-agent` | Scripts, tareas cron, integraciones de CI, servidores sin interfaz |

**Skill (Hermes Hub)**

**1. Instala Hermes Agent**

```bash theme={null}
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.bashrc   # or ~/.zshrc
hermes --version
```

**2. Elige un backend de LLM**

```bash theme={null}
hermes model
```

Recomendado: **OpenRouter** con `nousresearch/hermes-4-405b` (mejor calidad) o `nousresearch/hermes-4-70b` (más barato, \~10× más rápido). Pega tu clave de API de OpenRouter cuando se te pida.

**3. Instala la CLI de Social media studio**

La skill controla el binario publicado de [`@social-media-scheduler/cli`](https://www.npmjs.com/package/@social-media-scheduler/cli), por lo que la CLI debe estar en el PATH:

```bash theme={null}
npm install -g @social-media-scheduler/cli
so-me --version
```

**4. Instala la skill de Social media studio**

```bash theme={null}
hermes skills install 7t1-studio/so-me-hermes-skill/so-me-studio
```

Hermes ejecuta un análisis de seguridad automático sobre la skill (comprobaciones de exfiltración de datos, inyección de prompts y comandos destructivos) y pide confirmación. El veredicto actual es **SAFE**.

Al instalar, Hermes solicita `SOME_API_KEY` — genera una en [so-me.studio/settings?tab=api](https://so-me.studio/settings?tab=api) y pégala.

**5. Lanza el agente**

```bash theme={null}
hermes --tui
```

Dentro de la TUI, escribe `/tools` para confirmar que la skill está registrada. Deberías ver entradas asociadas a la skill so-me-studio.

Página de detalle: [skills.sh/7t1-studio/so-me-hermes-skill/so-me-studio](https://skills.sh/7t1-studio/so-me-hermes-skill/so-me-studio)

**Configuración del servidor MCP**

**1. Instala Hermes Agent + LLM**

Los dos primeros pasos son los mismos que en la vía de la skill:

```bash theme={null}
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.bashrc
hermes model    # pick OpenRouter + nousresearch/hermes-4-405b
```

**2. Guarda tu clave de API de Social media studio como secreto de Hermes**

```bash theme={null}
hermes config set SOMESTUDIO_API_KEY sk_live_...
```

Genera la clave en [so-me.studio/settings?tab=api](https://so-me.studio/settings?tab=api).

**3. Añade el bloque MCP a \~/.hermes/config.yaml**

```yaml theme={null}
mcp_servers:
  so-me-studio:
    url: https://api.so-me.studio/mcp
    headers:
      X-API-Key: ${SOMESTUDIO_API_KEY}
```

El transporte HTTP se deduce de `url:`; no hace falta la clave `transport:`. El fragmento exacto está en [`apps/agent-kits/hermes/configs/hermes-agent.yaml`](https://github.com/7t1-studio/schedular-app/blob/main/apps/agent-kits/hermes/configs/hermes-agent.yaml).

**4. Lanza y verifica**

```bash theme={null}
hermes --tui
```

Dentro de la TUI, escribe `/tools` — las 205 herramientas de Social media studio se registran como `mcp_so-me-studio_<tool_name>` (p. ej., `mcp_so-me-studio_create_post`).

> [!TIP]
>
> ¿Apuntas a un backend local? Sustituye la URL del fragmento — `url: http://localhost:8000/mcp`.

**Runtime npm independiente**

**1. Instala el runtime**

```bash theme={null}
npm install -g @so-me/hermes-agent
# or run ad-hoc without installing:
npx @so-me/hermes-agent "your prompt"
```

npm: [@so-me/hermes-agent](https://www.npmjs.com/package/@so-me/hermes-agent)

**2. Define las variables de entorno**

```bash theme={null}
# Social media studio
export SOMESTUDIO_API_KEY=sk_live_...

# Inference backend (OpenRouter, Together, vLLM, or Ollama)
export HERMES_BASE_URL=https://openrouter.ai/api/v1
export HERMES_API_KEY=sk-or-...
export HERMES_MODEL=nousresearch/hermes-4-405b
```

**3. Ejecuta**

```bash theme={null}
so-me-hermes "List my connected social accounts"
so-me-hermes "Schedule a tweet 'launching today' for 9am UTC tomorrow"
so-me-hermes "Generate a Friday LinkedIn caption about Q2 wins"
```

El runtime ejecuta el bucle agéntico, imprime el razonamiento + las llamadas a herramientas + la respuesta final, y termina. Limita los turnos con `MAX_TURNS=16` si necesitas sesiones más largas.

> [!NOTE]
>
> El runtime independiente funciona con **cualquier endpoint de inferencia compatible con OpenAI** — apunta `HERMES_BASE_URL`, `HERMES_API_KEY` y `HERMES_MODEL` a GPT-4o, Claude (mediante la API de Anthropic), Mistral, DeepSeek, u Ollama / vLLM locales. Las plantillas de entorno listas para usar están en [`configs/`](https://github.com/7t1-studio/schedular-app/tree/main/apps/agent-kits/hermes/configs).

### API de biblioteca

Integra el runtime en una aplicación Node más grande:

```ts theme={null}
import { runAgent } from '@so-me/hermes-agent';

const result = await runAgent({
  prompt: "Schedule a tweet 'hello' for tomorrow at 9am UTC",
  soMeApiKey: process.env.SOMESTUDIO_API_KEY!,
  hermesBaseUrl: 'https://openrouter.ai/api/v1',
  hermesApiKey: process.env.HERMES_API_KEY!,
  hermesModel: 'nousresearch/hermes-4-405b',
  onMessage: (msg) => console.log(msg.role, msg.content),
});
```

Sobrescribe `tools` y `systemPrompt` incluidos para limitar el agente a una superficie más pequeña o cambiar su personalidad.

## Qué puedes preguntar

Los mismos prompts funcionan en las tres vías:

| Prompt | Qué ocurre |
| - | - |
| *"Muestra mis cuentas sociales conectadas."* | Llama a `list_accounts` y resume por plataforma |
| *"Programa un tuit 'hello world' para mañana a las 9:00 UTC."* | Calcula la marca de tiempo ISO y llama a `create_post` |
| *"Genera un texto para LinkedIn del viernes sobre los logros del segundo trimestre y prográmalo para las 5 p. m."* | Llama a `generate_and_schedule` de principio a fin |
| *"Responde a ese mensaje directo con mi plantilla guardada 'pricing'."* | Busca la respuesta guardada y llama a `reply_to_conversation` |
| *"¿Qué resultados tuvieron mis publicaciones de Twitter la semana pasada?"* | Llama a `get_platform_analytics` con `--days 7` |
| *"Approve all pending posts."* | Llama a `list_approvals` y luego a `approve_post` para cada una |

El agente tiene acceso a **las 205 herramientas de Social media studio** — todas las acciones disponibles en el panel están disponibles aquí. Catálogo completo agrupado: [`bundle/tools.md`](https://github.com/7t1-studio/schedular-app/blob/main/apps/agent-kits/hermes/bundle/tools.md).

## Cómo funciona

```
            ┌──────────────────────┐
            │ user prompt          │
            └──────────┬───────────┘
                       │
   ┌───────────────────┼───────────────────┐
   ▼                   ▼                   ▼
┌──────────┐   ┌──────────────┐   ┌──────────────────┐
│ Skill    │   │ MCP config   │   │ Standalone npm   │
│ install  │   │ in           │   │ runtime          │
│ via      │   │ ~/.hermes/   │   │ (so-me-hermes)   │
│ skills.sh│   │ config.yaml  │   │                  │
└─────┬────┘   └──────┬───────┘   └────────┬─────────┘
      │               │                    │
      │ shells out    │ POST /mcp          │ POST /mcp
      ▼               ▼                    ▼
┌──────────────┐  ┌──────────────────────────────────┐
│ CLI (so-me)  │  │ api.so-me.studio                 │
└──────┬───────┘  └──────────────────────────────────┘
       │ HTTP REST
       ▼
   Social media studio backend
```

Las tres vías convergen en el mismo backend, la misma clave de API (`SOME_API_KEY` para la skill de CLI, `SOMESTUDIO_API_KEY` para MCP y el runtime de npm) y las mismas indicaciones escritas a mano ([`bundle/SKILL.md`](https://github.com/7t1-studio/schedular-app/blob/main/apps/agent-kits/hermes/bundle/SKILL.md)). La skill y la vía que ejecuta la CLI usan HTTP REST por debajo; las vías MCP y runtime de npm usan JSON-RPC sobre `/mcp`.

## Reglas estrictas integradas en el prompt de sistema

* Razonar dentro de `<think>...</think>` antes de las llamadas a herramientas
* Nunca inventar IDs (cuenta, publicación, conversación) — buscarlos siempre primero
* `scheduledAt` debe ser ISO 8601 en UTC, estrictamente en el futuro
* Los trabajos de varios pasos (imagen → subida → publicación) se ejecutan secuencialmente
* Nunca revelar claves de API ni secretos de webhook, aunque se pida

Lista completa de reglas estrictas y árbol de decisión: [`bundle/SKILL.md`](https://github.com/7t1-studio/schedular-app/blob/main/apps/agent-kits/hermes/bundle/SKILL.md).

## Código fuente

Los kits de integración están en el monorepo de Social media studio:

| Ruta | Qué es |
| - | - |
| [`apps/agent-kits/hermes/`](https://github.com/7t1-studio/schedular-app/tree/main/apps/agent-kits/hermes) | Runtime npm + fragmento de configuración MCP |
| [`apps/agent-kits/hermes-skill/`](https://github.com/7t1-studio/schedular-app/tree/main/apps/agent-kits/hermes-skill) | Paquete de skill que ejecuta la CLI (replicado en el repositorio tap de skills.sh) |
| [`7t1-studio/so-me-hermes-skill`](https://github.com/7t1-studio/so-me-hermes-skill) | Tap del registro de Hermes Hub (el origen de `hermes skills install`) |
| [`@so-me/hermes-agent`](https://www.npmjs.com/package/@so-me/hermes-agent) | Paquete npm (el origen de `npm install -g @so-me/hermes-agent`) |

Las PR son bienvenidas — consulta los archivos `PUBLISHING.md` de cada kit para los flujos de regeneración y publicación.

## Actualizaciones

Cuando se publican herramientas nuevas en el backend de Social media studio:

* **Skill / MCP / runtime npm** — `bundle/tools.json` y `bundle/tools.md` se regeneran desde el catálogo MCP en vivo con `so-me agent export-tools --format hermes`. El paquete npm se vuelve a publicar en npm; el paquete de la skill se vuelve a publicar en su repositorio tap.
* **Usuarios finales de la vía skill** ejecutan `hermes skills update so-me-studio` para obtener la última versión.
* **Usuarios finales de la vía npm** ejecutan `npm install -g @so-me/hermes-agent@latest` para obtener la última versión.
* **Usuarios finales de la vía MCP** reciben las herramientas nuevas automáticamente en el siguiente arranque (no hace falta actualizar el cliente — Hermes Agent vuelve a obtener la lista de herramientas de `/mcp` en cada sesión).

## ¿Otros agentes?

Si usas otro entorno de ejecución de agentes:

* **Claude Desktop / Cursor / OpenCode** — instala la [integración con OpenClaw](/es/integrations/openclaw.md) (`npm install -g @social-media-scheduler/cli` y luego chatea a través de cualquiera de los [22 mensajeros](/es/integrations/openclaw.md#chatea-desde-cualquier-mensajero))
* **Cliente MCP nativo** (manifiesto de Claude Desktop, Cursor, etc.) — apunta directamente al [servidor MCP](/es/mcp/overview.md) con el mismo estilo de fragmento `mcp_servers:`
* **LangGraph, CrewAI, OpenAI Assistants, Anthropic API** — genera un archivo de definición de herramientas en su formato preferido:

  ```bash theme={null}
  so-me agent export-tools --format openai --out tools.openai.json
  so-me agent export-tools --format anthropic --out tools.anthropic.json
  so-me agent export-tools --format mcp --out tools.mcp.json
  ```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.