Si quieres trabajar de manera más rápida y eficiente en Windows, AutoHotkey y Deepseek son una combinación clave para automatizar tareas repetitivas y mejorar tu productividad.
AutoHotkey es una herramienta de scripting que te permite crear accesos rápidos, automatizar clics y gestionar archivos con unas cuantas líneas de código. Por su parte, Deepseek es un motor de búsqueda con inteligencia artificial que organiza información, encuentra datos con precisión y agiliza tus consultas tanto en documentos como en la web.»
1. Descarga e instala Autohotkey
- Ingresa a https://www.autohotkey.com/ da clic en download
- Descarga la ultima versión disponible

3. Ejecuta el archivo de instalación y da clic en Install


2. Ingresar a Deepseek
- Ingresa a Deepseek https://www.deepseek.com/
- Da clic en Start Now

3. si no tienes una cuenta de Deepseek puedes crear una con tu correo electrónico o bien mediante tu cuenta de google.

4. Una vez dentro de deepseek ingresa el siguiente prompt
Ayúdame a crear un script para usarlo en la aplicación de AutoHotkey, el script lo quiero para autocompletar texto, por ejemplo si escribo Holaa autocompletes con "Hola ¿Cómo estas?, espero que bien, te escribo para..."

5. DeepSeek nos va a dar el siguiente script.
; Script de AutoHotkey para autocompletar texto
::Holaa::Hola ¿Cómo estás?, espero que bien, te escribo para...
^!x::ExitApp ; Ctrl + Alt + X para cerrar el script

6. Ahora vamos a crear un nuevo archivo de texto y lo renombraremos como Autocompletar_Hola. Si al cambiar el nombre no ves la extensión .txt, sigue el paso 7 para habilitarla. Si la extensión ya es visible, continúa con el paso 8.


7. Habilitar la visualización de extensiones de archivos: Abre el Explorador de archivos con Win + E, luego ve a Ver > Mostrar > Extensiones de nombre de archivo y actívala.

8. Abre el Bloc de notas, copia el script del paso 5, pégalo en el Bloc de notas y guárdalo. Luego, cierra el Bloc de notas.

9. Volvemos a nuestro archivo y cambiamos la extensión de .txt a .ahk. y damos doble clic sobre nuestro archivo

10. Listo, ahora para probar nuestra automatización, ve a cualquier sitio, como un bloc de notas, tu correo electrónico, Word o cualquier otra aplicación de texto. Escribe Holaa , y deja un espacio. Esto debería activar nuestro script que hicimos con ayuda de Deepseek, y automáticamente se completará lo que le programamos.

Recuerda que para desactivar un script, puedes hacerlo de las siguientes maneras:
- Cerrar el programa desde el Administrador de tareas.
- Usar la combinación de teclas Ctrl + Alt + X.
- Hacer clic derecho sobre el ícono de AutoHotkey y seleccionar la opción «Salir».
Con estos métodos podrás controlar y detener cualquier script que hayas activado.»

A continuación, te dejo varios scripts para mejorar tu productividad, los cuales te serán de gran utilidad ahora que ya sabes cómo guardar y ejecutar scripts.
1. Menú Rápido para Gestionar Tareas
Este script te permite agregar, visualizar y completar tareas con un simple menú emergente activado con Ctrl + Shift + T
.
Funcionalidades:
- Agregar nuevas tareas mediante una ventana emergente.
- Ver todas las tareas pendientes en un cuadro de diálogo.
- Completar una tarea seleccionando su número.

