Saltar al contenido
ColliePWA

01/Documentation

Instalar Collie

La puerta de acceso requerida y la instalación para su sistema: Linux, Arch y Omarchy, Nix, macOS, Windows o como plugin de Herdr. Cubre la primera ejecución, la configuración en iPhone o Android, actualizaciones y desinstalación.

Instale Collie en el sistema, inícielo y configúrelo en el teléfono. Lea primero Seguridad: Collie expone acceso remoto por shell a la máquina por diseño.

Antes de comenzar

Collie requiere una puerta de acceso: un mecanismo que lo sirva mediante HTTPS y restrinja el acceso únicamente al usuario.

La puerta de acceso predeterminada es Tailscale. collie start ejecuta tailscale serve automáticamente, y el teléfono se conecta a Collie mediante la tailnet, la red privada de Tailscale. El resto de esta página asume el uso de Tailscale. Para usar un proxy con detección de identidad, un proxy inverso, Cloudflare Tunnel o NetBird, consulte Front doors, producto por producto.

Con Tailscale, prepare tres elementos:

  1. Añada el host a la tailnet instalando Tailscale en él y ejecutando tailscale up.
  2. Habilite los certificados HTTPS para la tailnet abriendo consola de administración y seleccionando Enable HTTPS.
  3. Añada el teléfono a la misma tailnet instalando la aplicación de Tailscale e iniciando sesión con la misma cuenta.

collie start finaliza con un error si HTTPS está desactivado. El teléfono también requiere HTTPS para instalar Collie en la pantalla de inicio y recibir Web Push.

Dos formas de ejecutarlo

Cada instancia de Collie pertenece a uno de dos tipos, y cada comando de esta página se detalla una vez para cada uno. Elija su columna y manténgala para el resto de la documentación.

Plugin de HerdrIndependiente
Se instaló conherdr plugin install AltanS/collie o herdr plugin linkEl script de instalación, una compilación desde el código fuente o un paquete
Cómo distinguirlosherdr plugin list muestra herdr.colliecollie está en su PATH o reside en ~/.local/share/collie/current/bin/collie
Los verbos se escribenherdr plugin action invoke <verb> --plugin herdr.colliecollie <verb>
Quién lo actualizaLa acción updatecollie update o su gestor de paquetes
Configuración .env~/.config/herdr/plugins/config/herdr.collie/.env (herdr plugin config-dir herdr.collie lo imprime)~/.config/collie/.env o la ruta de Herdr en un host que ejecuta Herdr
Estado~/.local/state/collie/~/.local/state/collie/

collie doctor indica los archivos de configuración que esta instalación realmente lee, bajo su línea config-file.

Un plugin de Herdr sigue siendo el mismo binario collie; las acciones se reenvían a él (Acciones de Herdr). Una instalación como plugin no tiene collie en su PATH, por lo que los verbos que no tienen acción (pair, qr, logs, link, devices, stt, config) se ejecutan desde el directorio del plugin como bin/collie <verb>.

Herdr es también uno de los cinco multiplexores que Collie puede reflejar (Herdr, tmux, zellij, tuios y tern). El multiplexor a reflejar es una elección independiente (Indicar el multiplexor): un Collie independiente puede reflejar Herdr, y un plugin de Herdr puede reflejar tmux.

Requisitos

Collie se ejecuta en Linux y macOS. Windows 11 en x64 con Herdr es un host compatible, marcado aún como experimental; consulte Compatibilidad con Windows.

HerramientaNecesaria paraPropósito
curl, tar, herramienta sha256 (sha256sum/shasum)Script de instalación binaria y actualizacionesDescargar y verificar archivos de versión.
BunCompilaciones desde el código fuenteEjecutar el puente y compilar la interfaz web.
gitCompilaciones desde el código fuente y rutas de HerdrClonar y actualizar el repositorio.
Multiplexor: Herdr, tmux, zellij, tuios o ternTodas las instalacionesBackend reflejado configurado mediante COLLIE_MUX. tmux y zellij son experimentales en 1.0, y tuios y tern también son experimentales; consulte Configurar Collie para un multiplexor y MUX_CONTRACT.md.
Herdr ≥ 0.7.0Solo backend de HerdrRequerido cuando COLLIE_MUX=herdr. Compruebe con herdr --version.
TailscaleLa puerta de acceso predeterminadatailscale serve redirige Collie a la tailnet mediante proxy. No se requiere detrás de otra puerta de acceso.
Nota. Collie no impone una versión mínima de tmux o zellij. Los adaptadores se probaron con tmux 3.4, tmux 3.6b y zellij 0.44.2. Se gestiona un caso particular en tmux: en un servidor que utiliza window-size manual, versiones de tmux anteriores a la 3.7 fallan al crear una ventana. Collie bloquea la solicitud e indica que se ejecute tmux set -g window-size latest.

