Отличная идея насчет проверки орфографии по выделению текста и шорткату! Прочитал и загорелся это внедрить у себя. Но не хотелось городить огород с исполняемыми файлами, да и функциональность мне вся не нужна, а также все равно поднят n8n серверок для no-code автоматизаций. Так что решил просто внедрить эту идею, и уже все работает, прошло всего 2 часа, просто шикарно и удобно, спасибо!
У меня получилось так реализовать: (AutoHotKey скрипт) <--> (Webhook n8n - Ai Agent -- Respond to Webhook). Скрипт мне написал ChatGPT с небольшой помощью Claude.ai. Ноды n8n помог довести до ума тоже ChatGPT.
если кому нужно, код для AHK:
!1:: {
; Clear the clipboard
A_Clipboard := ""
; Copy the selected text
Send("^c")
; Wait for the clipboard to contain data
if !ClipWait(2) {
MsgBox("Не удалось скопировать текст. Убедитесь, что текст выделен.")
return
}
; Get the clipboard content
text := A_Clipboard
; Check if text was copied
if (text = "") {
MsgBox("Нет скопированного текста.")
return
}
; Prepare JSON data - escape quotes and backslashes in the text
;escapedText := StrReplace(StrReplace(text, "\", "\\"), Chr(34), "\" . Chr(34))
;jsonData := "{" . Chr(34) . "text" . Chr(34) . ":" . Chr(34) . escapedText . Chr(34) . "}"
; Предполагаем, что переменная text уже содержит исходный текст
; Экранируем обратный слэш:
escapedText := StrReplace(text, "\\", "\\\\")
; Экранируем двойные кавычки:
escapedText := StrReplace(escapedText, Chr(34), "\\" . Chr(34))
; (Дополнительно можно экранировать переводы строк, если требуется)
escapedText := StrReplace(escapedText, "`n", "\\n")
escapedText := StrReplace(escapedText, "`r", "\\r")
; Формируем JSON-строку:
jsonData := "{" . Chr(34) . "text" . Chr(34) . ":" . Chr(34) . escapedText . Chr(34) . "}"
; Create HTTP request
try {
; Create HTTP object
http := ComObject("WinHttp.WinHttpRequest.5.1")
; Open connection
http.Open("POST", "your-webhook-placeholder", false)
; Set request header
http.SetRequestHeader("Content-Type", "application/json")
; Send the request
http.Send(jsonData)
; Check status code
statusCode := http.Status
if (statusCode != 200) {
MsgBox("Ошибка сервера. Код статуса: " . statusCode . "`nОтвет: " . http.ResponseText)
return
}
; Get the response
newText := http.ResponseText
; Check if response was received
if (newText != "") {
; Set the clipboard to the new text
A_Clipboard := newText
Sleep(100)
Send("^v")
} else {
MsgBox("Получен пустой ответ от сервера. Проверьте настройки n8n.")
}
} catch as e {
MsgBox("Ошибка при отправке запроса: " . e.Message)
}
}
Отличная идея насчет проверки орфографии по выделению текста и шорткату! Прочитал и загорелся это внедрить у себя. Но не хотелось городить огород с исполняемыми файлами, да и функциональность мне вся не нужна, а также все равно поднят n8n серверок для no-code автоматизаций. Так что решил просто внедрить эту идею, и уже все работает, прошло всего 2 часа, просто шикарно и удобно, спасибо!
У меня получилось так реализовать:
(AutoHotKey скрипт) <--> (Webhook n8n - Ai Agent -- Respond to Webhook).
Скрипт мне написал ChatGPT с небольшой помощью Claude.ai.
Ноды n8n помог довести до ума тоже ChatGPT.
если кому нужно, код для AHK: