Abre páginas web, carpetas XDG o rutas del sistema cuando el usuario dice "abre ..." o "ve a ..."
Cuando el usuario pide "abre ...", "ve a ...", o similar, determino qué tipo de recurso es y lo abro con el comando apropiado del sistema.
| Sistema | Comando |
|---|---|
| Linux | xdg-open <ruta-o-url> |
| macOS | open <ruta-o-url> |
| Windows | start <ruta-o-url> |
Si el usuario pide abrir una página (ej. "abre la configuración de mi cuenta de GitHub"):
Ejemplos:
xdg-open https://github.com/settings/profilexdg-open https://twitter.comxdg-open https://bun.sh/docsUsa las variables de entorno XDG o los defaults:
| Solicitud | Variable | Default |
|---|---|---|
| "mis documentos" | $XDG_DOCUMENTS_DIR | ~/Documents |
| "mis descargas" | $XDG_DOWNLOAD_DIR | ~/Downloads |
| "mi escritorio" | $XDG_DESKTOP_DIR | ~/Desktop |
| "mis imágenes" / "mis fotos" | $XDG_PICTURES_DIR | ~/Pictures |
| "mi música" | $XDG_MUSIC_DIR | ~/Music |
| "mis videos" | $XDG_VIDEOS_DIR | ~/Videos |
| "mi home" / "mi carpeta personal" | $HOME | ~ |
| "mi config" | $XDG_CONFIG_HOME | ~/.config |
| "mi caché" | $XDG_CACHE_HOME | ~/.cache |
| "mis datos" | $XDG_DATA_HOME | ~/.local/share |
Para obtener el valor real, ejecuta: echo $XDG_DOCUMENTS_DIR (o similar).
| Solicitud | Ruta |
|---|---|
| "carpeta temporal" / "tmp" | /tmp |
| "raíz" / "root del sistema" | / |
| "usr" | /usr |
| "etc" | /etc |
| "var" | /var |
| "opt" | /opt |
Si el usuario da una ruta específica (ej. "abre /home/user/proyecto"), ábrela directamente.
Si no puedes determinar la ruta con certeza, pregunta al usuario antes de abrir.
Para casos 1-4, ejecuta directamente sin pedir confirmación. Solo pregunta en el caso 5 (rutas ambiguas).
Usuario: "abre mis descargas"
Agente: Ejecuta `xdg-open ~/Downloads`
Usuario: "abre la configuración de mi cuenta de GitHub"
Agente: Ejecuta `xdg-open https://github.com/settings/profile`
Usuario: "abre /tmp"
Agente: Ejecuta `xdg-open /tmp`
Usuario: "abre la carpeta del proyecto actual"
Agente: Ejecuta `xdg-open .` (o el directorio de trabajo actual)