本文へスキップ
開発事例 / 業務ツール

メール秘書 — Macに住む秘書が売上と予約を声で定時報告

30分ごとにメールを整理し、売上・予約・届いたメールの要点を女性秘書の声で読み上げるMac常駐アプリ

運用中

スマホ119(沖縄のスマホ修理8店舗)の社長のMacに常駐する、声の定時報告システム。受信箱のスパム分類はそのまま続けながら、30分ごとに「社長、お疲れさまです。21時の定時報告です。」から始めて、営業時間(10〜22時)は売上レポートの本日売上・客数・月末の着地見込み・当月累計、続けて前回からのメールの内訳、予約(店舗・来店日時・機種・ご相談)、その他のメールの要約、本日の累計を読み、「以上です。お疲れさまでした。」で締める。数字は決まった文で組み、AIには話し言葉への清書だけをさせて、清書の前後で数字を機械的に照合する。お客さまの名前と電話番号は読まない。読み上げのオン/オフや静かにする時間はメニューバーから切り替える。

この作品の要点
困っていたことMac標準の読み上げは機械的で、30分ごとに聞くのがつらい。
やったことGemini TTSの自然な声に替え、報告の中身は決まった文で組んでからAIに話し言葉へ清書させる。
起きたこと漢字と数字だけの短い文(例: 要確認3件。)は8回中8回が中国語で発音された。かなを入れた形に変えて8回中8回日本語になり、生成した声は毎回言語を検査して保存する。
もくじ

どこでつまずいたか

01Mac標準の読み上げは機械的で、30分ごとに聞くのがつらい

02「要確認5件」のような分類名を読まれても、何が届いたのか分からない

03AIに自由に話させると、社内の自動通知について推測で意味不明なことを言う

どう解いたか

01Gemini TTSの自然な声に替え、報告の中身は決まった文で組んでからAIに話し言葉へ清書させる

02内訳を中身で数え直し、「売上レポートが3件、社内システムの通知が2件、スパムが1件」のように言う

03AIに渡すメールを絞り(自分のシステムの通知と売上レポートは渡さない)、要約は事実だけ・推測しないと指示する

できあがったもの

結果

01漢字と数字だけの短い文(例: 要確認3件。)は8回中8回が中国語で発音された。かなを入れた形に変えて8回中8回日本語になり、生成した声は毎回言語を検査して保存する
02過去の売上レポート56通で、取り出した本日売上が件名の合計と全件一致
03外部のメール8通を試し、8通とも意味の通る1文の要約になった(カード会社などを名乗る不審なメールを判定)
04清書した原稿を1本の音声(実測36.9秒)にして、文ごとの無音をなくした。1回あたり約4円

この作品でできること

  • 第一声から秘書として話す定時報告。売上・予約・メールの要約・本日の累計を1本の原稿に清書して、途切れない1本の音声で読む
  • 売上の数字はメール本文から取り出し、AIには書かせない。清書の前後で数字の種類が全部残っているかを照合し、崩れたら清書を捨てる
  • 予約メールは本文から店舗・来店日時・機種・ご相談だけを読み、名前と電話番号は読まない。LINE通知枠が残り20通以下なら知らせる
  • 外部のメールは1通1文で要約し、差出人名とドメインが合わない等の不審なメールは「〜を名乗る不審なメールです」と伝える
  • 読み方の辞書(スマホ119=スマホいちいちきゅう、沖縄の地名、機種名)を声にする直前に必ず通す
  • メニューバーから読み上げ・通知のオン/オフ、1時間〜翌朝までの静かモード、声の選択、試聴、今月の読み上げ代を操作できる

どう作ったか

担当と道具

担当企画・音声設計・AI連携・Macアプリ開発・運用
使った技術Python(launchd で30分ごとに実行)・Gemini 3.1 Flash TTS(読み上げ)・Gemini 2.5 Flash(メールの要約・清書)・OpenAI Whisper(生成した声の言語・内容の検査)・Swift / AppKit(メニューバー常駐アプリ)・SQLite・IMAP

この作品のきほん

種類業務ツール
いまの状態運用中
規模担当5領域 / 技術7種類

相談する

おなじものが作れます

同じ仕組みを、あなたの商品でも作れます。