Dependencias opcionales, necesarias solo para estas funciones:

HerramientaNecesaria para
Node.jsFormatea nombres de MagicDNS en los registros.
systemd / launchdSupervisión de servicios; recurre a nohup si no está disponible.
web-pushOpcional, consulte Web Push.

Instalación

Localice el sistema a continuación, ejecute sus comandos y continúe en Iniciarlo.

SistemaMétodo recomendado
LinuxEl script de instalación
Arch Linux, OmarchyPaquete collie-bin
NixOS o Nix en cualquier sistemaPaquete Flake
macOS, Apple Silicon o IntelEl script de instalación
Windows 11 (x64, con Herdr)install.ps1, experimental
Cualquiera de estos, dentro de HerdrPlugin de Herdr

Linux

curl -fsSL https://colliepwa.dev/install.sh | sh
collie start

El script instala un binario precompilado para x86_64 o arm64. Independiente explica su funcionamiento y cómo fijar una versión.

collie start ejecuta el bridge como un servicio de systemd --user. Se detiene al cerrar sesión. En un servidor al que se accede por SSH, manténgalo en ejecución después de cerrar sesión y tras los reinicios:

loginctl enable-linger $USER

Consulte Persistencia tras reinicios para más detalles.

Arch Linux y Omarchy

git clone https://github.com/AltanS/collie.git && cd collie/packaging/aur
makepkg -si
collie start

collie-bin aún no está en AUR ni en el repositorio de Omarchy. Por ahora, constrúyalo desde el PKGBUILD de este repositorio. Descarga el binario precompilado sin compilar. Una vez publicado, sudo pacman -S collie-bin (Omarchy) o paru -S collie-bin (AUR) reemplaza el clon.

Omarchy incluye tmux y Herdr. Debe indicar cuál replicar en el primer inicio, por ejemplo COLLIE_MUX=herdr collie start. Arch y Omarchy bajo Detalles del paquete cubren la estructura, las actualizaciones y la eliminación.

NixOS y Nix

nix profile install github:AltanS/collie#collie
collie start

Esto funciona en NixOS y en cualquier sistema con Nix en x86_64-linux, aarch64-linux y aarch64-darwin. Todavía no hay un módulo de NixOS. Nix bajo Detalles del paquete contiene el resto.

macOS

curl -fsSL https://colliepwa.dev/install.sh | sh
collie start

Los binarios publicados para Mac cubren Apple Silicon (macos-arm64) e Intel (macos-x64), y requieren macOS 13 o posterior, la versión mínima contra la que se enlaza su compilación de Bun. El binario de Intel utiliza el destino base de Bun, por lo que también se ejecuta en equipos Mac sin AVX2.

collie start registra un agente de launchd en ~/Library/LaunchAgents. Inicia Collie al iniciar sesión y lo reinicia si falla. También ejecuta tailscale serve, por lo que el comando tailscale debe estar en su PATH. La aplicación Tailscale para Mac puede instalar dicho comando desde sus ajustes.

Nota. Un Mac al que solo se accede mediante SSH no dispone de sesión de inicio para launchd. collie start informa de esto y ejecuta el bridge en segundo plano sin supervisión: sin reinicio ante fallos ni ejecución al iniciar sesión.

macOS aún no tiene paquete. mise funciona en Mac, al igual que la salida de aarch64-darwin Nix.

Compatibilidad con Windows (experimental)

Experimental. La instalación se probó con la versión pública v1.16.0 en una máquina virtual con Windows 11, y la actualización se ensayó con copias locales de los archivos de la versión. También se ejecutó el acceso móvil mediante HTTP a través de Tailscale Serve. Aún no se han probado una actualización entre dos versiones reales ni el acceso móvil mediante HTTPS. De ahora en adelante, la comprobación de la versión exige el archivo zip para Windows. Solo el encargado del mantenimiento puede omitir esto, en el caso de una corrección urgente para Linux. "Compatible" significa que el encargado del mantenimiento es responsable del código y lo prueba; el estado "experimental" se mantiene hasta que se cumplan todas las condiciones de la página de Windows. Collie en Windows contiene la página completa.

