# Ajustes rápidos

> Cambia el saludo, las instrucciones o la persona de un agente.

Fuente: https://developers.plazbot.com/cli/agent/set/

### Ajustes rápidos del agente

Cambia rápidamente el saludo, las instrucciones o la persona de un agente sin editar su JSON. Solo se modifican los valores que indicas; el resto de la configuración del agente se mantiene.

```bash
plazbot agent set <greeting|instructions|persona> <agentId> [options]
```

## set greeting

Cambia el saludo del agente (el primer mensaje de una conversación, `instructions.greeting`).

```bash
plazbot agent set greeting <agentId> "<greeting>" [options]
```

### Parámetros

| Parámetro | Flag | Requerido | Descripción |
|-----------|------|-----------|-------------|
| `agentId` | (posicional) | Sí | ID del agente. |
| `greeting` | (posicional) | Sí | Texto del saludo, entre comillas. No puede estar vacío. |
| JSON | `--json` | No | Imprime el resultado como JSON (`{"id","updated","greeting"}`). Por defecto: `false`. |

### Ejemplos

```bash
# Cambiar el saludo
plazbot agent set greeting age_AbcDef123 "¡Hola! ¿En qué te puedo ayudar hoy?"
```

### Resultado

```text
✔ Greeting updated
New greeting: ¡Hola! ¿En qué te puedo ayudar hoy?
```

### Salida JSON

```json
{ "id": "age_AbcDef123", "updated": true, "greeting": "¡Hola! ¿En qué te puedo ayudar hoy?" }
```

## set instructions

Configura tono, estilo, personalidad, objetivo, idioma y uso de emojis. Con flags solo cambian esos valores y no se pregunta nada (funciona en scripts). Sin flags se abre un editor interactivo con los valores actuales por defecto.

```bash
plazbot agent set instructions <agentId> [options]
```

### Parámetros

| Parámetro | Flag | Requerido | Descripción |
|-----------|------|-----------|-------------|
| `agentId` | (posicional) | Sí | ID del agente. |
| Tono | `--tone <tone>` | No | `profesional`, `amigable`, `formal`, `casual`, `tecnico`, `empatico` o cualquier valor propio. |
| Estilo | `--style <style>` | No | `conciso`, `detallado`, `conversacional`, `directo` o cualquier valor propio. |
| Personalidad | `--personality <text>` | No | Personalidad en una frase. |
| Objetivo | `--objective <text>` | No | Objetivo principal del agente. |
| Idioma | `--language <language>` | No | `Espanol`, `English`, `Portugues`, `Frances` o cualquier valor propio. |
| Emojis | `--emojis <true\|false>` | No | Si usa emojis en las respuestas. Acepta también `yes/no`, `1/0`, `on/off`. |
| JSON | `--json` | No | Imprime el resultado como JSON (`{"id","updated","fields","instructions"}`). Por defecto: `false`. |

### Ejemplos

```bash
# Editar todos los valores de forma interactiva
plazbot agent set instructions age_AbcDef123

# Cambiar solo el tono y los emojis (sin preguntas)
plazbot agent set instructions age_AbcDef123 --tone amigable --emojis false

# Definir un objetivo y el idioma
plazbot agent set instructions age_AbcDef123 --objective "Agendar demos" --language English
```

### Resultado

```text
✔ Instructions updated
tone: amigable
emojis: false
```

### Salida JSON

```json
{
"id": "age_AbcDef123",
"updated": true,
"fields": ["tone", "emojis"],
"instructions": {
  "tone": "amigable",
  "style": "conciso",
  "language": "Espanol",
  "emojis": false,
  "greeting": "¡Hola! ¿En qué te puedo ayudar hoy?"
}
}
```

`instructions` es el objeto completo resultante (valores actuales más los cambios).

## set persona

Configura la persona del agente: nombre del personaje, rol, si habla en primera persona y si se presenta como humano. Con flags no se pregunta nada; sin flags se abre un editor interactivo.

```bash
plazbot agent set persona <agentId> [options]
```

### Parámetros

| Parámetro | Flag | Requerido | Descripción |
|-----------|------|-----------|-------------|
| `agentId` | (posicional) | Sí | ID del agente. |
| Nombre | `--name <name>` | No | Nombre del personaje, por ejemplo `"Sofia"`. |
| Rol | `--role <role>` | No | Rol, por ejemplo `"Asesora comercial"`. |
| Primera persona | `--first-person <true\|false>` | No | Si habla en primera persona. |
| Humano | `--human <true\|false>` | No | Si se presenta como humano en lugar de asistente virtual. |
| JSON | `--json` | No | Imprime el resultado como JSON (`{"id","updated","fields","persona"}`). Por defecto: `false`. |

### Ejemplos

```bash
# Editar la persona de forma interactiva
plazbot agent set persona age_AbcDef123

# Definir nombre y rol (sin preguntas)
plazbot agent set persona age_AbcDef123 --name "Sofia" --role "Asesora comercial"

# Hablar como humano y en primera persona
plazbot agent set persona age_AbcDef123 --first-person true --human true
```

### Resultado

```text
✔ Persona updated
name: Sofia
role: Asesora comercial
```

### Salida JSON

```json
{
"id": "age_AbcDef123",
"updated": true,
"fields": ["name", "role"],
"persona": {
  "name": "Sofia",
  "role": "Asesora comercial",
  "speaksInFirstPerson": true,
  "isHuman": false
}
}
```

### Errores comunes

| Mensaje | Causa | Solución |
|---------|-------|----------|
| `The greeting cannot be empty.` | El saludo está vacío. | Escribe el saludo entre comillas. |
| `No instruction values were given and there is no interactive terminal.` | `set instructions` sin flags en CI, un pipe o con `--json`. | Pasa al menos un flag, por ejemplo `--tone amigable`. |
| `No persona values were given and there is no interactive terminal.` | `set persona` sin flags y sin terminal. | Pasa al menos un flag, por ejemplo `--name "Sofia"`. |
| `Invalid value "<valor>" for --emojis.` | Valor booleano no reconocido (igual para `--first-person` y `--human`). | Usa `true` o `false`. |
| `Agent age_AbcDef123 was not found in the active workspace.` | El ID no existe en el workspace activo. | Revisa el ID con `plazbot agent list`. |
| `You are not signed in.` | No hay sesión activa. | Ejecuta [`plazbot login`](https://developers.plazbot.com/cli/login). |
