GitHubには、便利なのに誰にも知られていないプロジェクトが数多くあります。数個のスターに埋もれていたものが、ある日突然話題になることもあります。この連載では、そうしたリポジトリを一つずつ開き、何をするものか、どう作られたか、本当に使えるかを確かめます。
第1回はAutoThreadsです。Threadsアカウントの運用をAIに任せるデスクトップアプリです。2026年7月初旬に公開されたばかりの新しいプロジェクトで、MITライセンスのため自由に調査・改変できます。
SNS運用が労働になるところ
ThreadsでもXでも、アカウントを育てるには毎日似た作業を繰り返します。話題を探し、使えそうなものを選び、自分の文体で書き直し、画像を添え、適切な時間に投稿し、返信に返事をします。一つは5分でも、毎日続けば一日が消えます。
AutoThreadsは、この繰り返しの部分をまとめて取り除きます。ただし方法は二つに分かれます。この違いがプロジェクトの性格を決めています。
- アシスタントモード — AIが下書きを作り、投稿するかどうかは人が決めます。デフォルトです。
- 完全自動モード — エージェントが自分でニュースを探し、投稿を書き、返信まで行います。有効化が必要です。
リポジトリには、プロジェクトの姿勢を要約する一文があります。「Automagical, not autopilot.」自動化はしても、操縦桿は手放さないという意味です。
発見から投稿までの5段階
アシスタントモードは、発見(Discover) → 下書き(Draft) → 画像(Image) → レビュー(Review) → 投稿(Publish)の5段階です。各段階を見ると、アプリがどこまで代行するかが分かります。
発見ではニュースを取得します。デフォルトで有効なのはGoogleニュースRSS (Really Simple Syndication、サイトの新着を購読する標準形式)とHacker Newsです。Hacker Newsは技術系の話題でだけ選択的に追加されます。Yahooニュース、Naverニュース、手動登録したRSS・Atomフィードは設定で有効にできます。科学・ファッション・金融などのプリセットもあり、関心のある話題を直接入力することもできます。
下書きでは、選んだ見出しをThreads向けの投稿に変換します。重要なのは「自分の文体」です。スタイルメモや例文を登録すると、そのトーンで書きます。既存のThreads投稿を学習材料として取り込む機能もあります。
画像では、AIが生成したキーワードでWikimedia Commonsを検索し、候補を表示します。選ぶのは人です。
ここは注意が必要です。Wikimedia Commonsは自由に使える倉庫と思われがちですが、パブリックドメインだけではありません。CC BYやCC BY-SAの作品も多く、著作者と出典の表示が必要です。しかしアプリは検索時にファイルURLと形式しか取得せず、ライセンス情報は取得しません。画面にも表示されず、投稿にも自動追加されません。選んだ画像の条件は投稿者が確認する必要があります。
レビューと投稿は説明不要です。修正し、今すぐ投稿するか、予約します。
ニュース画面はこのようになっています。トピックのピルを押して分野を切り替えます。見出し右側のDraftボタン一つで下書きの生成が始まります。出典と記事の経過時間が表示されるため、古いニュースを誤って選びにくくなっています。
下書き画面では文字数(Threadsは500文字制限)を数え、画像検索キーワードを提案し、保存・予約・即時投稿を一か所で選べます。
一つ覚えておく点があります。予約投稿はアプリが起動しているときだけ投稿されます。サーバーではなく、自分のPC上のアプリが時刻を待って発行する仕組みだからです。ノートPCを閉じていると、その時間は過ぎてしまいます。失敗した投稿は約1分後に再試行されます。
APIコストを0円にできる理由
このプロジェクトで最も目を引く選択です。投稿を書くモデルをユーザーが選べます。
クラウドを使うならClaude、ChatGPT、Geminiを接続でき、OpenAI互換エンドポイントなら何でもOtherとして接続できます。逆に、PC上で動くローカルLLM (Large Language Model、大規模言語モデル)を接続すれば、クラウドAPIの費用は0円になります。Ollama、LM Studio、llama.cpp、JarvisなどのOpenAI互換ローカルサーバーなら、アドレスを入力するだけです。
設定画面が示しているのはまさにこれです。http://127.0.0.1:8080/v1/chat/completionsに入っているのはアプリのデフォルト値です。Ollamaならhttp://localhost:11434/v1のように自分のサーバーアドレスへ変更します。モデル名を入力して接続テストを押せば完了です。ローカルサーバーは通常キーを要求しないため、APIキー欄は空欄で構いません。
SNS自動化ツールでこの選択が重要なのは、こうしたアプリが投稿を大量に生成するからです。一日に数件、返信まで含めれば呼び出しは積み上がります。クラウドAPIなら料金がリアルタイムで増えますが、ローカルモデルは電気代だけです。品質は当然モデル次第なので、下書きの品質と費用を自分で比較する設計です。
本当の関門はThreadsとの接続です
インストールは簡単です。リリースページにmacOSとWindowsのインストーラーがあり、ソースから実行する場合も3行で済みます。
git clone https://github.com/eisenjimmy/autoTHREADS.git
cd autoTHREADS
npm install
npm run dev
問題はその後です。Threadsに投稿するには、Meta開発者アカウントでアプリを作成し、アクセストークンを発行する必要があります。ここで多くの人が行き詰まります。
この手順を5段階の図にまとめているのが、このプロジェクトの親切なところです。Meta開発者サイトでアプリを作成 → 自分のThreadsアカウントをテスターとして登録 → トークンを発行 → アプリ設定に貼り付け → 接続テストを押します。
図にはありませんが、READMEが別途指摘する落とし穴があります。権限を有効にする前に発行したトークンには、その権限が含まれません。権限を追加したらトークンを作り直す必要があります。投稿・返信・メンション権限が必要で、公開投稿の検索を使うにはキーワード検索権限も有効にする必要があります。
アプリIDとシークレットを使うOAuth (Open Authorization、アカウント委任認証の標準)方式にも対応していますが、デスクトップでは通常不要です。トークン一つで済みます。
完全自動モードとブレーキ
ここからがこのプロジェクトの野心です。Autoタブで目標、関心分野、ペルソナを設定して開始ボタンを押すと、エージェントが単独で動きます。
タイマーは二つあります。投稿タイマー(デフォルト60分)はニュースを取得し、投稿内容を計画し、最近の投稿との重複を確認してから文章を書きます。返信タイマー(デフォルト5分)は自分の投稿への未返信と、自分をメンションした@メンションを確認して返信します。別々に動くため、「投稿は1時間に1件、返信は5分ごと」が可能です。
単独で動くシステムで本当に重要なのはブレーキです。この部分はかなり綿密です。
- **デフォルトではオフです。**開始ボタンを押すまで何もせず、停止を押すとすぐに止まります。
- 下書き専用モードがあります。実際には投稿せず下書きだけを蓄積し、結果を確認できます。ドキュメントも初回実行は必ずこのモードにするよう明記しています。
- 投稿と返信にそれぞれ1日の上限を設定できます。
- 投稿ごとに未返信の返信20件という固定上限があります。一つの投稿に数百件の返信が付いても、最新20件までしか返しません。この値は変更できません。
- 繰り返し防止の記憶があります。最近の投稿を記憶し、同じ話題を使い回さず、すでに使った見出しも再利用しません。
- 不規則投稿オプションは、予約された投稿時刻の約18%を意図的にスキップします。毎時ちょうどに投稿するアカウントは誰が見てもボットだからです。2回連続ではスキップしません。
返信にシステムプロンプト、APIキー、トークンを漏らさないようエージェントに指示する項目もあります。自動返信ボットで実際に事故が起きる箇所を意識した設計です。
コードはどうなっているか
開発者の視点で見る価値がある部分です。
Electron上にReact 19とTypeScript(strictモード)を載せ、状態管理はZustand、ビルドはVite、パッケージングはelectron-builderです。別DBは使わず、ローカルJSONファイルに保存します。
構造で注目すべきはプロセス分離です。副作用のある処理はすべてメインプロセスが担当します。ニュース取得、LLM呼び出し、画像検索、Threads API呼び出し、下書き保存、スケジューラー、完全自動エンジン、秘密情報の暗号化までです。画面を描画するレンダラーはcontextBridgeで公開された狭い通路だけを使います。ファイルシステムや外部ネットワークには直接触れません。
Electronアプリでは、これは好みというよりセキュリティ要件に近いものです。レンダラーにNode権限を与えると、アプリ内で開いた任意のWebページがユーザーファイルへアクセスできてしまいます。外部リンクはシステムブラウザーで開き、任意ページがpreload bridgeを引き継がないようナビゲーションも遮断しています。
トークンとAPIキーはElectronのsafeStorageで暗号化して保存します。macOSではキーチェーン、WindowsではDPAPI (Data Protection API、Windows標準の暗号化サービス)を使います。平文JSONにトークンを保存する個人プロジェクトが多いことを考えると、丁寧な実装です。
使う前に知っておきたいこと
良い話だけでは困るので、気になる点も書いておきます。
**まだ0.2.xです。**7月初旬に公開され、リリースが速い分、変更も多くなっています。実アカウントに接続する前に、下書き専用で十分試すようにというドキュメントの勧告は無視しないほうがよいでしょう。
**インストーラーは公証されていません。**macOSで初回起動するときは右クリックして「開く」を選ぶか、プライバシーとセキュリティの設定で許可する必要があります。
**@メンションへの対応には条件があります。**MetaのAdvanced Access承認がなければ、APIに表示されるのは自分のアプリのテスターとして登録されたアカウントからのメンションだけです。一般ユーザーからのメンションは見えません。公開投稿のキーワード検索も同様です。
**Linuxビルドはまだありません。**対応OSはmacOSとWindowsだけです。Linuxのパッケージ化はロードマップにあります。
**Metaとは無関係のプロジェクトです。**個人が作ったサードパーティアプリで、ThreadsはMetaの商標です。アカウントポリシーへの対応はユーザーの責任です。
自動化そのものをどう捉えるかという問題も残ります。人の手を経ない投稿が増えることがアカウントに良いかどうかは、ツールには答えられません。完全自動をデフォルトではなくオプションにした理由でもあるのでしょう。
まとめ
- AutoThreadsはThreadsアカウントの運用をAIで自動化するElectronデスクトップアプリです。MITライセンスで、macOSとWindowsに対応しています。
- 基本は「AIが下書きし、人が決める」です。ニュース発見 → 下書き → 画像 → レビュー → 投稿の5段階で動きます。
- モデルは自分で選べます。Claude・ChatGPT・Geminiを接続でき、ローカルLLMを使えばクラウドAPI費用は0円です。
- 完全自動モードはオプションです。投稿と返信のタイマーが別々に動き、1日の上限、投稿あたり未返信20件、繰り返し防止、下書き専用モードがブレーキになります。
- 本当の関門は、Meta開発者サイトでThreadsトークンを作る手順です。権限を有効にした後でトークンを発行する順序を忘れやすい点に注意が必要です。
- まだ0.2.xで、インストーラーも公証されていません。実アカウントに接続する前に下書き専用で確認するほうが安全です。
リポジトリはhttps://github.com/eisenjimmy/autoTHREADSです。次回も、このように埋もれているリポジトリを一つ選んで開いてみます。

![[オープンソース #1] AutoThreadsでThreadsを自動化するのカバー画像](/assets/images/posts/1bb2249f-cd85-4efe-b1b6-37f5dad8bb16/autothreads-open-source-1.jpg)