Código del Script:
#Persistent
#SingleInstance Force
SetWorkingDir %A_ScriptDir%
tareasFile := "tareas.txt"
; Cargar tareas al iniciar
CargarTareas()
^+t:: ; Ctrl + Shift + T para abrir el menú
Menu, Tareas, Add, ➕ Agregar Nueva Tarea, AgregarTarea
Menu, Tareas, Add, 📋 Ver Tareas Pendientes, MostrarTareas
Menu, Tareas, Add, ✅ Completar Tarea, CompletarTarea
Menu, Tareas, Show
return
AgregarTarea:
InputBox, tarea, Nueva Tarea, Escribe la tarea a agregar:
if (tarea != "")
{
FileAppend, %tarea%`n, %tareasFile%
MsgBox, ✅ Tarea agregada: %tarea%
}
return
^!x::ExitApp ; Ctrl + Alt + X para cerrar el script
Este script guarda las tareas en un archivo de texto y permite administrarlas de forma sencilla.
2. Organización Automática de Archivos en el Escritorio
Si tu escritorio siempre está desordenado, este script moverá automáticamente los archivos a carpetas organizadas según su tipo.
Funcionalidades:
- Crea carpetas específicas como
Imagenes_org
,Documentos_org
,Programas_org
, etc. - Mueve archivos automáticamente según su extensión (JPG, PDF, EXE, etc.).
- Se ejecuta con una combinación de teclas (
Ctrl + Alt + O
).

Código del Script:
^!o::
escritorio := A_Desktop
carpetaImagenes := escritorio "\Imagenes_org"
carpetaDocumentos := escritorio "\Documentos_org"
carpetaProgramas := escritorio "\Programas_org"
if !FileExist(carpetaImagenes)
FileCreateDir, %carpetaImagenes%
if !FileExist(carpetaDocumentos)
FileCreateDir, %carpetaDocumentos%
if !FileExist(carpetaProgramas)
FileCreateDir, %carpetaProgramas%
MoveFiles(escritorio, carpetaImagenes, "*.jpg")
MoveFiles(escritorio, carpetaImagenes, "*.png")
MoveFiles(escritorio, carpetaDocumentos, "*.txt")
MoveFiles(escritorio, carpetaProgramas, "*.exe")
MsgBox, ✅ Archivos organizados correctamente.
return
MoveFiles(sourceDir, targetDir, filePattern)
{
Loop, % sourceDir "\\" filePattern
{
FileMove, % A_LoopFileFullPath, % targetDir "\\" A_LoopFileName
}
}
^!x::ExitApp ; Ctrl + Alt + X para cerrar el script
3. Temporizador Pomodoro para Mayor Productividad
Este script implementa la técnica Pomodoro, iniciando un ciclo de 25 minutos de trabajo y 5 minutos de descanso.
Cada vez que inicies la sesión (Ctrl + Alt + P
), recibirás notificaciones para mantener tu enfoque y tomar descansos oportunos.

Código del Script:
^!p::
MsgBox, 🚀 ¡Sesión de enfoque iniciada! Trabaja por 25 minutos.
Sleep, 1500000 ; 25 minutos (1500000 ms)
MsgBox, ⏳ ¡Tiempo de descanso! 5 minutos.
return
^!x::ExitApp ; Ctrl + Alt + X para cerrar el script
4. Duplicar Texto con Doble Clic Derecho
Este truco permite copiar y pegar un texto rápidamente haciendo doble clic derecho en el mouse.
Código del Script:
~RButton::
if (A_PriorHotkey = "~RButton" and A_TimeSincePriorHotkey < 300)
{
Send ^c
Sleep, 50
Send ^v
}
return
^!x::ExitApp ; Ctrl + Alt + X para cerrar el script
Ideal para quienes trabajan con mucho texto y necesitan rapidez al copiar y pegar información.
5. Todos los scripts en uno
Ahora te voy a dejar el script para que puedas acceder a todas las funciones que programamos anteriormente desde un menú que aparecerá cuando presiones la combinación de teclas Ctrl + Shift + Espacio.

Código del Script:
#Persistent
#SingleInstance Force
SetWorkingDir %A_ScriptDir%
tareasFile := "tareas.txt"
; Cargar tareas al iniciar
CargarTareas()
^+Space:: ; Ctrl + Shift + Espacio
; Mostrar el menú con opciones adicionales
Menu, Apps, Add, 🚀 Iniciar Enfoque Pomodoro, StartPomodoro
Menu, Apps, Add, 🗂 Organizar Archivos, OrganizarArchivos
Menu, Apps, Add, 🌍 Google, OpenGoogle
Menu, Apps, Add, 🎬 YouTube, OpenYouTube
Menu, Apps, Add, 🤖 ChatGPT, OpenChatGPT
Menu, Apps, Add, 📝 Gestionar Tareas, GestionarTareas
Menu, Apps, Show
return
StartPomodoro:
MsgBox, 🚀 ¡Sesión de enfoque iniciada! Trabaja por 25 minutos.
Sleep, 1500000 ; 25 minutos
MsgBox, ⏳ ¡Tiempo de descanso! 5 minutos.
return
OrganizarArchivos:
; Definir las rutas del escritorio y las carpetas
escritorio := A_Desktop
carpetaImagenes := escritorio "\Imagenes_org"
carpetaDocumentos := escritorio "\Documentos_org"
carpetaProgramas := escritorio "\Programas_org"
carpetaHojasCalculo := escritorio "\HojasCalculo_org"
carpetaCsv := escritorio "\Csv_org"
carpetaXml := escritorio "\Xml_org"
carpetaComprimidos := escritorio "\Comprimidos_org"
; Crear las carpetas si no existen
if !FileExist(carpetaImagenes)
FileCreateDir, %carpetaImagenes%
if !FileExist(carpetaDocumentos)
FileCreateDir, %carpetaDocumentos%
if !FileExist(carpetaProgramas)
FileCreateDir, %carpetaProgramas%
if !FileExist(carpetaHojasCalculo)
FileCreateDir, %carpetaHojasCalculo%
if !FileExist(carpetaCsv)
FileCreateDir, %carpetaCsv%
if !FileExist(carpetaXml)
FileCreateDir, %carpetaXml%
if !FileExist(carpetaComprimidos)
FileCreateDir, %carpetaComprimidos%
; Mover archivos con extensiones específicas a sus respectivas carpetas
MoveFiles(escritorio, carpetaImagenes, "*.jpg")
MoveFiles(escritorio, carpetaImagenes, "*.png")
MoveFiles(escritorio, carpetaDocumentos, "*.txt")
MoveFiles(escritorio, carpetaDocumentos, "*.docx")
MoveFiles(escritorio, carpetaDocumentos, "*.pdf")
MoveFiles(escritorio, carpetaProgramas, "*.exe")
MoveFiles(escritorio, carpetaProgramas, "*.msi")
MoveFiles(escritorio, carpetaHojasCalculo, "*.xls")
MoveFiles(escritorio, carpetaHojasCalculo, "*.xlsx")
MoveFiles(escritorio, carpetaCsv, "*.csv")
MoveFiles(escritorio, carpetaXml, "*.xml")
MoveFiles(escritorio, carpetaComprimidos, "*.7z")
MsgBox, ✅ Archivos organizados correctamente.
return
MoveFiles(sourceDir, targetDir, filePattern)
{
Loop, % sourceDir "\\" filePattern
{
; Mover archivo de la fuente a la carpeta destino
FileMove, % A_LoopFileFullPath, % targetDir "\\" A_LoopFileName
}
}
; Menú para tareas
GestionarTareas:
; Mostrar el menú de gestión de tareas
Menu, Tareas, Add, ➕ Agregar Nueva Tarea, AgregarTarea
Menu, Tareas, Add, 📋 Ver Tareas Pendientes, MostrarTareas
Menu, Tareas, Add, ✅ Completar Tarea, CompletarTarea
Menu, Tareas, Show
return
AgregarTarea:
InputBox, tarea, Nueva Tarea, Escribe la tarea a agregar:
if (tarea != "")
{
FileAppend, %tarea%`n, %tareasFile%
MsgBox, ✅ Tarea agregada: %tarea%
}
return
MostrarTareas:
tareas := LeerTareas()
if (tareas == "")
MsgBox, 📭 No hay tareas pendientes.
else
MsgBox, 📋 Tareas Pendientes:`n`t%tareas%
return
CompletarTarea:
tareas := LeerTareas()
if (tareas == "")
{
MsgBox, 📭 No hay tareas para completar.
return
}
InputBox, num, Completar Tarea, Escribe el número de la tarea completada:`n`t%tareas%
if (num != "" && num is Integer)
{
EliminarTarea(num)
MsgBox, ✅ Tarea %num% completada y eliminada.
}
return
LeerTareas() {
global tareasFile
if (!FileExist(tareasFile))
return ""
FileRead, contenido, %tareasFile%
tareasArray := StrSplit(contenido, "`n")
tareasLista := ""
for index, tarea in tareasArray
if (tarea != "")
tareasLista .= index ". " tarea "`n"
return tareasLista
}
EliminarTarea(num) {
global tareasFile
FileRead, contenido, %tareasFile%
tareasArray := StrSplit(contenido, "`n")
nuevoContenido := ""
for index, tarea in tareasArray
if (index != num && tarea != "")
nuevoContenido .= tarea "`n"
FileDelete, %tareasFile%
FileAppend, %nuevoContenido%, %tareasFile%
}
CargarTareas() {
if (!FileExist(tareasFile))
FileAppend, , %tareasFile%
}
; Abrir aplicaciones
OpenGoogle:
Run, "https://www.google.com"
return
OpenYouTube:
Run, "https://www.youtube.com"
return
OpenChatGPT:
Run, "https://chat.openai.com"
return
👉Enlace para descargar archivos
Conclusión
Estos mini proyectos con AutoHotkey pueden ahorrar tiempo y mejorar tu flujo de trabajo de manera significativa. Desde gestionar tareas, organizar archivos y mejorar la productividad, AutoHotkey es una herramienta versátil que vale la pena dominar.