ai-feed

command module
v0.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 13, 2025 License: MIT Imports: 2 Imported by: 0

README

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
  1. リリース一覧から ai-feed_windows_amd64.zip をダウンロード
  2. ZIPファイルを解凍
  3. 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}
サポート環境

ログの色付け機能は以下の環境でサポートされます:

  • Unix/Linux
  • macOS

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

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
internal
domain/mock_domain
Package mock_domain is a generated GoMock package.
Package mock_domain is a generated GoMock package.
infra/mock_infra
Package mock_infra is a generated GoMock package.
Package mock_infra is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL