operx: OperX desde la terminal
operx usa la API de OperX con tu token personal: lo mismo que puedes hacer
en la app, desde una terminal, un script o una tarea programada. Actúa como
tú, con tu rol, y solo en tu empresa.
Instalar
Windows (PowerShell):
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"; uv tool install operx-cli
Mac y Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh && uv tool install operx-cli
uv instala su propio Python, así que no necesitas tener uno. Si ya tienes
Python 3.10 o más nuevo, también sirve pipx install operx-cli. Abre una
terminal nueva y comprueba con operx --version.
Para actualizar: operx update. La pantalla de bienvenida avisa cuando hay una
versión nueva. En Windows la instala otra ventana, que espera a que se cierre
operx (Windows no deja reemplazar un programa abierto); si quedó a medias,
uv tool install operx-cli --force --refresh lo deja bien.
Entrar
operx login
- La terminal muestra un código y abre el navegador en la página de OperX.
- Entras como siempre. La página dice qué terminal pide acceso: apruébalo solo
si acabas de escribir
operx loginen tu propio computador y el código es el mismo. Escribe el código de 6 dígitos de tu app de autenticación (o tu contraseña, si no usas una) y elige Solo lectura o Lectura y escritura. - Vuelve a la terminal: ya entraste. Nunca ves ni copias un token.
Tu rol necesita el permiso «Acceso por API» (Ajustes › Usuarios y acceso › Roles); un administrador lo da. El acceso dura 90 días y lo ves, y puedes revocarlo, en el menú de tu cuenta › Acceso por API.
El token queda en el llavero del sistema (en Windows, el Administrador de
credenciales; en Mac, el Llavero). En un equipo sin llavero, como un servidor
Linux, queda en un archivo de la carpeta de operx que solo tú puedes leer
(~/.config/operx/token-principal, permisos 600). En un servidor sin
navegador: operx login --token te deja pegar un token creado en Acceso por
API, o puedes usar variables de entorno: OPERX_TOKEN (el token) y, si no es
producción, OPERX_DIRECCION.
Para otra dirección u otra empresa, usa un perfil:
operx --perfil pruebas login --direccion https://…
operx --perfil pruebas ordenes listar
operx logout cierra la sesión: revoca el token en el servidor y lo borra de
este equipo. Un token puesto en OPERX_TOKEN no lo toca.
Modo interactivo
Escribe operx solo, en una terminal, y se abre la pantalla de bienvenida
(quién eres y los números de hoy: órdenes abiertas, vencidas, artículos bajo
el mínimo) con un prompt. Ahí escribes los comandos sin el operx, con
Tab para completar y ↑ para repetir lo anterior:
operx › ordenes listar --vencidas
operx › buscar "bomba"
operx › ayuda
operx › salir
salir (o Ctrl+D) termina la sesión sin borrar tu token. ayuda y Tab
muestran solo los comandos de los productos que tiene tu empresa. En un script
o una tubería, operx solo muestra la ayuda y no espera a nadie.
Comandos
operx buscar "bomba" # como la barra de búsqueda de la app
operx ordenes listar --estado en-progreso --asignada-a yo
operx ordenes ver 1234
operx ordenes crear --titulo "Cambio de rodamiento" --equipo BOM-04 --prioridad alta --vence 30/10/2026
operx ordenes estado 1234 completada
operx ordenes asignar 1234 "Pedro Pérez"
operx ordenes comentar 1234 "Llegó el repuesto"
operx ordenes editar 1234 --prioridad critica --vence 05/11/2026
operx ordenes adjuntar 1234 foto.jpg --momento despues
operx reportes indicadores --dias 30 # MTTR, MTBF, cumplimiento de preventivos
operx reportes vencidas
operx reportes carga # órdenes por persona
operx avisos # tus avisos sin leer
operx agenda # lo que toca esta semana
operx preventivos listar --estado vencidos
operx preventivos ver 12
operx preventivos crear --nombre "Lubricar rodamientos" --cada 3 --unidad meses --equipo BOM-04 --proxima 01/11/2026
operx preventivos nota 12 "Usar grasa EP2"
operx preventivos ejecuciones 12
operx equipos listar --buscar compresor
operx equipos ver BOM-04
operx equipos crear --nombre "Bomba 4" --codigo BOM-04 --lugar "Planta Norte"
operx clientes listar
operx clientes crear --nombre "Acme S.A.S." --nit 900123456
operx clientes crear --nombre "Filtros Ltda" --rol proveedor
operx lugares listar
operx inventario existencias --buscar filtro
operx inventario entrada --articulo FIL-010 --lugar "Bodega central" --cantidad 10 --costo-unitario 1.500,50
operx inventario salida --articulo FIL-010 --lugar "Bodega central" --cantidad 2 --motivo Consumo
operx inventario traslado --articulo FIL-010 --cantidad 2 --de "Bodega central" --a "Camioneta 1"
operx inventario ajuste --articulo FIL-010 --lugar "Bodega central" --cantidad -1 --motivo Conteo
operx inventario movimientos --articulo FIL-010
operx inventario revertir 4512 # deshace un movimiento equivocado
operx equipos parar BOM-04 --motivo Falla --minutos 90
operx equipos reanudar 21
operx equipos hallazgo BOM-04 --titulo "Fuga en el sello" --severidad alta
operx lecturas anular 31 --motivo "Lectura de otro equipo"
operx lecturas puntos BOM-04
operx lecturas registrar --punto 12 --valor 73,4
operx personas listar --buscar pérez
operx personas importar empleados.xlsx # revisa el archivo, no guarda
operx personas importar empleados.xlsx --confirmar # guarda si ninguna fila tiene errores
operx sst acciones --estado abiertas
operx sst nueva-accion --titulo "Señalizar la salida" --para 15/11/2026 --responsable "Ana Ruiz"
operx sst accion-hecha 7 --evidencia "Se instalaron dos señales"
operx sst incidentes
operx ambiental acciones
operx ambiental permisos
operx ambiental obligaciones --mes 11/2026
operx ambiental residuo --corriente "Aceite usado" --kg 12,5
operx ambiental lectura --medidor Acueducto --valor 1.234,5
SG-SST y Ambiental van por empresa: sin --empresa, la de tu cuenta. Si
llevas el SG-SST o lo ambiental de tus clientes, operx sst empresas y
operx ambiental empresas las listan.
operx --help y operx ordenes --help muestran todas las opciones.
- Los equipos, lugares, clientes, artículos y personas se nombran por su
código o su nombre exacto. Si dos se llaman igual,
operxlo dice y pide el id. - Los números y las fechas se escriben como en la app:
73,4,1.500,50,30/10/2026,22/10/2026 08:00. - Las listas muestran la primera página;
--todaslas trae todas. --jsonda todo lo que responde la API;--csvda un CSV que Excel abre bien (operx equipos listar --todas --csv > equipos.csv).
Antes de escribir
Todo lo que crea o cambia algo pregunta antes. En un script o una tarea
programada no hay a quién preguntar: agrega --si. Cada escritura queda en
el historial del token (Acceso por API › el token › Actividad) marcada como
hecha desde la CLI.
Importar personas
La primera columna con el nombre basta. operx reconoce las columnas
Nombres, Apellidos, Código, Cargo, Tipo de contrato, Fecha de ingreso, Fin de
contrato, Celular, Sede y las de contacto de emergencia, con o sin tildes.
Una columna con otro nombre se indica con --mapa "Tu columna=campo".
Nadie recibe acceso a la app al importarlo: las invitaciones se envían en
Usuarios y acceso.
Cualquier otra llamada
Lo que no tiene comando propio se hace con operx api. operx api rutas
lista todas las direcciones que tu token puede llamar (operx api rutas
compresor deja las que lo mencionan); también están en Acceso por API ›
Documentación:
operx api rutas schedules
operx api GET pm/schedules/ -q search=compresor
operx api POST contacts/ -d @contacto.json
operx api GET work-orders/export/ -o ordenes.csv
operx api POST work-orders/1234/attachments/ -a file=foto.jpg -d '{"file_type": "photo"}'
En Git Bash, una dirección que empieza por / se vuelve una ruta de Windows:
escríbela sin la barra inicial, como arriba.
Para agentes de IA
operx agentes imprime una guía para un agente de IA (Claude, ChatGPT,
Copilot, Codex…): las reglas para usar operx bien (leer con --json,
preguntar antes de escribir, no tocar tokens) y cada comando con sus opciones.
Dile a tu agente: «Ejecuta operx agentes y sigue esa guía».
Para desarrollar
cd cli
python -m venv .venv && .venv/Scripts/python -m pip install -e ".[test]"
.venv/Scripts/python -m pytest
operx_cli/client.py es lo único que habla con la red; el servidor MCP lo
usará igual.
Publicar una versión
El paquete es operx-cli en PyPI. Una versión publicada no se puede reemplazar:
si algo falla, se sube la siguiente.
-
Sube el número en
pyproject.tomly enoperx_cli/__init__.py. -
Las funciones nuevas del servidor (como
operx login) tienen que estar ya desplegadas en producción antes de publicar: el paquete nuevo las llama. -
Desde
cli/:uv build --clear uv publish
uv publish toma el token de PyPI de la variable de entorno
UV_PUBLISH_TOKEN. Usa un token solo del proyecto operx-cli (PyPI › Account
settings › API tokens). Se guarda una vez, en tu usuario de Windows, desde
PowerShell; lo pegas donde lo pide y no se ve:
$token = Read-Host "Token de PyPI" -AsSecureString
[Environment]::SetEnvironmentVariable("UV_PUBLISH_TOKEN", [Net.NetworkCredential]::new("", $token).Password, "User")
Las terminales que abras después ya lo tienen. El token es secreto: nunca va en un archivo del repositorio ni en un chat.
Metadata
Release files for operx-cli 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| operx_cli-0.4.0.tar.gz | 95.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| operx_cli-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 171.2 kB
Release files / operx_cli-0.4.0.tar.gz
| Download URL | operx_cli-0.4.0.tar.gz |
|---|---|
| Size | 95.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c6f4b3f0d6786d463bd1d7b454ae6df278a8e028e7b1aa0da5d2051af2e87ae5
|
|
BLAKE2b-256 checksum How to use checksums |
d32e50e8de6119a69c85093f5b4b838afe833f848ebb5314beafe3196c03f2a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / operx_cli-0.4.0-py3-none-any.whl
| Download URL | operx_cli-0.4.0-py3-none-any.whl |
|---|---|
| Size | 75.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c7ad5804a2211bfae695296098ae10a82507885f8969061166ca7c869d108f55
|
|
BLAKE2b-256 checksum How to use checksums |
ec54f8a335bd07ac1005f296c0d0f0d88be85d28f62b2907a7ae36d2fe1c2f88
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for operx-cli 0.4.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.