ai-feed
AI Feedは、RSSフィードから記事を自動収集し、AIが生成したコメント付きで推薦記事を提供するCLIツールです。
🌟 主な機能
- 自動記事収集: 複数のRSSフィードから最新記事を取得
- AIコメント生成: Google Gemini APIを使用して記事に対する洞察に富んだコメントを自動生成
- 多様な出力先: Slack、Misskey、標準出力への投稿をサポート
- カスタマイズ可能: プロンプトテンプレートやメッセージフォーマットを自由に設定
- 設定管理: YAML形式の設定ファイルとプロファイル機能
🎯 ユースケース
- 技術ブログの自動収集: 複数の技術ブログから最新情報をチェック
- チーム情報共有: Slackチャンネルへの定期的な記事共有
- 個人学習: 興味のある分野の記事をAIコメント付きで効率的に把握
- SNS投稿: Misskeyなどの分散SNSへの記事紹介
こんな人におすすめ
- 技術情報を効率的にキャッチアップしたい開発者
- チームでの情報共有を自動化したい方
- 複数のブログやニュースサイトをフォローしている方
- AIによる記事要約や解説を活用したい方
🚀 インストール
必要な環境
- Go 1.24以上(ソースからビルドする場合)
- Google Gemini API キー(取得方法)
バイナリのダウンロード(推奨)
macOS
# Intel Mac
curl -sLO https://github.com/canpok1/ai-feed/releases/latest/download/ai-feed_darwin_amd64.tar.gz
tar -xzf ai-feed_darwin_amd64.tar.gz
sudo mv ai-feed /usr/local/bin/
rm ai-feed_darwin_amd64.tar.gz
# Apple Silicon Mac
curl -sLO https://github.com/canpok1/ai-feed/releases/latest/download/ai-feed_darwin_arm64.tar.gz
tar -xzf ai-feed_darwin_arm64.tar.gz
sudo mv ai-feed /usr/local/bin/
rm ai-feed_darwin_arm64.tar.gz
# Homebrewでのインストール(将来予定)
# brew install canpok1/tap/ai-feed
Linux
# x86_64
wget https://github.com/canpok1/ai-feed/releases/latest/download/ai-feed_linux_amd64.tar.gz
tar -xzf ai-feed_linux_amd64.tar.gz
sudo mv ai-feed /usr/local/bin/
rm ai-feed_linux_amd64.tar.gz
# ARM64
wget https://github.com/canpok1/ai-feed/releases/latest/download/ai-feed_linux_arm64.tar.gz
tar -xzf ai-feed_linux_arm64.tar.gz
sudo mv ai-feed /usr/local/bin/
rm ai-feed_linux_arm64.tar.gz
Windows
- リリース一覧から
ai-feed_windows_amd64.zip をダウンロード
- ZIPファイルを解凍
ai-feed.exe をパスが通ったディレクトリに配置
Go installを使用したインストール
go install github.com/canpok1/ai-feed@latest
注意: go install でインストールされたバイナリは $GOPATH/bin または $HOME/go/bin に配置されます。このディレクトリが PATH に含まれていない場合は、以下のコマンドで PATH を設定してください:
# 現在のセッションのみ有効
export PATH=$PATH:$(go env GOPATH)/bin
# 永続化する場合(.bashrc, .zshrc等に追記)
echo 'export PATH=$PATH:$(go env GOPATH)/bin' >> ~/.bashrc
インストール確認
ai-feed --help
⚡ クイックスタート
1. 設定ファイルの生成
ai-feed init
実行後、カレントディレクトリに config.yml が作成されます。
2. APIキーの設定
環境変数での設定(推奨)
# Google Gemini APIキーを設定
export GEMINI_API_KEY="your-api-key-here"
# 永続化する場合(.bashrc, .zshrc等に追記)
echo 'export GEMINI_API_KEY="your-api-key-here"' >> ~/.bashrc
設定ファイルでの設定
config.ymlを編集して、APIキーを設定:
default_profile:
ai:
gemini:
type: "gemini-2.5-flash"
api_key_env: "GEMINI_API_KEY" # 環境変数名を指定
# または直接記載(非推奨)
# api_key: "your-api-key-here"
3. 初回実行
# 技術ブログから記事を取得してAIコメント付きで表示
ai-feed recommend --url https://zenn.dev/feed
# 複数のフィードから取得
ai-feed recommend --url https://zenn.dev/feed --url https://qiita.com/popular-items/feed
# ファイルからURL一覧を読み込み
echo "https://zenn.dev/feed" > feeds.txt
echo "https://qiita.com/popular-items/feed" >> feeds.txt
ai-feed recommend --source feeds.txt
ログの色付け
ai-feedはログレベルごとに色を付けて視認性を向上させます:
- DEBUG: 灰色
- INFO: 緑色
- WARN: 黄色
- ERROR: 赤色
色の無効化
以下の場合、色付けは自動的に無効化されます:
- パイプやファイルリダイレクト時
- CI環境での実行時
NO_COLOR 環境変数が設定されている時
手動で色を無効化する場合:
# 色なしでアプリケーションを実行
NO_COLOR=1 ./ai-feed recommend --url {RSS URL}
# 環境変数として設定
export NO_COLOR=1
./ai-feed recommend --url {RSS URL}
サポート環境
ログの色付け機能は以下の環境でサポートされます:
Windows環境では色付けされません。
📚 詳細な使用方法
プロファイルの作成
異なる設定を使い分けるためのプロファイル機能:
# プロファイルファイルを作成
ai-feed profile init my-profile.yml
# プロファイルを使用して実行
ai-feed recommend --profile my-profile.yml --url https://example.com/feed
Slack連携
# Slack API トークンを環境変数に設定
export SLACK_TOKEN="your-token-here"
# config.ymlまたはプロファイルに設定を追加
output:
slack_api:
api_token_env: "SLACK_TOKEN"
channel: "#general"
message_template: |
:newspaper: *{{.Article.Title}}*
{{.Article.Link}}
{{.Comment}}
Misskey連携
# Misskey APIトークンを環境変数に設定
export MISSKEY_TOKEN="your-token-here"
output:
misskey:
api_url: "https://misskey.io"
api_token_env: "MISSKEY_TOKEN"
message_template: |
【おすすめ記事】
{{.Article.Title}}
{{.Article.Link}}
{{.Comment}}
#ai_feed #tech
よく使うオプション
# 詳細ログを表示
ai-feed recommend -v --url https://example.com/feed
# 色なしで出力(パイプ時に便利)
NO_COLOR=1 ai-feed recommend --url https://example.com/feed
# 設定チェック
ai-feed profile check config.yml
🔧 開発者向け情報
本プロジェクトの開発に参加したい方は、以下のドキュメントを参照してください:
簡単な開発コマンド
# プロジェクトをクローンして開発環境をセットアップ
git clone https://github.com/canpok1/ai-feed.git
cd ai-feed
make setup
# テスト実行
make test
# ビルド
make build