開発事例 / 業務ツール
メール秘書 — 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種類 |
相談する
おなじものが作れます
同じ仕組みを、あなたの商品でも作れます。


