# 2026-03-14 セッションメモ

## ユーザー情報
- 名前: Mika Nishide（nishide@beethoven.co.jp）
- 会社: Beethoven inc. / PLAYING COMPANY
- さくらサーバー: beethoven.sakura.ne.jp / ユーザー: beethoven / 公開: www/beethoven/
- iPhoneユーザー、Google Workspace使用

## 今日セットアップしたもの

### 会議自動議事録システム
- パス: /home/work/.openclaw/workspace/meeting-bot/
- Google MeetはVMのChrome（nishide@beethoven.co.jpでログイン済み）で自動参加
- Zoom API: Account ID=I7U7Ht1qSZuLILY59iMyHw / Client ID=GWsxnAoFTCmIxzq0b9BQIQ / Client Secret=W7f3yeLGaKI836n1x75R0ZKGElOu9wrn（アクティブ済み）
- Google Chat Webhook: https://chat.googleapis.com/v1/spaces/AAQAYgaqDOU/messages?key=AIzaSyDdI0hCZtE6vySjMm-WEfRq3CPzqKqqsHI&token=J0tFswUwAdzZnU77OfX8DmasXksNpm-DP_b421ZLlaA
- カレンダー監視cron: 5分ごと（cron ID: a821d866-4978-4b1f-9d49-a22ce2961d5b）
- **フロー（2026-03-16確定）**:
  - Mika主催（organizer=nishide@beethoven.co.jp）→ 録音不要。会議終了+40分後にGoogleの自動要約メール（nishide@beethoven.co.jp宛）を検索→Google Chatに転送→リマインダー登録
  - 他人主催 → Botで録音→文字起こし→要約→Google Chat送信→リマインダー登録
- **タスクリマインダー**: アクションアイテムの締切3日前 朝9時JSTにGoogle Chatへ自動送信
- notify.jsのsetTaskRemindersをcron API（localhost:18789）経由で登録するよう修正済み
- PulseAudio自動起動: meet-bot.jsに未起動時の自動起動処理を追加済み

### 毎朝9時の音声読み上げ
- cron ID: a21adc71-0388-4431-b1d0-89fa5b0e7d86（毎朝8:58 JST実行）
- Briefing APIサーバー: port 8765（pm2: briefing-api）
- 公開URL: https://nishide-262f7e80-4001-vm.westcentralus.cloudapp.azure.com:8443/briefing?token=mika-briefing-2026
- iPhoneショートカット「at9daily」で毎朝9時に自動読み上げ
- Google Tasks API連携済み（OAuth tokens: /home/work/.openclaw/workspace/meeting-bot/auth/tasks-token.json）
- Google Cloud Project: Gen Meeting Bot（925213490234）
- Client secret: /home/work/.openclaw/workspace/meeting-bot/auth/client_secret.json
- Tasks: マイタスク（LIST ID: MDQ1MzQ1MTgzNDI4NDY2NjYxNDA6MDow）15件未完了

### 制作実績ギャラリーシステム（Node.js版・VM）
- パス: /home/work/.openclaw/workspace/portfolio-system/
- URL: https://xbkhrcjb.gensparkclaw.com （HTTPS）
- クライアントPW: beet / 管理者PW: adm
- pm2: portfolio-system（port 8000）
- 機能: カード一覧、カテゴリフィルター、Result/Scope、YouTube埋め込み、WebサイトURLリンク

### 制作実績ギャラリーシステム（PHP版・さくらサーバー）
- 作業中（subagent実行中）
- 予定URL: https://beethoven.co.jp/beethoven/casestudies/
- FTP: beethoven.sakura.ne.jp / beethoven / Jy+WJG.Nd26k
- PHP版をさくらサーバーにアップロード予定

## Google Chatチャネル
- OpenClawのGoogle Chat連携: リンク済み（本日設定）

## 重要なパス
- meeting-bot: /home/work/.openclaw/workspace/meeting-bot/
- portfolio-system: /home/work/.openclaw/workspace/portfolio-system/
- portfolio-php: /home/work/.openclaw/workspace/portfolio-php/（作成中）
- briefing-api: /home/work/.openclaw/workspace/briefing-api/

## Mikaの好み・メモ
- 音声読み上げを毎朝iPhoneで自動再生したい（タップ不要）
- 制作実績はさくらサーバーに置きたい（自社管理）
- パスワードは短いもの（3文字程度）が好み
- デザインはBeethoven inc.の資料スタイルに合わせる
- Google MeetはMikaが主催することが多い → Genを招待する形で参加

---

## 追記 (10:03 UTC)

### ポートフォリオシステム さくらサーバー移行完了

- PHP版完成・稼働中: https://beethoven.co.jp/casestudies/
- 管理画面: https://beethoven.co.jp/casestudies/admin.php
- さくらFTP: beethoven.sakura.ne.jp / beethoven / Jy+WJG.Nd26k
- 設置パス: www/beethoven/cms/casestudies/
- uploads/ と data/ のパーミッション: 777（書き込み可）
- クライアントPW: beet / 管理者PW: adm
- ローカルコピー: /home/work/.openclaw/workspace/portfolio-php/

