お疲れ様です!IT業界で働くアライグマです!
「Twitterでブックマークした技術記事、後で読もうと思っていたのにAPIの仕様変更で消えてしまった」「気になる投稿を保存していたのに、アカウント凍結で全部見れなくなった」――こんな経験はありませんか?
プラットフォーム依存のブックマーク管理は、データの永続性という観点で大きなリスクを抱えています。smaugは、ドラゴンが宝を集めるように、あなたがブックマークした価値ある情報をMarkdown形式で自動アーカイブし、ローカルに永続保存するセルフホストツールです。
本記事では、smaugの導入から自動アーカイブの設定まで、実践的な手順を解説します。
smaugの概要とブックマーク管理の課題
smaugは、Twitter/Xのブックマークを自動的にMarkdown形式でアーカイブするオープンソースツールです。GitHub リポジトリで公開されており、JavaScriptで実装されています。
なぜブックマーク管理が重要なのか
技術者にとって、SNSで見つけた技術記事やノウハウは貴重な情報源です。しかし、以下のリスクにさらされています。
- プラットフォームの仕様変更:API制限やUI変更でアクセスできなくなる
- アカウントリスク:投稿者のアカウント削除・凍結で投稿が消失
- サービス終了リスク:プラットフォーム自体のサービス終了可能性
「技術ブログ運営でエンジニアの市場価値を高める戦略」でも触れていますが、情報のインプットとアウトプットを効率化することは、エンジニアの成長に直結します。
smaugが解決する課題
smaugは以下の特徴を持っています。
- 自動アーカイブ:ブックマークした投稿を自動でMarkdownに変換・保存
- ローカル保存:プラットフォームに依存しない永続的なデータ保持
- 検索可能:Markdownファイルなので、お気に入りのエディタで全文検索可能
- Git管理:変更履歴をGitで追跡し、バックアップと復元が容易
IT女子 アラ美前提条件と環境構築
smaugを導入するにあたって、以下の環境が必要です。
必要な環境
- Node.js:v18以上推奨
- npmまたはpnpm:パッケージ管理用
- Twitter/X アカウント:ブックマーク機能を利用しているアカウント
- Git(任意):アーカイブの変更履歴管理用
smaugはTwitter APIではなく、ブラウザのCookieを利用してブックマークを取得します。この方式は「claude-code-safety-netで安全なAIコーディング」で触れているような自動化ツールと同様に、ローカル環境で完結する設計になっています。
リポジトリのクローンと依存関係のインストール
# リポジトリをクローン
git clone https://github.com/alexknowshtml/smaug.git
cd smaug
# 依存関係をインストール
npm install



smaugのセットアップと初期設定
ここでは、smaugの初期設定から最初のアーカイブ実行までを解説します。
認証設定
smaugはTwitter/Xへのログイン状態を維持するため、ブラウザのCookieを利用します。初回実行時に認証プロセスが走り、ブラウザが起動してログインを求められます。
# 初回セットアップ(ブラウザが起動しログインを要求)
npm run setup
設定ファイルの編集
config.jsonファイルで、アーカイブの出力先や形式を設定できます。
{
"outputDir": "./archive",
"format": "markdown",
"includeMedia": true,
"autoSync": true,
"syncInterval": 3600
}
- outputDir:Markdownファイルの出力先ディレクトリ
- format:出力形式(markdown推奨)
- includeMedia:画像・動画のダウンロード有無
- autoSync:自動同期の有効化
- syncInterval:同期間隔(秒)


上のグラフは、ブックマーク管理方法別のデータ消失リスクを示しています。プラットフォーム依存の場合は最もリスクが高く、smaugのようなセルフホストアーカイブ方式では消失リスクを大幅に軽減できます。
「会社に依存しないエンジニアのポータブルスキル設計」で解説したように、情報資産の管理も「依存しない」設計が重要です。



自動アーカイブの実行と運用
smaugの設定が完了したら、実際にブックマークをアーカイブしてみましょう。
手動実行
# ブックマークを取得してアーカイブ
npm run archive
# 差分のみアーカイブ(高速)
npm run archive -- --incremental
cronによる定期実行
サーバーやNASで常時稼働させる場合は、cronで定期実行を設定します。
# crontab編集
crontab -e
# 毎日午前3時にアーカイブを実行
0 3 * * * cd /path/to/smaug && npm run archive -- --incremental
Git連携による変更履歴管理
アーカイブディレクトリをGitリポジトリとして初期化し、変更履歴を追跡することで、いつどのブックマークが追加されたかを確認できます。
cd archive
git init
git add .
git commit -m "Initial archive import"
# 以降は自動コミットスクリプトをcronで実行
「Model Context Protocol(MCP)でAIエージェントを拡張する実践ガイド」で紹介したように、ローカルファイルをAIエージェントの参照ソースにすることも可能です。アーカイブしたMarkdownをRAGのソースにするなど、応用の幅が広がります。



