Добавить в корзинуПозвонить
Найти в Дзене
Мысли Рвачева

Настоящим открытием курса от MIT "The Missing Semester of Your CS Education" про который я писал стал инструмент HammerSpoon

Настоящим открытием курса от MIT "The Missing Semester of Your CS Education" про который я писал стал инструмент HammerSpoon. Основная идея в том, что это надстройка над операционной системой которая позволяет писать небольшие скрипты и автоматизировать различные действия. Существует много уже готовых плагинов (например в 1 клик менять размеры и перемещать окна приложений по экранам). Самый любимый скрипт который я сделал, занимает 22 строчки и по комбинации Cmd+Shift+Option+G берет скопированный текст, отправляет его в ChatGPT c запросом "поправь граматику" и подменяет его в буфере обмена, остается его вставить обратно. Это экономит какое-то нереальное количество времени каждый день и избавляет от необходимости копировать и вставлять текст туда-сюда из ChatGPT if OPENAI == "" then return end hs.hotkey.bind({"cmd","shift","alt"},"G",function() local txt = hs.pasteboard.getContents(); if not txt or txt=="" then return end local hold = hs.alert.show("⏳ Fixing…",9999) local body = hs.

Настоящим открытием курса от MIT "The Missing Semester of Your CS Education" про который я писал стал инструмент HammerSpoon.

Основная идея в том, что это надстройка над операционной системой которая позволяет писать небольшие скрипты и автоматизировать различные действия. Существует много уже готовых плагинов (например в 1 клик менять размеры и перемещать окна приложений по экранам).

Самый любимый скрипт который я сделал, занимает 22 строчки и по комбинации Cmd+Shift+Option+G берет скопированный текст, отправляет его в ChatGPT c запросом "поправь граматику" и подменяет его в буфере обмена, остается его вставить обратно. Это экономит какое-то нереальное количество времени каждый день и избавляет от необходимости копировать и вставлять текст туда-сюда из ChatGPT

if OPENAI == "" then return end

hs.hotkey.bind({"cmd","shift","alt"},"G",function()

local txt = hs.pasteboard.getContents(); if not txt or txt=="" then return end

local hold = hs.alert.show("⏳ Fixing…",9999)

local body = hs.json.encode{

model="gpt-4o-mini",

messages={

{role="system",content="Fix grammar; return only text."},

{role="user",content=txt}

}

}

hs.http.asyncPost("https://api.openai.com/v1/chat/completions",body,

{["Content-Type"]="application/json",Authorization="Bearer "..OPENAI},

function(s,r)

hs.alert.closeSpecific(hold)

if s==200 then

hs.pasteboard.setContents(hs.json.decode(r).choices[1].message.content)

hs.alert.show("Clipboard updated")

else hs.alert.show("OpenAI error "..tostring(s)) end

end)

end)

#ai #agi #agent #automation #hammerspoon #osx #chatgpt

—————————

Мысли Рвачева

—————————