AI & Tools

[오픈소스 발굴 #1] AutoThreads, Threads 계정 운영을 AI에게 맡기는 오픈소스 데스크톱 앱

GitHub에는 쓸 만한데 아무도 모르는 프로젝트가 널려 있습니다. 별 몇 개짜리로 묻혀 있다가 어느 날 갑자기 화제가 되는 것들이죠. 이 연재는 그런 저장소를 하나씩 골라 열어보는 자리입니다. 뭘 하는 물건인지, 어떻게 만들었는지, 실제로 쓸 만한지까지 확인해 봅니다.

이석우iOS Developer10분 읽기
[오픈소스 발굴 #1] AutoThreads, Threads 계정 운영을 AI에게 맡기는 오픈소스 데스크톱 앱 대표 이미지
AUTOTHREADS OPEN SOURCE AI FOR THREADS 텍스트와 뉴스에서 초안을 만들어 예약·답글로 내보내는 로봇 일러스트
뉴스 한 건이 스레드 글 한 편이 되기까지, 사람이 하던 구간을 통째로 맡깁니다

GitHub에는 쓸 만한데 아무도 모르는 프로젝트가 널려 있습니다. 별 몇 개짜리로 묻혀 있다가 어느 날 갑자기 화제가 되는 것들이죠. 이 연재는 그런 저장소를 하나씩 골라 열어보는 자리입니다. 뭘 하는 물건인지, 어떻게 만들었는지, 실제로 쓸 만한지까지 확인해 봅니다.

첫 편은 AutoThreads입니다. Threads 계정 운영을 AI에게 넘기는 데스크톱 앱입니다. 2026년 7월 초에 공개돼 한 달도 안 된 신생 프로젝트죠. MIT 라이선스라 뜯어보든 고쳐 쓰든 자유입니다.

SNS 운영이 노동이 되는 지점

Threads든 X든 계정 하나 키우려면 매일 비슷한 일을 반복합니다. 오늘 무슨 얘기가 도는지 찾고, 그중 쓸 만한 걸 고르고, 내 말투로 다시 쓰고, 이미지를 붙이고, 적당한 시간에 올리고, 달린 답글에 답합니다. 하나하나는 5분짜리인데 매일 하면 하루가 사라집니다.

AutoThreads는 이 반복 구간을 통째로 들어냅니다. 다만 방식이 둘로 나뉩니다. 이 구분이 프로젝트의 성격을 가릅니다.

  • 보조 모드 — AI가 초안을 쓰고, 게시 여부는 사람이 정합니다. 기본값입니다.
  • 완전 자동 모드 — 에이전트가 스스로 뉴스를 찾아 글을 쓰고 답글까지 답니다. 켜야만 동작합니다.

저장소 문서에는 프로젝트의 태도를 요약하는 문장이 박혀 있습니다. “Automagical, not autopilot.” 자동화는 하되 조종간은 넘기지 않겠다는 겁니다.

AutoThreads 동작 흐름도, Discover·Draft·Image·Review·Publish 5단계와 Local LLM 옵션
"Automagical, not autopilot" — 자동으로 굴리되 게시 버튼은 넘기지 않겠다는 뜻입니다

발견에서 게시까지, 다섯 단계

보조 모드의 흐름은 다섯 칸으로 정리됩니다. 발견(Discover) → 초안(Draft) → 이미지(Image) → 검토(Review) → 게시(Publish). 각 단계가 뭘 하는지 보면 이 앱이 어디까지 대신해 주는지 감이 옵니다.

발견은 뉴스를 긁어옵니다. 기본으로 켜져 있는 건 Google 뉴스 RSS(Really Simple Syndication, 사이트 새 글을 구독하는 표준 형식)와 Hacker News 두 곳입니다. Hacker News는 기술 쪽 주제일 때만 선택적으로 붙습니다. Yahoo 뉴스, 네이버 뉴스, 직접 등록한 RSS·Atom 피드는 설정에서 켜서 씁니다. 과학·패션·금융 같은 프리셋도 있고 관심 주제를 직접 넣어도 됩니다.

초안은 고른 헤드라인을 Threads에 올릴 만한 글로 바꿉니다. 여기서 중요한 게 ’내 말투’입니다. 스타일 메모를 적어두거나 예시 글을 넣어두면 그 톤으로 씁니다. 기존 Threads 게시물을 가져와 학습 재료로 쓰는 기능도 있습니다.

이미지는 AI가 뽑은 키워드로 위키미디어 공용(Wikimedia Commons)을 검색해 후보를 보여줍니다. 고르는 건 사람 몫입니다.

여기는 주의가 필요합니다. 위키미디어 공용은 마음대로 갖다 쓰는 창고로 알려져 있지만 퍼블릭 도메인만 모인 곳이 아닙니다. 상당수가 CC BY나 CC BY-SA라 저작자와 출처를 밝혀야 합니다. 그런데 앱은 검색할 때 파일 주소와 형식만 받아 오고 라이선스 정보는 아예 가져오지 않습니다. 화면에 뜨지도 않고 게시물에 자동으로 붙지도 않고요. 고른 이미지의 조건은 결국 올리는 사람이 확인해야 합니다.

검토게시는 설명이 필요 없습니다. 고치고, 지금 올리거나, 예약합니다.

AutoThreads 뉴스 화면, 헤드라인 목록과 출처·경과 시간·Draft 버튼
출처와 몇 분 전 기사인지가 같이 보입니다. Draft 버튼 하나면 초안이 시작됩니다

뉴스 화면은 이렇게 생겼습니다. 주제 알약을 눌러 분야를 바꿉니다. 헤드라인 오른쪽 Draft 버튼 하나면 초안 생성이 시작됩니다. 출처와 몇 분 전 기사인지가 같이 보여서 오래된 뉴스를 잘못 집는 일은 줄어듭니다.

AutoThreads 초안 편집 화면, 글자 수 카운터와 이미지 제안·저장·예약·즉시 게시 버튼
글자 수를 세어주고, 이미지를 제안하고, 저장·예약·즉시 게시를 한자리에서 고릅니다

초안 화면에서는 글자 수(Threads는 500자 제한입니다)를 세어주고, 이미지 검색 키워드를 제안하고, 저장·예약·즉시 게시를 한자리에서 고릅니다.

한 가지 알아둘 점이 있습니다. 예약한 글은 앱이 켜져 있을 때만 올라갑니다. 서버가 대신 올려주는 구조가 아니라 내 컴퓨터의 앱이 시간을 재고 있다가 발행하는 방식이라서요. 노트북을 닫아두면 그 시간은 그냥 지나갑니다. 실패한 글은 1분쯤 뒤에 다시 시도합니다.

API 비용 0원이 가능한 이유

이 프로젝트에서 가장 눈에 띄는 선택입니다. 글을 써주는 모델을 사용자가 고르게 했습니다.

클라우드를 쓰겠다면 Claude, ChatGPT, Gemini를 붙일 수 있고 OpenAI 호환 엔드포인트라면 뭐든 ’Other’로 연결됩니다. 반대로 내 컴퓨터에서 도는 로컬 LLM(Large Language Model, 대규모 언어 모델)을 붙이면 클라우드 API 비용이 0원이 됩니다. Ollama, LM Studio, llama.cpp, Jarvis 같은 OpenAI 호환 로컬 서버라면 주소만 적어주면 됩니다.

AutoThreads 설정 화면, Local LLM 선택과 base URL·모델 입력 및 연결 성공 표시
주소와 모델 이름만 넣으면 됩니다. API 키 칸은 비워둬도 되고요

설정 화면이 보여주는 그림이 정확히 그겁니다. 화면에 들어 있는 http://127.0.0.1:8080/v1/chat/completions는 앱 기본값입니다. Ollama를 쓴다면 http://localhost:11434/v1처럼 자기 서버 주소로 바꾸면 됩니다. 모델 이름을 적고 연결 테스트를 누르면 끝입니다. API 키 칸은 비워둬도 됩니다. 로컬 서버는 대개 키를 요구하지 않으니까요.

SNS 자동화 도구에서 이 선택이 왜 중요하냐면, 이런 앱은 글을 많이 생성하기 때문입니다. 하루에 몇 개씩, 답글까지 포함하면 호출이 계속 쌓입니다. 클라우드 API로 돌리면 요금이 실시간으로 올라가지만 로컬 모델은 전기값뿐입니다. 품질은 당연히 모델을 따라가니, 초안 품질과 비용 사이에서 직접 저울질하라는 설계입니다.

진짜 관문은 Threads 연결입니다

설치는 쉽습니다. macOS와 Windows 설치 파일이 릴리스 페이지에 올라와 있고 소스로 돌리려면 세 줄이면 됩니다.

git clone https://github.com/eisenjimmy/autoTHREADS.git
cd autoTHREADS
npm install
npm run dev

문제는 그다음입니다. Threads에 글을 올리려면 Meta 개발자 계정에서 앱을 만들고 액세스 토큰을 발급받아야 합니다. 여기서 대부분 막힙니다.

AutoThreads Threads 토큰 설정 5단계 안내, Meta 앱 생성부터 연결 테스트까지
이 다섯 단계를 그림으로 정리해 둔 게 이 저장소의 친절한 면입니다

저장소가 이 과정을 다섯 단계 그림으로 정리해 둔 게 이 프로젝트의 친절한 면입니다. Meta 개발자 사이트에서 앱을 만들고 → 내 Threads 계정을 테스터로 등록하고 → 토큰을 발급하고 → 앱 설정에 붙여넣고 → 연결 테스트를 누릅니다.

그림에는 안 나오지만 README가 따로 짚어두는 함정이 하나 있습니다. 권한을 켜기 전에 발급한 토큰에는 그 권한이 들어 있지 않습니다. 권한을 추가했다면 토큰을 다시 만들어야 합니다. 게시·답글·멘션 권한이 필요하고, 공개 글 검색까지 쓰려면 키워드 검색 권한도 켜야 합니다.

앱 ID와 시크릿을 넣는 OAuth(Open Authorization, 계정 위임 인증 표준) 방식도 지원하지만 데스크톱에서는 대개 필요 없습니다. 토큰 하나로 끝냅니다.

완전 자동 모드, 그리고 브레이크

여기부터가 이 프로젝트의 야심입니다. Auto 탭에서 목표와 관심 분야, 페르소나를 설정하고 시작 버튼을 누르면 에이전트가 혼자 돕니다.

타이머가 둘입니다. 게시 타이머(기본 60분)는 뉴스를 긁고, 뭘 올릴지 계획하고, 최근에 쓴 글과 겹치지 않는지 확인한 뒤 글을 씁니다. 답글 타이머(기본 5분)는 내 글에 달린 미답변 답글과 나를 언급한 @멘션을 확인해 답합니다. 둘이 따로 돌기 때문에 “글은 한 시간에 하나, 답글은 5분마다”가 가능합니다.

혼자 도는 시스템에서 정작 중요한 건 브레이크입니다. 이 부분이 꽤 촘촘합니다.

  • 기본은 꺼져 있습니다. 시작 버튼을 누르기 전까지 아무것도 안 하고, 중지를 누르면 즉시 멈춥니다.
  • 초안 전용 모드가 있습니다. 실제 게시 대신 초안만 쌓아두고 결과물을 확인할 수 있습니다. 문서도 첫 실행은 반드시 이 모드로 하라고 못 박습니다.
  • 하루 한도를 게시와 답글 각각에 겁니다.
  • 게시물당 미답변 답글 20개 고정 한도가 있습니다. 글 하나가 터져서 답글이 수백 개 달려도 최신 20개까지만 답합니다. 이 값은 사용자가 못 바꿉니다.
  • 반복 방지 기억이 있습니다. 최근 올린 글을 기억해 같은 주제를 돌려 쓰지 않고, 이미 쓴 헤드라인은 다시 안 씁니다.
  • 불규칙 게시 옵션은 예약된 게시 시점의 약 18%를 일부러 건너뜁니다. 매시 정각마다 칼같이 올라오는 계정은 누가 봐도 봇이니까요. 연속으로 두 번 건너뛰지는 않습니다.

답글에 시스템 프롬프트나 API 키, 토큰을 흘리지 말라고 에이전트에게 지시하는 항목도 들어 있습니다. 자동 응답 봇에서 실제로 사고가 나는 지점이라 챙긴 흔적입니다.

코드는 어떻게 생겼나

개발자 입장에서 볼 만한 부분입니다.

Electron 위에 React 19와 TypeScript(strict 모드)를 올렸고, 상태 관리는 Zustand, 빌드는 Vite, 패키징은 electron-builder입니다. 별도 DB 없이 로컬 JSON 파일에 저장합니다.

구조에서 눈여겨볼 건 프로세스 분리입니다. 부수 효과가 있는 일은 전부 메인 프로세스가 맡습니다. 뉴스 가져오기, LLM 호출, 이미지 검색, Threads API 호출, 초안 저장, 스케줄러, 완전 자동 엔진, 비밀값 암호화까지요. 화면을 그리는 렌더러는 contextBridge로 열어준 좁은 통로만 씁니다. 파일 시스템이나 외부 네트워크에 직접 손대지 않습니다.

Electron 앱에서 이건 취향이 아니라 보안 요구사항에 가깝습니다. 렌더러에 노드 권한을 열어두면 앱 안에서 열린 아무 웹 페이지가 사용자 파일에 접근할 수 있게 되니까요. 외부 링크는 시스템 브라우저로 열고 임의 페이지가 프리로드 브리지를 물려받지 못하도록 내비게이션도 막아뒀습니다.

토큰과 API 키는 Electron의 safeStorage로 암호화해 저장합니다. macOS는 키체인, Windows는 DPAPI(Data Protection API, 윈도우 기본 암호화 서비스)를 씁니다. 평문 JSON에 토큰을 박아두는 개인 프로젝트가 흔한 걸 생각하면 신경 쓴 편입니다.

쓰기 전에 알아둘 것들

좋은 얘기만 하면 곤란하니 걸리는 지점을 적겠습니다.

아직 0.2.x입니다. 7월 초에 공개돼 릴리스가 빠르게 올라오는 중입니다. 그만큼 바뀌는 것도 많습니다. 실제 계정에 붙이기 전에 초안 전용으로 충분히 돌려보라는 문서의 권고를 흘려듣지 않는 게 좋습니다.

설치 파일이 공증되지 않았습니다. macOS에서 처음 열 때 우클릭 후 열기를 하거나 개인정보 보호 및 보안 설정에서 허용해야 합니다.

@멘션 응대에는 조건이 붙습니다. Meta의 고급 액세스(Advanced Access) 승인을 받지 않으면, 내 앱에 테스터로 등록된 계정의 멘션만 API에 보입니다. 일반 사용자가 나를 언급한 글은 안 보인다는 뜻입니다. 공개 글 키워드 검색도 마찬가지입니다.

리눅스 빌드는 아직 없습니다. macOS와 Windows만 지원합니다. 리눅스 패키징은 로드맵에 있습니다.

Meta와 무관한 프로젝트입니다. 개인이 만든 서드파티 앱이고 Threads는 Meta의 상표입니다. 계정 정책은 사용자 책임입니다.

자동화 자체를 어떻게 볼 것이냐는 문제도 남습니다. 사람 손을 거치지 않은 글이 늘어나는 게 계정에 좋은 일인지는 도구가 답해 줄 수 없습니다. 이 프로젝트가 완전 자동을 기본값이 아닌 옵션으로 둔 이유이기도 하겠고요.

정리

  • AutoThreads는 Threads 계정 운영을 AI로 자동화하는 Electron 데스크톱 앱입니다. MIT 라이선스이고 macOS·Windows를 지원합니다.
  • 기본은 ’AI가 초안, 사람이 결정’입니다. 뉴스 발견 → 초안 → 이미지 → 검토 → 게시 다섯 단계로 돌아갑니다.
  • 모델을 직접 고릅니다. Claude·ChatGPT·Gemini를 붙여도 되고, 로컬 LLM을 붙이면 클라우드 API 비용이 0원입니다.
  • 완전 자동 모드는 옵션입니다. 게시·답글 타이머가 따로 돌고, 하루 한도·게시물당 미답변 20개·반복 방지·초안 전용 모드가 브레이크로 걸려 있습니다.
  • 진짜 관문은 Meta 개발자 사이트에서 Threads 토큰을 만드는 과정입니다. 권한을 켠 뒤에 토큰을 발급해야 한다는 순서를 놓치기 쉽습니다.
  • 아직 0.2.x이고 설치 파일이 공증되지 않았습니다. 실계정에 붙이기 전 초안 전용으로 확인하는 편이 안전합니다.

저장소는 https://github.com/eisenjimmy/autoTHREADS입니다. 다음 편에서도 이렇게 묻혀 있는 저장소를 하나 골라 열어보겠습니다.

이어서 읽기