一、專案概述
什麼是 AI 行動秘書?
一套以 LINE 為介面、AI 為核心的個人數位助理系統。使用者只需要在 LINE 上打字或傳語音,AI 就會自動幫你處理行程安排、想法歸檔、投資人管理、客戶追蹤等工作 — 不用學新軟體、不用裝新 App,手機上的 LINE 就是你的秘書辦公室。
目標客群
40-50 歲的半老闆型忙碌人士:自己帶團隊、手上有多條線要管、每天被行程和資訊轟炸。不一定是科技控,但需要有人幫忙整理混亂的日程和想法。
不需要學新工具、不需要改變習慣 — 你只管說,AI 幫你記、幫你排、幫你查。
為什麼現在做?
- 隊長是現成的第一個客戶,可以快速驗證需求
- WT 已有 Hetzner 主機、Claude Max 額度、語音轉譯經驗 — 邊際成本極低
- 做出 MVP 後可以量化成產品,賣給更多類似需求的人
二、功能規格
以下每個功能都經過技術可行性評估。綠色代表確定可做、黃色代表有挑戰但可行、紅色代表有風險需注意。
系統的入口 — 所有互動都從 LINE 開始。隊長傳訊息給 LINE 官方帳號,訊息透過 Webhook 送到伺服器,AI 處理完後自動回覆。
使用情境
隊長在計程車上打「明天下午三點跟張浩開會」→ 幾秒後收到 LINE 回覆「已排入行事曆:4/22(二)15:00 與張浩開會」
技術方案
- 申請 LINE 官方帳號(Messaging API)
- Webhook 串接 Hetzner 上的 FastAPI server
- 訊息接收 → Claude 分類 → 路由到對應模組 → LINE reply
隊長不方便打字時(開車、走路),直接對 LINE 講話。系統自動下載語音檔 → 用 faster-whisper 轉成文字 → 交給 AI 處理。
使用情境
隊長在開車,語音傳「等一下記得提醒我,下禮拜一要去銀行辦對帳」→ 系統回覆「已記錄待辦:下週一去銀行辦對帳,屆時會提醒你」
技術方案
- LINE 語音訊息(m4a 格式)→ 透過 API 下載到本地
- ffmpeg 轉檔(如需要)→ faster-whisper large-v3 轉譯
- 轉譯文字送 Claude 分類處理
所有進來的訊息(不管文字或語音轉出的文字),Claude 自動判斷類別並路由到對應處理模組。
分類類別
| 類別 | 範例 | 路由 |
|---|---|---|
| 行程 | 「明天三點開會」 | → 行事曆模組 |
| 待辦 | 「記得打電話給王律師」 | → 待辦模組 |
| 想法 | 「拓點可以考慮中和那邊」 | → 知識庫 |
| 投資人 | 「黃毅倫放了多少錢」 | → 投資人管理 |
| 客戶 | 「陳先生保單到期了」 | → CRM |
| 查詢 | 「我今天有什麼行程」 | → 查詢模組 |
| 其他 | 「今天天氣怎樣」 | → 通用回覆 |
技術方案
- 用 claude -p(Max plan 免費 CLI 額度)做分類
- System prompt 定義分類規則和 JSON 輸出格式
- 分類結果帶信心指數,低信心的標記「待人工判斷」
自然語言操作 Google Calendar — 用說的就能排行程、查行程、改行程。
使用情境
- 「幫我排明天下午3點開會」→ 自動在 Google Calendar 建立事件
- 「我這禮拜還有什麼行程」→ 列出本週所有事件
- 「把禮拜三的會議延到禮拜五」→ 自動修改
- 衝突檢測:「但你禮拜五下午已經有約了,要改時間嗎?」
技術方案
- Google Calendar API + OAuth 2.0 授權
- Claude 解析自然語言 → 轉換成 API 呼叫參數
- 支援建立、查詢、修改、刪除事件
- 衝突檢測:新增前先查該時段有無其他事件
隊長腦中的商業想法、靈感、觀察 — 用語音隨手記,AI 自動分類、標籤、歸檔。日後可以用自然語言查詢。
使用情境
- 隊長語音:「中和那邊的健身房最近在裝潢,可能可以談合作」→ AI 歸類到「健身房拓點」+ 標籤「中和、合作機會」
- 隊長查詢:「我之前關於拓點的想法有哪些?」→ AI 列出所有相關紀錄
技術方案
- 每條想法存成 markdown 檔案,帶 YAML frontmatter(日期、分類、標籤)
- 資料夾結構:
/clients/{id}/ideas/{category}/ - 查詢用 grep + Claude 語意搜尋(MVP 階段不需要向量資料庫)
隊長有多個投資人,需要追蹤每人的投入金額、分紅紀錄、到期日等。用自然語言就能查、能改。
使用情境
- 「黃毅倫放了多少錢」→「黃毅倫累計投入 150 萬,最近一次 2026/3/15 投入 30 萬」
- 「誰下個月要領分紅」→「5 月份有 3 位投資人分紅到期:王大明 5/5、李建華 5/12、黃毅倫 5/20」
- 「幫我記一下,今天陳先生又放了 50 萬」→「已新增:陳先生 2026/4/21 投入 50 萬」
技術方案
- SQLite 儲存(輕量但結構化,支援複雜查詢)
- 資料模型:投資人基本資料、交易紀錄(投入/提取/分紅)、合約條件
- Claude 自然語言 → SQL 查詢 → 格式化回覆
- 每次異動後自動備份 JSON
保險業務的客戶關係管理 — 錄音摘要自動建檔、客戶背景整合、AI 談單建議。
使用情境
- 隊長拜訪客戶後,傳一段語音摘要 → AI 自動建立/更新客戶檔案
- 「下次去找張浩要注意什麼」→ AI 根據歷史紀錄給建議
- 「誰的保單快到期了」→ 列出近期到期客戶
技術方案
- 客戶資料結構:基本資料、保單紀錄、拜訪紀錄、需求標籤
- Claude 負責從語音/文字中萃取關鍵資訊更新檔案
- 談單建議需要較精細的 prompt engineering
AI 不只被動回答,還會主動推送 — 每日報告、行程提醒、待辦追蹤。
推送類型
| 類型 | 時機 | 內容 |
|---|---|---|
| 每日早報 | 每天 08:00 | 今日行程 + 待辦 + 提醒事項 |
| 行程提醒 | 事件前 30 分鐘 | 即將到來的行程 + 相關備註 |
| 緊急提醒 | 事件前 10→5→1 分鐘 | 遞進式密集提醒(可設定) |
| 週報彙整 | 每週日 20:00 | 本週完成事項 + 下週預覽 + 想法統計 |
技術方案
- cron job 排程 + LINE Push Message API
- 每日早報用 Claude 彙整當日資訊,生成自然語言摘要
- 行程提醒從 Google Calendar 讀取,提前推送
AI 不是萬能的 — 當 AI 分類信心不足、或遇到模糊指令時,自動標記並推送給 WT 人工判斷。
運作流程
- 隊長傳了一條 AI 不確定怎麼分類的訊息
- AI 標記為「待判斷」,暫存不處理
- WT 在 Discord 收到通知:「隊長說了 XXX,我不確定要歸到行程還是待辦」
- WT 回覆判斷結果 → 系統執行 + 記錄這次判斷
- 類似的訊息下次 AI 會學會怎麼處理
功能總覽表
| 功能 | 可行性 | 難度 | 時間 | Phase |
|---|---|---|---|---|
| LINE 訊息接收 | 確定可做 | 低 | 0.5 天 | Phase 1 |
| 語音轉文字 | 確定可做 | 中 | 1 天 | Phase 1 |
| AI 智能分類 | 確定可做 | 低 | 0.5 天 | Phase 2 |
| 行事曆管理 | 確定可做 | 中 | 1.5 天 | Phase 3 |
| 知識庫 | 確定可做 | 低 | 0.5 天 | Phase 2 |
| 投資人管理 | 確定可做 | 中 | 2 天 | Phase 4 |
| CRM 客戶追蹤 | 有挑戰 | 高 | 3 天 | Phase 6 |
| 定時推送 | 確定可做 | 中 | 1.5 天 | Phase 5 |
| 人工判斷機制 | 確定可做 | 低 | 0.5 天 | Phase 2 |
三、技術架構
【隊長的 LINE】 │ │ 訊息 / 語音 / 圖片 ▼ 【LINE Messaging API】 ──── Webhook ────→ 【Hetzner CX22 FastAPI Server】 │ ├─ 文字訊息 ──→ Claude 分類器 │ │ ├─ 語音訊息 ──→ faster-whisper ──→ Claude 分類器 │ │ │ ┌─────────────────────────────┤ │ │ │ │ │ ▼ ▼ ▼ │ 行事曆模組 知識庫模組 投資人模組 ... │ (Google Cal) (Markdown) (SQLite) │ │ │ │ │ └──────────────┴───────────────┘ │ │ │ ▼ │ LINE Reply / Push │ │ 信心不足的訊息 └─────────────→ 【WT Discord 通知】 │ WT 人工判斷 │ ▼ 回寫系統 + AI 學習
技術堆疊
| 層級 | 技術 | 說明 |
|---|---|---|
| 介面層 | LINE Messaging API | 使用者唯一接觸的介面 |
| Web 框架 | FastAPI (Python) | 接收 Webhook、路由請求 |
| AI 引擎 | Claude (via claude -p) | 分類、理解、生成回覆 |
| 語音轉文字 | faster-whisper large-v3 | 高品質中文語音辨識 |
| 行事曆 | Google Calendar API | 行程 CRUD |
| 資料庫 | SQLite + Markdown | 結構化 + 非結構化資料 |
| 排程 | cron + APScheduler | 定時推送 |
| 伺服器 | Hetzner CX22 | 2vCPU / 4GB RAM / 40GB SSD |
| 監控 | Discord → WT | 人工判斷 + 異常通知 |
四、資源需求與限制
1. Hetzner CX22 (2vCPU / 4GB RAM)
| 項目 | RAM 佔用 | 狀態 |
|---|---|---|
| LINE Bot + FastAPI | ~100MB | 沒問題 |
| Claude -p 分析 | 不吃本地 RAM | 沒問題 |
| faster-whisper 轉譯 | ~1.5-2GB(運行時) | 注意控制 |
| WT 自己的 Claude Code | ~200-500MB | 注意排程 |
2. Claude Max Plan 額度
| 用途 | 預估日用量 | 預估 tokens |
|---|---|---|
| WT 自己的 Claude Code | 重度使用 | ~500K-1M/天 |
| 隊長訊息分類 | 20-50 則/天 | ~30-50K/天 |
| 每日報告生成 | 1 次/天 | ~5K/天 |
| 查詢回覆 | 5-10 次/天 | ~10-20K/天 |
3. LINE Messaging API 費用
| 方案 | 月費 | 推送訊息 | 適用情境 |
|---|---|---|---|
| 免費方案 | NT$ 0 | 500 則/月 | 隊長一人用,夠 |
| 輕量方案 | NT$ 800 | 5,000 則/月 | 2-5 個客戶時升級 |
| 標準方案 | NT$ 1,200+ | 依量計費 | 10+ 客戶規模 |
4. Google Calendar
- 需要隊長一次性授權 OAuth(引導他在瀏覽器上點「允許」)
- API 每日免費額度 1,000,000 次,完全不用擔心
- Token 會過期,要做自動 refresh 機制
五、多租戶設計(未來擴展)
MVP 階段先做單一客戶(隊長),但架構要預留多租戶能力,日後才能量化賣給更多人。
資料隔離
/root/clients/ ├── captain/ ← 隊長的所有資料 │ ├── config.json ← LINE token、Calendar OAuth、偏好 │ ├── ideas/ ← 商業想法知識庫 │ │ ├── 健身房拓點/ │ │ └── 投資策略/ │ ├── investors.db ← 投資人 SQLite │ ├── crm.db ← 客戶 CRM │ ├── todos.json ← 待辦事項 │ └── logs/ ← 訊息紀錄 + AI 判斷 log │ ├── client_002/ ← 未來第二個客戶 │ ├── config.json │ └── ... │ └── shared/ ← 共用資源 ├── prompts/ ← 分類用 system prompt └── templates/ ← 回覆模板
多租戶 config.json 結構
{
"client_id": "captain",
"display_name": "隊長",
"line": {
"channel_access_token": "...",
"channel_secret": "...",
"user_id": "U..."
},
"google_calendar": {
"credentials_path": "./credentials.json",
"token_path": "./token.json",
"calendar_id": "primary"
},
"limits": {
"daily_token_cap": 100000,
"monthly_push_cap": 200,
"whisper_max_duration_sec": 300
},
"preferences": {
"morning_report_time": "08:00",
"timezone": "Asia/Taipei",
"reminder_before_min": [30, 10, 5]
}
}
Token 計量
- 每次 Claude 呼叫紀錄 input/output tokens
- 每日彙總寫入
logs/token_usage.jsonl - 月底自動生成用量報告(可作為收費依據)
- 接近額度上限時自動通知 WT
六、隊長實際使用流程示意
七、開發時程
以 WT 現有技術棧和經驗,預估 2-3 週可完成完整 MVP。以下是分階段時程:
八、商業模式與定價建議
隊長先免費用(你們的合作關係),驗證模式後再對外收費。以下是對外定價參考:
- LINE 訊息接收 + AI 回覆
- 語音轉文字
- AI 智能分類
- 行事曆管理
- 商業想法歸檔
- 每日早報 + 行程提醒
- 每月 token 上限 3M
- 基礎版全部功能
- 投資人管理系統
- CRM 客戶追蹤
- AI 談單建議
- 客製化週報
- 優先技術支援
- 每月 token 上限 10M
- 進階版全部功能
- 客製化模組開發
- 專屬 prompt 調教
- 多平台整合
- 無限 token(公平使用)
- 1 對 1 顧問服務
- 依需求報價
合約建議
- 合約期:3 個月一期,首期試用可打折
- 服務範圍:合約載明包含的功能模組和 token 上限
- 超額計費:token 超額每 1M tokens 加收 NT$ 200
- 退出機制:合約到期可不續約,資料匯出
- SLA:每月正常運作時間 95%+(考量 Hetzner 單機限制,不承諾 99.9%)
成本結構
| 項目 | 月成本 | 備註 |
|---|---|---|
| Hetzner CX22 | ~NT$ 250 | 已有主機,邊際成本 0 |
| Claude Max plan | ~NT$ 6,500 | WT 自用,額度共享 |
| LINE API | NT$ 0-800 | 視客戶數量 |
| WT 維護時間 | 視情況 | 初期每週 2-3 小時 |
九、風險與挑戰
十、下一步行動
確認這份計劃書後,立即開始的事:
- Phase 1 啟動 — 申請 LINE 官方帳號(審核約 1-2 個工作天)
- 同步進行 — 在 Hetzner 上建立 FastAPI 骨架 + Webhook endpoint
- 跟隊長確認 — 需要他提供 Google 帳號授權 Calendar
- 測試環境 — 先用 WT 自己的 LINE 帳號測試,確認流程通了再切到隊長
需要隊長配合的事項
- 加 LINE 官方帳號好友(一次性)
- Google Calendar 授權(一次性,5 分鐘)
- 提供投資人初始資料(名字、金額、日期)
- 前兩週積極使用並反饋體驗