Echolot
Espacios de trabajo

Secretos

Guarda contraseñas, tokens y claves en el llavero en lugar de en los archivos del espacio de trabajo, y entrégaselos a la herramienta de línea de comandos y a CI.

Un secreto es una variable cuyo valor se queda en el llavero de tu Mac. El archivo del espacio de trabajo solo contiene su nombre, así que puedes confirmar el espacio de trabajo y compartirlo sin compartir tus credenciales. Usa secretos para contraseñas, tokens, claves de API y cualquier otra cosa que no pegarías en un chat.

Convierte una variable en secreta

  1. Abre la tabla de la variable: la página Entornos, Ajustes de la carpeta… › Variables o la pestaña Variables de la solicitud.
  2. Añade la variable, o búscala, y marca Secreto.
  3. Escribe el valor en el campo (dice Sin definir en este Mac) y pulsa ↩ o haz clic en Guardar.

El campo nunca vuelve a mostrar el valor. Dice Guardado en el llavero, con una llave, cuando ya hay un valor. Para cambiar el valor, escribe uno nuevo y guárdalo.

Usa un secreto como cualquier variable: {{token}}.

Variables del espacio de trabajo en la página Entornos: token marcado como Secreto, con su campo de valor que dice Guardado en el llavero

En el archivo, un secreto es un nombre y una marca, sin valor:

[[variables]]
name = "token"
secret = true

Cada nivel guarda su propio valor. Un secreto password en el entorno Staging y otro en Production son dos elementos del llavero, así que cada entorno puede tener su propia contraseña.

Dónde están los valores

Los valores se guardan en tu llavero de inicio de sesión, un elemento por secreto, con la etiqueta Echolot secret <name>. Pertenecen al espacio de trabajo (por su ID, que está en workspace.toml) y al nivel en el que se define la variable. La herramienta de línea de comandos del mismo Mac lee los mismos elementos.

Un secreto sin valor en este Mac no recurre a otro nivel. La solicitud dice the secret {{password}} has no value on this Mac hasta que defines uno.

Edición de la Mac App Store

La edición de la App Store usa el mismo llavero. Los elementos que ha creado la descarga directa o la herramienta de línea de comandos pueden pedir acceso una vez; elige Permitir siempre.

Comparar las ediciones

Lo que nunca va a los archivos

Echolot mantiene estas cosas fuera de los archivos del espacio de trabajo:

  • Los valores de las variables secretas.
  • Los secretos que guardan las capturas de respuesta: una captura marcada como secreta solo escribe en el llavero. En Alpenglow, Auth › Sign in captura access_token en el secreto {{token}}.
  • Los tokens de OAuth 2.0 y los inicios de sesión de MCP.
  • Los valores que mueves con Trasladar al llavero (más abajo).

Lo que escribes como texto sin cifrar se queda como texto sin cifrar. Cuando un campo de contraseña de autenticación o de proxy contiene un valor literal en lugar de una variable, Echolot avisa debajo: Se guarda como texto sin cifrar en el archivo del espacio de trabajo. Haz clic en Trasladar al llavero: el valor se convierte en una variable secreta del espacio de trabajo, y el campo recibe {{name}} en su lugar.

Los secretos también se enmascaran allí donde Echolot muestra o entrega una solicitud resuelta: vistas previas, vista rápida, el panel Variables, la búsqueda en el historial y todo lo que reciben los agentes. Generar código… y Copiar como cURL son la excepción: escriben la solicitud tal como se enviaría, secretos incluidos.

Las importaciones mueven las credenciales a secretos

Cuando importas una colección de Postman, una exportación de Insomnia u otro archivo, las contraseñas, tokens y claves de API que se encuentran en los ajustes de autenticación y en las cabeceras de credenciales se convierten en variables secretas. Sus valores van al llavero, y la solicitud recibe {{name}} en su lugar: el nombre de la solicitud y el campo, como {{me_password}}. El informe de la importación enumera los nombres de los secretos que ha guardado, nunca los valores.

Las credenciales escritas en direcciones (https://user:pass@…), cadenas de consulta y cuerpos aún no se mueven. Revísalas después de una importación.

Las exportaciones omiten los valores

Una exportación escribe las variables secretas solo por su nombre, sin valor, en todos los formatos. Quien abre la exportación define los valores por su cuenta.

Secretos en la línea de comandos y en CI

La herramienta de línea de comandos busca el valor de un secreto en este orden:

  1. Un archivo --secrets pasado a echolot run: líneas de NAME=value.
  2. Una variable de entorno ECHOLOT_SECRET_<NAME>: el nombre en mayúsculas, con cada carácter que no sea una letra o una cifra convertido en _. {{token}} lee ECHOLOT_SECRET_TOKEN; {{api-key}} lee ECHOLOT_SECRET_API_KEY.
  3. En un Mac, los elementos del llavero que guarda la app.
ECHOLOT_SECRET_TOKEN=… echolot run Alpenglow.echolot --folder orders
echolot run Alpenglow.echolot --env staging --secrets staging.secrets

El llavero se omite cuando CI está definido y cuando ECHOLOT_KEYCHAIN=0. En CI, define las variables ECHOLOT_SECRET_… desde el almacén de secretos de tu CI. Consulta CI.

Un secreto que se encuentra en el entorno vale para todos los niveles: ECHOLOT_SECRET_PASSWORD responde a {{password}} en cualquier entorno.

Las importaciones en la línea de comandos mueven las credenciales a secretos igual que la app. Sin un llavero, la herramienta dice qué variables ECHOLOT_SECRET_… hay que definir.

La primera apertura de un compañero

Un compañero que clona el espacio de trabajo recibe el nombre de cada secreto y ninguno de los valores. Sus tablas dicen Sin definir en este Mac. Define sus propios valores una vez, y a partir de entonces todos trabajan con los mismos archivos y con sus propias credenciales. Consulta Git y equipos.

En esta página