"단어를 선택해. 키를 내려쳐. 단어가 바뀐다. 그게 앱 전부야."
단 하나의 제스처
Flint 는 일이 하나뿐인 네이티브 macOS 메뉴바 유틸리티야: 아무 앱에서 텍스트를 선택하고, 단축키를 내려치면, 변환된 텍스트가 제자리로 돌아와. 오타 고치기, 문장 조이기, 문단 번역하기, 문단을 더 부드러운 톤으로 다시 쓰기 — 전부 같은 제스처, 전부 지금 있는 앱을 안 떠나고. 열 창도, 넘어갈 탭도, 먼저 클릭할 프롬프트 박스도 없어. 선택이 입력이고, 내려침이 명령이고, 교체가 출력이야.
되기를 거부하는 모든 것
Flint 를 믿을 만큼 작게 만드는 건 일부러 아닌 것들의 목록이야. 채팅 창이 아냐. 두 번째 Pippa 가 아냐 — 기억도, 자기만의 성격도, 대화 기록도 없어. 모델 서버가 아냐: 모델을 안 올리고, 포트를 안 열고, 추론을 안 돌려. 글쓰기 에디터도 아니고 웹 관리 패널도 아냐. 이 하나하나가 다 테이블 위에 있다가 일부러 잘렸어, 각각이 날카로운 작은 유틸리티를 — 조용히 옆에 앉아 있어야 할 도구들과 경쟁하는 — 무거운 앱으로 바꿔놨을 테니까.
한 호흡에 담은 루프
제스처 밑엔 아주 분명한 분업을 가진 루프가 있어. Flint 는 타깃과 선택된 텍스트를 잡고, 네 매크로의 템플릿을 {input} 자리에 선택을 떨궈 넣어 렌더하고, 그 렌더된 프롬프트를 이미 다른 앱에 있는 브레인한테 보내. 브레인이 생각해. Flint 는 답을 받아서, 타깃이 아직 그대로인지 증명하고, 깨끗한 교체 하나를 넣어. 생각은 빌린 거고; 제스처, 캡처, 조심스러운 삽입은 Flint 거야.
텍스트 선택 -> 단축키 내려침
캡처 { app, element, selection, range }
매크로 템플릿 렌더, {input} = 선택
렌더된 프롬프트를 빌린 브레인에 POST (Flint 는 생각 안 함)
... 브레인이 변환된 텍스트 반환 ...
타깃이 아직 같은지 증명
교체 하나 삽입 (아니면 클립보드로 폴백)
그 루프를 다시 읽고 지능이 어디 사는지 봐: Flint 안엔 아무 데도 없어. Flint 는 텍스트를 잡는 손이고 되돌려 넣는 손이야. 마음은 완전히 딴 데 있어 — 그리고 그걸 거기 두는 게 앱 전체에서 첫 번째이자 제일 중요한 결정이야.