ケーススタディ:技術情報収集を効率化したAさんの事例
ここで、実際にsmaugを活用して技術情報収集を効率化した事例を紹介します。
状況(Before)
Aさん(30歳・フルスタックエンジニア)は、日常的にTwitter/Xで技術情報を収集し、興味のある投稿をブックマークしていました。しかし以下の課題を抱えていました。
- ブックマーク数:約500件以上が溜まっている
- 課題:ブックマークしたが後で検索できない(Twitter検索機能が弱い)
- 問題発生:過去にブックマークした重要な技術投稿が、投稿者のアカウント削除で消失
- 損失:お気に入りのOSSライブラリの使い方解説がすべて見られなくなった
行動(Action)
Aさんは以下のステップでsmaugを導入しました。
- 環境構築:自宅NAS(Synology DS220+)にNode.js環境を構築し、smaugをインストール
- 初期アーカイブ:既存500件以上のブックマークをMarkdownに一括変換(約10分で完了)
- 自動化設定:cronで毎日深夜3時に差分アーカイブを実行するよう設定
- 検索環境構築:VS Code + ローカルMarkdownプレビューで全文検索可能な環境を整備
- バックアップ:Google Driveと同期し、多重化バックアップを実施
結果(After)
- アーカイブ完了:500件以上の投稿がMarkdownファイルとして永続保存
- 検索時間短縮:ブックマーク検索にかかる時間が平均5分→10秒に短縮
- データ消失ゼロ:導入後、投稿削除によるデータ消失がゼロに
- 知識活用:アーカイブを元に技術ブログを執筆し、アウトプット量が月2→5本に増加
Aさんは「技術投稿の消失を心配しなくてよくなったのが一番大きい。検索も爆速になって、過去に見た情報をすぐに引っ張り出せるようになった」と振り返っています。「月額5ドル以下でRAGシステムを構築する」で紹介した構成と組み合わせれば、アーカイブをAI検索の対象にすることも可能です。



さらなる活用と発展的な設定
smaugを基本的に運用できるようになったら、さらに便利な活用方法を検討してみましょう。
Obsidianとの連携
アーカイブしたMarkdownファイルをObsidianのVaultに配置することで、他のノートとリンクしたり、グラフビューで関連性を可視化できます。
RAGソースとしての活用
アーカイブをベクトルDBに登録し、AIアシスタントのRAGソースとして活用することも可能です。過去にブックマークした技術情報を自然言語で検索できるようになります。
複数アカウントの管理
複数のTwitter/Xアカウントを運用している場合は、アカウントごとにsmaugインスタンスを分けて管理することで、情報を整理できます。
「tallyでAIエージェントに銀行取引を分類させる」で紹介したような自動分類と組み合わせれば、アーカイブした投稿を自動でカテゴリ分けすることも実現できます。
本記事で解説したようなAI技術を、基礎から体系的に身につけたい方は、以下のスクールも検討してみてください。
| 比較項目 | DMM 生成AI CAMP | Aidemy Premium |
|---|---|---|
| 目的・ゴール | ビジネス活用・効率化非エンジニア向け | エンジニア転身・E資格Python/AI開発 |
| 難易度 | プロンプト作成中心 | コード記述あり |
| 補助金・給付金 | リスキリング補助金対象 | 教育訓練給付金対象 |
| おすすめ度 | 今の仕事に活かすなら | AIエンジニアになるなら |
| 公式サイト | 詳細を見る | 詳細を見る |



まとめ
smaugを使ったTwitter/Xブックマークの自動アーカイブについて解説しました。
- プラットフォーム依存のリスク:ブックマークは投稿者の削除やアカウント停止で消失する可能性がある
- smaugでセルフホストアーカイブ:Markdown形式でローカルに永続保存し、検索・管理が容易に
- 自動化と継続運用:cronで定期実行し、Git連携で変更履歴を追跡
技術者にとって、良質な情報を効率よく収集・保存・活用することは、日々の業務効率とスキルアップに直結します。smaugを導入して、大切なブックマークをドラゴンのように守り抜きましょう。