Ejecute install.ps1. No requiere Bun, Git ni bash:

irm https://colliepwa.dev/install.ps1 | iex

Para leer primero el script, guárdelo, ábralo y ejecútelo como un archivo:

Invoke-WebRequest -OutFile install.ps1 https://colliepwa.dev/install.ps1
notepad install.ps1
powershell -ExecutionPolicy Bypass -File .\install.ps1

Luego abra una nueva terminal e inicie Herdr. Herdr toma el control de esa terminal, así que abra una segunda terminal o un panel de Herdr y ejecute collie start allí. De cero al teléfono contiene cada paso, incluido cómo abrir Collie en su teléfono.

Qué se debe saber antes de empezar:

  • Windows 11 en x64, solo con Herdr. tmux, zellij, Windows 10 y Windows en ARM no están cubiertos.
  • El binario no está firmado. SmartScreen puede solicitar confirmación antes de la ejecución y Smart App Control puede bloquearlo. Página de Windows.
  • La dirección se publica manualmente. En Linux y macOS, collie start ejecuta tailscale serve automáticamente. En Windows no lo hace, por lo que debe ejecutarse manualmente: Acceder desde el teléfono detalla los pasos con Tailscale, y Variante C describe el uso de un proxy inverso.
  • Una máquina Windows no puede unirse a un crew en esta versión.
  • Una compilación desde el código fuente requiere bash de Git for Windows. El archivo zip no requiere ninguna cadena de herramientas.
  • Una copia local del código fuente nunca se actualiza sola en Windows. Cambiar a la instalación mediante el archivo zip es un paso manual único: collie uninstall, luego install.ps1. Después de eso, collie update funciona. En Actualizar figuran los detalles.

Independiente

El script de instalación descarga la versión más reciente en ~/.local/share/collie (COLLIE_DIR) y enlaza el binario a ~/.local/bin/collie:

curl -fsSL https://colliepwa.dev/install.sh | sh
collie start

Obtiene la versión estable más reciente y no modifica una instalación existente. Para actualizarla, use collie update. La fuente canónica es scripts/install.sh en el repositorio: una página de POSIX sh que nunca llama a sudo. Léalo antes de ejecutarlo:

curl -fsSL https://raw.githubusercontent.com/AltanS/collie/main/scripts/install.sh | less
curl -fsSL https://raw.githubusercontent.com/AltanS/collie/main/scripts/install.sh | sh

Si ~/.local/bin no está en su PATH, ejecute el binario directamente:

~/.local/share/collie/current/bin/collie version

Para fijar una versión o reparar una instalación existente (consulte Cuando collie no se ejecute):

curl -fsSL https://colliepwa.dev/install.sh | COLLIE_TAG=v1.0.0 sh

El script consulta la API de GitHub para obtener las versiones, la cual aplica un límite de peticiones por dirección IP. Si devuelve HTTP 403, fije la versión como se muestra arriba o configure GH_TOKEN con un token sin permisos. Consulte Si GitHub aplica un límite de peticiones a la comprobación de versiones.

Para versiones preliminares, pase --beta. Selecciona la versión preliminar más reciente y la instalación seguirá las versiones preliminares de esa versión principal hasta el lanzamiento final (Versiones preliminares).

El mismo resultado, desde el código fuente

# 1. Clone and checkout latest stable tag
git clone https://github.com/AltanS/collie.git ~/.local/share/collie
cd ~/.local/share/collie
git checkout --detach "$(git tag --list 'v*' | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' | sort -V | tail -1)"

# 2. Build runtime and UI
bash scripts/collie-ctl.sh build

# 3. Verify
bin/collie version

# 4. Optional: link to PATH
bin/collie link

Una compilación desde el código fuente requiere Bun y git. Iníciela con bin/collie start, o con collie start tras crear el enlace.

Plugin de Herdr

herdr plugin install AltanS/collie
herdr plugin action invoke start --plugin herdr.collie

Inicie primero el servidor Herdr (herdr o herdr server &). Esto funciona en Linux y macOS.

Para instalar desde un clon local en su lugar:

git clone https://github.com/AltanS/collie.git && cd collie
herdr plugin link "$(pwd)"
herdr plugin action invoke start --plugin herdr.collie

Para una versión preliminar, instale la etiqueta con herdr plugin install AltanS/collie --ref <tag> --yes. Eso es todo para activarla (Versiones preliminares).

Desde un paquete

Un paquete es una instalación independiente gestionada por su gestor de paquetes: se instala, se actualiza y se elimina. Los comandos para cada gestor aparecen arriba y bajo Detalles del paquete, junto con mise para Linux y macOS.