### 登録済み実績データ（3件）
1. OKINAWA41 サイト企画・運営
   - 担当: 西出 / 2020- / Web・SNS
   - URL: http://okinawa41.go.jp/
   - 画像: 5036792_s.jpg（沖縄の海）
   - Result: ユーザー数2.6倍、PV 1.7倍

2. みためとあじはちがう店 広報・販促支援
   - 担当: 坂本・西出 / 2020- / PR・広報
   - URL: https://mitaaji.com/
   - 画像: 415321227_745821957596766_8559043586036353259_n.png
   - Scope: 広報戦略/Web・SNS作成運用/広告/各種デザイン

3. 武蔵オイルシール工業 展示会ブース制作
   - 担当: 浅見・坂本・西出 / 2023- / イベント企画
   - URL: https://www.musashi-os.co.jp/
   - 画像: S39772211.jpg（展示会写真、メール添付で受信）
   - Scope: Webサイト作成・運用/ブース制作

### さくらサーバー構造メモ
- www/beethoven/ → beethoven.co.jp のルート
- www/beethoven/cms/ → WordPressその他CMS
- www/beethoven/cms/casestudies/ → 制作実績ギャラリー（新設）
- www/beethoven/wp/ → WordPress

### デザイン方針（確定）
- ログイン画面: 白カード・グラデ背景・黒ボタン（index.phpとadmin.phpで統一）
- カード: 説明文3行・RESULT/SCOPEボックス（薄ピンク）・タグバッジ
- モーダル: YouTube埋め込み対応・Webサイトボタン

### 画像メール受信フロー
- Mikaさんが nishide@genspark.email に画像添付メールを送信
- Gmail APIでは添付ファイルDL不可（スコープ不足）
- ChromiumブラウザでGmailを開いてDL → /home/work/Downloads/ に保存
- さくらFTPでアップロードする手順が確立

---

## 追記 (16:07 UTC)

### WordPressコーポレートサイト連携（実装完了）

- casestudies管理画面に以下を追加:
  - **Client**（クライアント名）テキスト入力
  - **Sponsor**（スポンサー）テキスト入力（任意）
  - **「コーポレートサイトに公開する」チェックボックス**（publishToCorporate）
- admin.php / edit.php / upload.php / edit_save.php に反映済み
- 公開API新設: `https://beethoven.co.jp/casestudies/api/works.php`
  - publishToCorporate === true のデータだけJSON返却
  - CORS対応・認証不要
  - photos はフルURL変換済み
- WordPress テーマ更新（FTP経由）:
  - `page-works_news.php`: 一覧ページにAPIデータ追加表示
  - `front-page.php`: トップWORKS&NEWSセクションにAPIデータ追加表示
  - 既存WPカードと同じHTMLクラスで表示（デザイン統一）

### PR チャンスレーダー（新規作成・稼働中）

- ファイル: `/home/work/.openclaw/workspace/pr-radar/pr-radar.js`
- 毎朝8時（JST）に自動実行 → cron ID: `8b4b13b2-7893-4143-a413-5547173bdf30`
- 送信先: 新しいGoogle Chatスペース（PR Radar専用）
  - Webhook: `https://chat.googleapis.com/v1/spaces/AAQANUEFgDs/messages?key=AIzaSyDdI0hCZtE6vySjMm-WEfRq3CPzqKqqsHI&token=CiqwiISeHGxujYfy60kGGraDHhvtQkxCzepV7wtdxug`
- 構成:
  1. **Beethoven inc. 向け**: 最新PRトレンドニュース＋「活用できそうなクライアント業種・提案アイデア」
  2. **クライアント3社向け**: ニュース＋URL＋要約2〜3行＋「この社会的背景を使ったPRアイデア」
- 監視対象クライアント:
  - 伊勢すえよし（懐石料理・インバウンド飲食）: https://ise-sueyoshi.com/
  - メリックス（給食・社員食堂・病院福祉・アスリート栄養）: https://meryx.co.jp/
  - 武蔵オイルシール工業（製造業・精密シール部品）: https://www.musashi-os.co.jp/
- ニュース取得: `gsk search`（Brave Search経由・正規URL取得）
  - 旧Google News RSS廃止（URLがリダイレクト形式で使えなかった）
- PRアイデアはキーワードマッチング＋ルールベースで生成
  - 無関係なニュースには「無理な結びつけは避ける」と明記するロジック入り
- Mikaのフィードバックで以下を改善:
  - ニュースリンク必須（最初は消えていた）
  - 「なぜ今がタイミングか」セクション削除（不要）
  - PRアイデアはニュース内容と脈絡のある提案のみ
  - ベートーベン向けはPRトレンド＋クライアント提案アイデアに特化
  - ニュース要約2〜3行を追加
