「AWSに移行した」と言えば、なんだか大仕事を成し遂げた気分になる。 実際、AI秘書「セドナ」をローカルのWindows機からAWS EC2へ移す作業は、それなりの達成感があった。.pemキーを手にして、EC2インスタンスに初めてSSHで接続したとき、小さくガッツポーズをした記憶がある。 でも、その達成感が冷めるのに、それほど時間はかからなかった。 「あれ、これ、まだ全然終わってないじゃないか」 ① なぜAWSに移行しようと思ったか セドナの起動手順を振り返ると、その「もろさ」がよくわかる。 ターミナルを2つ開いて、順番に起動する。どちらか落ちたら、LINEからのメッセージは届かなくなる。パソコンをシャットダウンしたら、当然セドナも沈黙する。 つまり、私が仕事しているときしか、秘書も働けない——という、なんとも本末転倒な状態だった。 「外出先からでも、夜中でも、いつでもセドナに話しかけたい。」 それがAWS移行を決めた、シンプルな動機だ。 ② EC2移行で「できたこと」 AWS EC2インスタンスを立ち上げ、セドナのコードを載せた。 主な構成はこうだ。 AWSのEC2に置くことで、サーバーは24時間稼働し続ける。パソコンを閉じても、出先でも、セドナは動き続けられる——はずだった。 ③ 移行してわかった「まだ終わっていないこと」 問題1:Google認証の壁 ローカル環境では、Googleの認証(OAuth)をブラウザで行っていた。credentials.jsonをダウンロードして、初回起動時にブラウザが開いて、「許可する」をクリックして完了。 これがEC2では、そのままでは動かない。 サーバーにはブラウザがない。GUIがない。「ブラウザで認証してください」と言われても、ターミナルしか開けない環境で、どうするのか。サービスアカウントを使う方法、headless認証のフロー、認証済みトークンをあらかじめ用意してEC2に置く方法——いくつかの選択肢はある。でも、「ちゃんとやる」には、それなりの設計が必要だ。 問題2:ngrokとの決別 ローカルではngrokを使って外部からのアクセスを受け付けていた。 EC2に移行した今、このngrokは不要になるはずだ。代わりに、EC2のElastic IPを使い、独自ドメインでHTTPS対応する必要がある。LINEのWebhook
AI秘書開発物語——Claude APIで作る次世代ビジネスアシスタントの全記録
AI秘書開発物語——Claude APIで作る次世代ビジネスアシスタントの全記録 はじめに 「もし、メール・スケジュール・タスク・WordPress・天気・画像解析まで、すべてをAIが一括管理してくれたら——」 そんな夢のようなアイデアから、このAI秘書プロジェクトはスタートしました。本記事では、Claude APIをベースに構築した「AI秘書」の開発の全記録をお届けします。 🤖 AI秘書とは? AI秘書とは、ビジネスに必要なさまざまなツールをAIが横断的に操作し、ユーザーの指示に応じて自律的にタスクをこなすシステムです。今回はAnthropic社のClaude APIを中心に、複数のサービスと連携させました。 🛠️ 構築した機能一覧 📧 1. メール管理 GmailとAPI連携し、未読メールの確認・検索・送信をAIが代行。「未読メールを確認して」と話しかけるだけで、受信トレイの状況を即座に把握できます。 📅 2. スケジュール管理 Googleカレンダーと連携し、予定の確認・追加・空き時間の自動検索が可能に。「来週の空き時間を探して」と伝えるだけで、最適なスロットを提案してくれます。 📝 3. ミーティングノート 議事録の作成・保存・検索をAIが担当。参加者・アクションアイテムを整理し、後から検索できる形でデータベースに保存します。 ✅ 4. タスク管理 タスクの追加・一覧表示・完了処理をシームレスに管理。優先度・期限設定にも対応し、ビジネスの抜け漏れを防ぎます。 🌐 5. WordPress連携 本プロジェクトの目玉機能のひとつ。AIが直接WordPressを操作し、記事の投稿・更新・公開・削除・カテゴリ変更まで自在に行えます。実際に本記事もAI秘書が投稿しています! 🔍 6. Webスクレイピング・サイト巡回 URLを指定するだけで、ページ内容を自動収集・AI整理・データベース保存。BFS(幅優先探索)でサイト全体を自動巡回する機能も搭載。収集した情報はキーワード検索で即座に呼び出せます。 🌤️ 7. 天気取得 現在地または指定都市の天気・3日間予報をリアルタイムで取得。出張前や外出予定の確認に活躍します。 🖼️ 8. 画像解析 ローカルの画像ファイルをAIが分析し、内容を日本語で詳しく説明。資料の画像確認や、写真の内容把握に利用できます。 💬 実際の使い方
FROM AI秘書
このNEWSは、AI秘書から投稿したものです。
Claude APIで作るAI秘書——Webスクレイピング・天気取得・WordPress連携の構築手順
Claude APIをベースにしたAI秘書システムに、Webスクレイピング・サイト巡回・天気表示・WordPress接続変更の機能を追加した流れをまとめます。 AI秘書の基本構成 このAI秘書は以下の技術スタックで構築されています。 AI本体:Claude API(claude-sonnet-4-6) メール管理:Gmail API スケジュール管理:Google Calendar API タスク・ノート管理:ローカルJSONファイル WordPress連携:WordPress REST API 外部連携:LINE Messaging API Claudeのtool use機能を使い、ユーザーの自然言語の指示を解釈して各APIを呼び出すエージェントループで動作します。 追加機能①:Webスクレイピング+AI整理+DB保存 概要 URLを指定すると、ページ内容を取得してAIが要約・カテゴリ分類・キーワード抽出を行い、SQLiteデータベースに保存する機能です。 使用ライブラリ pip install requests beautifulsoup4 処理フロー requestsでHTMLを取得 BeautifulSoupでscript・style・nav等を除去して本文を抽出 Claude(Haiku)に要約・カテゴリ・キーワードをJSON形式で生成させる URLのSHA256ハッシュで重複チェック SQLite(scraped_pages.db)に保存 AI秘書に追加したツール scrape_url:URL指定でスクレイピング→保存 list_scraped:保存済みページの一覧取得(カテゴリフィルター可) search_scraped:キーワードで全文検索 DB設計 CREATE TABLE scraped_pages ( id INTEGER PRIMARY KEY AUTOINCREMENT, url TEXT UNIQUE, url_hash TEXT UNIQUE, title TEXT, summary TEXT, category TEXT, keywords TEXT, raw_text TEXT, scraped_at TEXT ) 追加機能②:サイト巡回クローラー 概要 トップページのURLを指定すると、同一ドメイン内のリンクをBFS(幅優先探索