Un paquete no es un plugin de Herdr. Para mostrar los botones de Collie en Herdr, enlace el árbol instalado una sola vez:

herdr plugin link /opt/collie

Herdr no explora /opt, por lo que nunca detecta el paquete automáticamente. Las acciones update y update-major del plugin rechazan ejecutarse y remiten a su gestor de paquetes. Es intencionado: su gestor de paquetes administra este árbol.

Indicar el multiplexor

Collie refleja un backend: COLLIE_MUX=herdr (predeterminado), tmux o zellij.

No es necesario definirlo antes del primer inicio. start busca un socket activo de Herdr, un servidor tmux en ejecución y sesiones de zellij, muestra lo encontrado y escribe su elección en la configuración .env, creando el archivo si es necesario.

Sin un terminal interactivo, start selecciona el único backend que haya encontrado y lo notifica. Si no encuentra ninguno, o encuentra varios, se niega a iniciar e indica que configure COLLIE_MUX.

Para elegirlo con antelación, inicialice la configuración antes del primer inicio:

mkdir -p ~/.config/collie
cp ~/.local/share/collie/current/.env.example ~/.config/collie/.env

Esa ruta corresponde al script de instalación; una copia del código fuente tiene .env.example en su raíz. En un plugin de Herdr, el archivo se ubica donde apunta herdr plugin config-dir herdr.collie. Luego, defina el backend y su endpoint:

COLLIE_MUX=tmux                                           # or: zellij
# zellij instead: COLLIE_MUX_ENDPOINT_ZELLIJ=<session>
COLLIE_MUX_ENDPOINT_TMUX=/run/user/1000/collie-tmux.sock
Precaución. No ejecute ese cp después de un inicio: sobrescribe el valor COLLIE_MUX que start acaba de escribir.

Edite el archivo más adelante según cambie la configuración. Consulte Configurar Collie para un multiplexor.

Iniciarlo

herdr plugin action invoke start --plugin herdr.collie   # Herdr plugin
collie start                                             # standalone

start hará lo siguiente:

  1. Compilar web/dist si falta.
  2. Iniciar el puente bajo systemd --user (o launchd/nohup).
  3. Ejecutar tailscale serve --bg 8787 (HTTPS :443 → 127.0.0.1:8787).
  4. Mostrar el banner de conexión.

Primera ejecución: lo que verá

Salida de collie start (las ejecuciones de Herdr devuelven JSON; vea los registros con herdr plugin log list --plugin herdr.collie):

$ collie start
building web UI (first run)…                    # linked clone only; a GitHub install already built
…bun install · typecheck · vite build output…
bridge started (systemd --user: collie)
tailscale serve (https) → tailnet :443 -> 127.0.0.1:8787

  ✓ Collie is running  ·  v1.0.0+b158755
    service   systemd --user (collie) · active
    local     http://127.0.0.1:8787
    tailnet   https://myhost.tail1234.ts.net

Si la comprobación de estado falla (⚠ Collie isn't answering on :8787 yet), consulte Resolución de problemas.

El puente se ejecuta como un servicio de systemd --user o un agente launchd de macOS. Se inicia al iniciar sesión y se reinicia en caso de fallo (ARCHITECTURE.md §3). En Linux, loginctl enable-linger $USER lo mantiene en ejecución tras los reinicios (Persistencia tras reinicios).

Configure el acceso de usuarios en Configuración y el acceso de dispositivos mediante emparejamiento (collie pair).

¿Está funcionando realmente?

Verificar estado y registros:

$ collie status

  ✓ Collie is running  ·  v1.0.0+b158755
    service   systemd --user (collie) · active
    local     http://127.0.0.1:8787
    tailnet   https://myhost.tail1234.ts.net

  serve config:
    https://myhost.tail1234.ts.net (tailnet only)
    |-- / proxy http://127.0.0.1:8787
$ collie logs        # journal timestamps trimmed here
[push] disabled (no VAPID keys configured)
[bridge] listening on http://127.0.0.1:8787  (poll 1500ms)
[bridge] WARNING: COLLIE_TRUSTED_USER is empty — any tailnet device/user that reaches the bridge is checked by its pairing token alone. Set it to your tailnet login (see README → Variant A).

Para restringir el acceso, configure COLLIE_TRUSTED_USER=you@example.com en .env y ejecute collie restart (Configuración). Si falta contenido en el panel, consulte Resolución de problemas.

Instalación en el teléfono

Abra Collie en el teléfono, emparéjelo y añada Collie a la pantalla de inicio.

  1. Confirme que la aplicación Tailscale del teléfono comparte una tailnet con el host.
  2. Ejecute collie qr en el host y escanee su código, o abra la URL que imprime collie url.
  3. Ejecute collie pair en el host y escanee ese código QR.

El código QR de collie pair abre Ajustes → Sistema → Dispositivos vinculados con el código introducido. También se puede abrir Ajustes → Sistema → Dispositivos vinculados e introducirlo manualmente. Collie no responde a ningún dispositivo hasta que esté vinculado, por lo que el panel principal muestra Emparejar este dispositivo hasta ese momento (Emparejar un dispositivo).

Collie es una aplicación web. El navegador la añade a la pantalla de inicio sin pasar por una tienda de aplicaciones, proporcionándole un icono independiente y vista a pantalla completa.

iPhone y iPad

  1. Abra la URL de Collie en Safari.
  2. Pulse Compartir y luego pulse Añadir a la pantalla de inicio.
  3. Pulse Añadir.

En iOS 16.4 y versiones posteriores, Chrome, Edge y Firefox también ofrecen Añadir a la pantalla de inicio en sus menús para compartir. Si se muestra Abrir como aplicación web, manténgalo seleccionado.

La tarjeta Instalar en iOS o iPadOS: la instalación se realiza mediante la hoja para compartir.
La tarjeta Instalar en iOS o iPadOS: la instalación se realiza mediante la hoja para compartir.

Safari no proporciona un botón de instalación. En su lugar, Ajustes de Collie muestra una tarjeta Instalar con estos pasos hasta que se completen.

Nota. En iPhone o iPad, Web Push requiere iOS 16.4 o superior y solo funciona desde el icono de la pantalla de inicio. Abra Collie desde ese icono y active las notificaciones en Ajustes.

Android

  1. Abra la URL de Collie en Chrome.
  2. Vaya a Ajustes en Collie y pulse Instalación en la tarjeta superior.

Esta tarjeta aparece cuando Chrome ofrece la instalación. Si no aparece, abra el menú de Chrome (⋮) y pulse Añadir a la pantalla de inicio, luego Instalación. Algunas compilaciones de Chrome denominan a esto Instalar aplicación. Firefox y Samsung Internet usan Añadir a pantalla de inicio en sus menús principales.

La tarjeta Instalar en la parte superior de Configuración, con el botón que ofrecen Chrome y Edge.
La tarjeta Instalar en la parte superior de Configuración, con el botón que ofrecen Chrome y Edge.

Android admite Web Push dentro de las pestañas normales del navegador. La instalación solo añade el icono de inicio y el modo a pantalla completa.

Escritorio

Chrome y Edge muestran un icono de instalación en la barra de direcciones, además de la tarjeta Instalación en Configuración. En macOS, Safari 17 y versiones posteriores usan Archivo → Añadir al Dock.

Notas para cada dispositivo

  • La instalación requiere HTTPS. Bajo COLLIE_SERVE_MODE=http, los navegadores desactivan los service workers, limitando Collie a una pestaña estándar del navegador.
  • Las compilaciones de desarrollo (checkouts fuera de una etiqueta de lanzamiento) se instalan como Collie (dev) con un icono naranja para evitar confusiones con las versiones de lanzamiento.
  • La vinculación se asocia a un solo dispositivo. Vincule cada teléfono, tableta o navegador que vaya a utilizar.
  • Las notificaciones push requieren claves de host: Web Push.

Primer inicio

Cuando Collie se abre por primera vez en un dispositivo y carga el panel, una pantalla de introducción describe la configuración. Enumera el multiplexor activo, el host reflejado, los paneles en ejecución, los paneles que requieren entrada, el recuento de máquinas del crew y su acceso de escritura.

Debajo de eso, sugiere hasta dos acciones: emparejar el dispositivo, iniciar algo, habilitar alertas o guardar Collie en la pantalla de inicio. Termina con seis tareas principales que se pueden ejecutar.

La aplicación marca esta pantalla como vista al cargar, por lo que cerrar la pestaña no la mostrará de nuevo. Se puede ver más tarde pulsando Mostrar la primera pantalla de nuevo en Configuración.

Actualizar

Un comando toma la versión más reciente de la versión principal actual.

herdr plugin action invoke update --plugin herdr.collie   # Herdr plugin
collie update                                             # standalone

Coloca la nueva versión junto a la antigua, conmuta, reinicia el bridge y revierte si la nueva versión no responde.

Una instalación empaquetada se actualiza mediante su gestor de paquetes y luego requiere un reinicio, ya que el gestor de paquetes sustituye los archivos y no reinicia nada:

sudo pacman -Syu collie-bin                 # Omarchy; on the AUR: paru -S collie-bin
nix profile upgrade collie                  # Nix
mise upgrade --bump github:AltanS/collie    # mise
collie restart

collie update se rechaza en una instalación empaquetada e indica ese comando en su lugar. El teléfono muestra el mismo comando donde estaría el botón de actualización.

Cambiar a una nueva versión principal es un paso independiente y consentido:

herdr plugin action invoke update-major --plugin herdr.collie   # Herdr plugin
collie update --major                                           # standalone

El teléfono también puede realizar la actualización rutinaria: Ajustes → Sistema → Actualizaciones, un toque, y en un crew lead un toque actualiza a todos los miembros. Para la ruta desde el teléfono, la comprobación previa, la reversión, los crews y qué hacer si una actualización se bloquea, consulte Gestión y actualización.

Desinstalar

Tres pasos, en este orden. Cada uno elimina una capa y nada más.

1. Eliminar el servicio y el mapeo de puertos. Esto detiene el bridge, elimina la unidad de systemd --user (el agente de launchd en macOS) y retira el mapeo de tailscale serve de Collie. Los archivos del programa y .env se conservan.

herdr plugin action invoke uninstall --plugin herdr.collie   # Herdr plugin
collie uninstall                                             # standalone

2. Eliminar el programa.

herdr plugin uninstall herdr.collie      # Herdr plugin, installed from GitHub
herdr plugin unlink herdr.collie         # Herdr plugin, a linked clone or a linked package

collie unlink                            # standalone: drop the ~/.local/bin/collie symlink
rm -rf ~/.local/share/collie             # standalone: the install script's tree, or $COLLIE_DIR

sudo pacman -Rns collie-bin              # package: Arch and Omarchy
nix profile remove collie                # package: Nix
mise uninstall github:AltanS/collie@1.14.2  # package: mise, the version
mise unuse github:AltanS/collie             # package: mise, the config line

Un clon vinculado es un checkout propio. unlink descarta el registro de Herdr y deja el directorio listo para conservarlo o eliminarlo.

3. Eliminar los archivos propios, si se desea prescindir de ellos. Nada de lo anterior toca estos elementos, por lo que una reinstalación vuelve a encontrar sus emparejamientos y sus configuraciones:

QuéPlugin de HerdrIndependiente
Configuración, que contiene .env~/.config/herdr/plugins/config/herdr.collie/~/.config/collie/ o la ruta de Herdr en un host que ejecuta Herdr
Estado: dispositivos emparejados, archivos de crew, stt.json, folders.json~/.local/state/collie/ (o $COLLIE_STATE_DIR)lo mismo

Para pausar sin eliminar nada, stop es suficiente:

herdr plugin action invoke stop --plugin herdr.collie   # Herdr plugin
collie stop                                             # standalone

Detalles del paquete

El PKGBUILD, la expresión de Nix y sus notas residen en packaging/ dentro de este repositorio. Cada paquete incluye el binario compilado que la versión ya publica, por lo que no se compila nada en la máquina: ni Bun, ni git, ni compilación alguna. La carpeta completa de la versión se ubica bajo un mismo prefijo, con collie en el PATH mediante un enlace simbólico que apunta hacia ella. macOS aún no tiene paquete; la salida del flake aarch64-darwin es lo más cercano.

Arch

collie-bin aún no está en el AUR. El AUR ha pausado el registro de cuentas nuevas, y el paquete se publicará desde nuestra propia cuenta cuando el registro se reabra. Hasta entonces, compílelo a partir de un clon de este repositorio:

git clone https://github.com/AltanS/collie.git && cd collie/packaging/aur
makepkg -si
collie start

makepkg descarga el tarball de la versión para su arquitectura, comprueba su sha256 con el manifiesto de integridad de la versión y lo descomprime. Sin Bun, sin clonar git de ninguna otra cosa y sin compilación.

Una vez que esté en el AUR, un helper de AUR instala el mismo PKGBUILD:

paru -S collie-bin     # or: yay -S collie-bin
collie start

Las actualizaciones posteriores se hacen con paru -S collie-bin o yay -S collie-bin, el mismo comando con el que realizó la instalación. sudo pacman -Syu collie-bin solo funciona donde un repositorio contiene el paquete, como en Omarchy.

El paquete instala el árbol de la versión en /opt/collie y /usr/bin/collie como un symlink hacia él. README.md, CHANGELOG.md y docs/ quedan en /usr/share/doc/collie-bin/, y la licencia en /usr/share/licenses/collie-bin/. Proporciona y entra en conflicto con collie, por lo que no se pueden instalar este y un futuro paquete de fuentes a la vez. No habilita ninguna unidad de systemd: collie start escribe su propia unidad de --user, como lo hace tras cualquier instalación.

Nota. Ejecute collie restart tras cada actualización. pacman reemplaza los archivos y no reinicia nada, por lo que el servicio sigue ejecutando la versión anterior sobre un binario eliminado hasta que se reinicie. collie doctor lo reporta como restart-pending, y el teléfono muestra "Collie was replaced on disk. Restart it." junto con el comando a ejecutar.

Elimínelo con los tres pasos indicados en Desinstalar: collie uninstall, luego herdr plugin unlink herdr.collie solo si se vinculó, y después sudo pacman -Rns collie-bin. pacman elimina /opt/collie y /usr/bin/collie, y nada más.

Omarchy

sudo pacman -S collie-bin
COLLIE_MUX=herdr collie start

Omarchy incluye tanto tmux como Herdr, y Collie refleja un multiplexor por instalación, por lo que el primer inicio debe indicar cuál controlar: se niega a elegir entre dos que puede ver. start escribe ese nombre en el .env de Collie, que en un host con Herdr es ~/.config/herdr/plugins/config/herdr.collie/.env, y los inicios posteriores son collie start.

Eso funciona una vez que collie-bin esté en el propio repositorio de paquetes de Omarchy, y la pull request que lo añade aún no se ha fusionado. Hasta que lo esté, compile el mismo paquete desde packaging/aur con makepkg -si, como en cualquier host Arch mencionado anteriormente.

Las actualizaciones llegan luego con sudo pacman -Syu, el comando que ya se ejecuta para actualizar la máquina. No interviene ningún helper de AUR, porque pkgs.omarchy.org es un repositorio pacman real. Es el mismo PKGBUILD y la misma disposición de /opt/collie en cualquier caso.

Nota. Las actualizaciones provienen de su gestor de paquetes, y Collie no se actualizará a sí mismo aquí. En su lugar, collie update lo rechaza. La barra de actualización del teléfono muestra "Collie x.y.z available via pacman.", y la página de Actualizaciones muestra el comando para copiar en lugar de un botón de actualización, porque el gestor de paquetes es el propietario de esa carpeta. Collie indica la forma sudo pacman -Syu collie-bin, que es la nomenclatura del repositorio; en una instalación desde el AUR, ejecute su helper en su lugar. Ejecute collie restart tras la actualización por el motivo anterior: pacman no reinicia nada.

En un crew, esta máquina nunca recibe actualizaciones desde el teléfono: el crew la lista como "espera al gestor de paquetes" y solo se actualiza cuando se ejecuta el asistente en ella.

Elimínelo con los mismos tres pasos descritos anteriormente para Arch.

Nix

nix profile install github:AltanS/collie#collie
collie start

El flake exporta packages.<system>.collie para x86_64-linux, aarch64-linux y aarch64-darwin. Descarga el tarball de la versión para esa plataforma según el sha256 en el propio manifiesto de integridad de la versión, aplica un parche al intérprete del binario en Linux e instala el árbol de la versión en <store-path>/lib/collie con bin/collie como un enlace simbólico hacia él. Ejecútelo una vez sin instalar mediante nix run github:AltanS/collie#collie -- doctor.

No se compila desde el código fuente de forma deliberada: la instalación de dependencias requiere red y una derivación de Nix no tiene acceso a ella, por lo que el paquete envuelve el binario que la versión ya publica y verifica mediante sumas de control.

Aún no existe un módulo de NixOS, solo el paquete flake, por lo que nix profile es el camino: instálelo en su perfil como se indicó anteriormente, o agregue la salida del flake a una lista home-manager o environment.systemPackages manualmente.

Nota. Las actualizaciones provienen de nix, y Collie no se actualizará a sí mismo aquí. collie update rechaza la acción e indica nix profile upgrade collie en su lugar, y el teléfono muestra la nueva versión con ese comando donde estaría el botón de actualización.

En un crew, esta máquina nunca recibe actualizaciones desde el teléfono: el crew la lista como "espera al gestor de paquetes" y solo se actualiza cuando se ejecuta nix en ella.

Elimínelo primero con collie uninstall, luego:

nix profile remove collie

Eso retira la ruta del store del perfil y nada más. Los archivos propios se conservan, tal como se indica en Desinstalar.

Agentes de Home Manager en macOS

collie status
launchctl print "user/$(id -u)/herdr.collie"

collie status detecta la etiqueta de la instancia tanto en gui/<uid> como en user/<uid> e informa sobre su dominio y el estado del proceso. Si ambos dominios contienen la etiqueta, informa sobre ambos; un agente de GUI detenido no oculta un agente en segundo plano en ejecución. No se requiere anulación de variables de entorno.

Para un agente de Collie existente gestionado con Home Manager, estos ajustes seleccionan el dominio en segundo plano (Home Manager 26.11 o posterior):

launchd.agents.collie = {
  domain = "user";
  config.Label = "herdr.collie";
};

Esto es una adición a la definición de su agente, no un módulo de servicio completo. Mantenga su comando, entorno y rutas de registro configurados en Home Manager. Ejecute el puente con collie _exec-bridge, no con collie start, para que launchd supervise el puente sin que Collie reescriba el plist administrado. Mantenga las credenciales y el estado de emparejamiento fuera del Nix store. Configure el acceso inicial por separado con collie serve, o utilice configuración de external-proxy.

Para una instancia con nombre, utilice la etiqueta herdr.collie-<name> y el mismo COLLIE_INSTANCE, COLLIE_PORT y directorio de configuración en el agente y en su entorno de CLI (múltiples instancias).

Nota. Home Manager controla el ciclo de vida del servicio. Actualice o elimine su declaración y active Home Manager en lugar de ejecutar collie start, stop, restart o uninstall. Esos comandos siguen gestionando el agente del dominio de GUI de Collie; la detección de estado no transfiere la propiedad. Continúe utilizando collie pair, devices, url y logs con normalidad.

mise

mise use -g github:AltanS/collie@1.14.2
collie start

mise use -g escribe la herramienta en ~/.config/mise/config.toml y coloca el bin/ de la versión en su PATH. El backend github obtiene el tarball de la versión para esa plataforma, por lo que funciona en Linux y macOS sin Bun y sin compilación. Todo el árbol queda bajo ~/.local/share/mise/installs/github-altan-s-collie/<version>/, incluidos web/dist y herdr-plugin.toml, y collie resuelve su propia raíz desde allí.

Obtenga una nueva versión con la misma línea mise use y una etiqueta más reciente, o permita que mise seleccione la última:

mise upgrade --bump github:AltanS/collie
collie restart

--bump es el flag importante. Un 1.14.2 fijado es un rango de uno, por lo que un mise upgrade simple reporta la herramienta como actualizada y no mueve nada.

El reinicio no es opcional. Cada versión obtiene su propio directorio, y collie start fija el directorio desde el que se ejecutó dentro de la definición del servicio, por lo que el servicio sigue ejecutando la versión antigua desde el directorio antiguo hasta que se reinicie. collie restart reescribe esa definición con la nueva ruta: la unidad de systemd --user en Linux, el plist de ~/Library/LaunchAgents en macOS. Un solo comando en ambos.

Nota. Un Mac administrado únicamente por SSH no tiene dominio de gui/<uid> en el que cargar un agente. En ese caso, collie start lo advierte y ejecuta un puente en segundo plano no supervisado en su lugar, sin reinicio ante fallos y sin nada al iniciar sesión. collie restart aún lo traslada al nuevo directorio.
Nota. collie update se rechaza aquí y no indica ningún gestor de paquetes: dice cannot tell how this Collie was installed. Un árbol de mise reside dentro de su directorio personal, no contiene ningún .git propio y no tiene una estructura de versions/ por encima, por lo que Collie no lo interpreta ni como un checkout ni como un paquete. mise gestiona las actualizaciones en esta instalación, y los dos comandos anteriores son los que la modifican.

Elimínelo primero con collie uninstall, luego:

mise uninstall github:AltanS/collie@1.14.2
mise unuse github:AltanS/collie

uninstall elimina el directorio de esa versión, unuse retira la línea de la configuración. Escriba la herramienta con su nombre completo de github: en ambos casos; el nombre corto collie funciona para upgrade pero no para uninstall. Los archivos propios se conservan, tal como se indica en Desinstalar.

Editar esta página en GitHub

The rest of the documentation