GPT AI Assistant
  • 中文
  • English
GitHub
  • 中文
  • English
GitHub
  • 使用說明

    • 介紹
    • 開始使用
    • 功能與指令
    • 設定
    • 疑難排解
    • 更新摘要

功能與指令

目前能力

類別功能
對話日常對話、續寫、重試、清除上下文
文字處理摘要、建議、安慰、鼓勵、分析、翻譯英文/日文
搜尋SerpAPI 網路搜尋與結果整理,回覆附「📎 來源」清單(標題/來源站/時間/連結;只顯示、不進 prompt);答案含日期時可一鍵「建立行程」(走草稿確認)
多模態LINE 手機語音訊息與桌面音訊檔轉文字、圖片理解、GPT Image 生圖
網址選用的 SSRF-safe 網址摘要
群組群組啟用/停用,可設定必須 mention 才回覆
行程日期開頭自然輸入、確定性星期判斷、模糊時間追問、確認後修改、重疊警告、查詢、完成與刪除;語音建行程(手機語音訊息或桌面音訊檔轉錄後走同一流程,確認卡回顯聽到的原文);週期行程(「每週一開會」等,建立、同步 Google 並每個 occurrence 提醒)
提醒行程開始時主動 LINE Push;整天行程於當日 09:00,durable retry key 防重複;安靜時段、暫停/恢復;多重(提前)提醒(REMINDER_OFFSETS,如提前 1 小時/1 天)
Google CalendarOAuth 後以 durable job 冪等新增/更新,每分鐘重試、最終狀態通知,並直接查詢/完成/刪除;雙向同步:inbound 以 sync token 輪詢回收 Google 端的刪除與 timed 行程修改,並與 LINE 提醒去重(避免雙重通知)
Google Tasks雙向同步:ENABLE_GOOGLE_TASKS 時新增/完成/重開/刪除同步到 Google Tasks;ENABLE_GOOGLE_TASKS_INBOUND 時 Google 端的完成/重開、刪除、標題、備註也回收到本地(due 不回收,精確期限以本地為準;與 Calendar 共用 OAuth)
任務獨立保存於 Supabase 助理待辦;支援自然語言期限與優先度、標籤、分頁、今天/明天/本週/下週/逾期/已完篩選、完成/重開/刪除
天氣Open-Meteo 現況與 1–7 日預報,含台灣縣市簡稱、市/縣座標追問、找不到時的精確地名提示,以及每日訂閱推播
觀測run trace 記錄每次 AI 執行的能力/模型/token/估算成本/耗時/狀態(不含對話內容或憑證)
系統指令列表、版本、問題回報、文件、Vercel redeploy

在 LINE 傳送「指令」會依該部署已啟用的 feature flags,回覆對話、搜尋、生圖、看圖、語音、行程、任務、提醒、天氣、每日天氣、Google、文字處理、系統與維護等分組;每組列出可直接輸入的格式與範例,未啟用的功能不會假裝存在。這取代了過去只有四個維護按鈕的選擇框。

一般回覆下方另有最多 13 個 Quick Reply,完整啟用時依序為:記行程、我的行程、新增任務、我的任務、天氣、每日天氣、查詢、請畫、連結 Google 行事曆、暫停提醒、恢復提醒、忘記、指令。LINE 只會顯示單列橫向捲動,bot 無法強制排成兩列;需要固定兩列入口可依開始使用設定選用的 3×2 圖文選單。

常用操作包括:

  • 「聊天」:切回一般對話。
  • 「繼續」/「重試」/「忘記」:管理對話上下文。
  • 「畫」加描述:產生圖片。
  • 「搜尋」加問題:查詢網路。
  • 「總結」/「分析」/「翻譯英文」/「翻譯日文」:處理文字。
  • 「啟用」/「停用」:切換目前 user 或 group 的 bot 狀態。
  • 「版本」/「回報」/「文件」:系統資訊。
  • 記行程 明天下午三點看診:解析後先顯示草稿,確認才建立。
  • 行程 5分鐘後的測試通知:行程 可作簡短前綴,確認後建立 Calendar event,既有 reminder 會在開始時間推送。
  • 7/20 下午三點牙醫回診:日期開頭的敘述可直接進行程流程。
  • 每天 22:40 例行檢查、每週五下午三點整理週報:週期開頭的非問句也可直接進行程流程;明確鐘點依個人時區鎖定,確認卡會顯示重複頻率、間隔、次數或截止日。
  • 記行程 明天下午看診:「下午」太模糊,bot 只追問幾點;下一句延續 durable 結構化草稿,不存原始對話。只有日期沒有時間則視為整天。
  • 星期五/週五 取下一個同名日;這週二/這個星期二、下週日/下個星期日 依字面固定,不由模型猜週次。
  • 我的行程:列出近期行程並附完成、刪除按鈕;提醒訊息也可直接標記完成。
  • 修改行程:選擇 bot 管理的行程,下一句說明變更,確認後才套用並回寫 Google。期間已被更新的版本不會被舊草稿覆蓋。
  • 設定時區 Asia/Taipei:設定個人 IANA timezone。
  • 連結 Google 行事曆 或 連結Google行事曆:開啟 Google 授權;也接受「連接/綁定/授權」常見寫法。
  • 同步失敗行程:列出同步失敗但仍保留在 Supabase 的行程,每筆可重試或刪除。
  • 重試同步 <ID>:開始新的最多 3 次同步週期;成功或最終失敗才回覆。
  • 暫不處理 <ID>:保留本機行程、停止自動詢問,不會刪除資料。
  • 刪行程 <ID>:只有使用者明確點選或輸入時才刪除;若已同步,同時刪除 Google 事件與本機映射。
  • 新增任務 明天交報告 #工作:新增有期限與標籤的任務。任務保存於助理待辦、不建立 Google 日曆行程;若開啟 Google Tasks outbound/inbound 並授權,可雙向同步支援的欄位(同步失敗不刪本機任務)。
  • 我的任務、我的任務 今天/今日、我的任務 明天/明日、我的任務 本週/本周/這個星期、我的任務 下週/下周/下個星期、我的任務 逾期、我的任務 已完、我的任務 #工作:列表與篩選;完成、重開、刪除用列表按鈕。未知篩選會回覆可用選項,不會列出全部任務造成假成功。

任務週界固定為週一開始、週日結束。新增語句只有「本週/這週」而沒有星期幾時,期限固定為本週日 09:00;「下週」固定為下週日 09:00。今天/今日、明天/明日均依個人時區確定日期。句尾標點不屬於標籤,#工作。 會保存及查詢為 #工作。

  • 安靜時段 22-8、安靜時段 關閉、暫停提醒、恢復提醒:設定提醒偏好;暫停期間到點的提醒不補發。
  • 天氣 台北:查詢現況與預報;無歧義的台灣常用縣市簡稱會自動補足行政區與國家,不必先手動改成「台北市」。今天天氣 嘉義、台北天氣如何 這類自然語句也能命中(天氣詞在句首或句尾時辨識為隱式天氣意圖,需開啟 ENABLE_WEATHER)。
  • 每日天氣 台北 8、取消每日天氣、我的天氣訂閱:訂閱每天指定時刻推播天氣(需 ENABLE_WEATHER_PUSH),重用同一 scheduler 與 delivery,不另建排程。
  • 語音建行程:手機可直接用 LINE 語音說「記行程 明天下午三點看診」;Windows/macOS LINE 沒有原生語音錄製時,可附加 .mp3、.mp4、.mpeg、.mpga、.m4a、.wav 或 .webm 音訊檔。LINE 可能把桌面附件轉成 audio webhook,程式會依 Content API header/檔案 magic bytes 保留實際格式;未轉換的 file 也支援。兩者都走相同的轉錄與草稿確認流程,確認卡會回顯「我聽到:…」。檔案大小上限由 TRANSCRIPTION_MAX_BYTES 控制,預設 25 MiB。

地名有供應商限制:同名不同區(如 嘉義 分屬嘉義市/縣)時,bot 會回傳以座標綁定的選項讓你點選,不再靜默選第一筆。5.13.0 已以確定性行政中心 fallback 支援 天氣 嘉義縣;其他找不到的地點請改用「鄉鎮+縣市/國家」或附近城市,例如 天氣 民雄 嘉義縣。

行程確認、取消、完成、刪除與同步處理按鈕使用 LINE postback。對話顯示「確認行程」或「修改行程 2」、「完成行程 2」、「刪除行程 2」等自然文字;清單操作帶當次序號,confirmation token、Supabase UUID 與 Google event id 仍留在不可見的 postback data。

實際觸發詞由 repo 的 app/commands/ 與 locales/ 決定;文件不另外維護第二份可能過期的完整清單。

預設模型

功能預設
對話gpt-4o-mini
圖片理解gpt-4o
語音轉文字gpt-4o-mini-transcribe
生圖gpt-image-2、low
搜尋SerpAPI

模型都可用環境變數覆寫。新模型名稱與參數可能變動,切換前應查 OpenAI 官方文件並做實際 smoke test。

成本與安全控制

  • ENABLE_IMAGE_GENERATION
  • ENABLE_TRANSCRIPTION
  • ENABLE_VISION
  • ENABLE_SEARCH
  • ENABLE_URL_SUMMARY(預設關)
  • GROUP_REPLY_REQUIRES_MENTION(預設關)
  • APP_MAX_PROMPT_AGE(預設 0,不自動過期)
  • ENABLE_SCHEDULE、ENABLE_REMINDERS、ENABLE_GOOGLE_CALENDAR、ENABLE_GOOGLE_CALENDAR_INBOUND、ENABLE_TASKS、ENABLE_GOOGLE_TASKS、ENABLE_GOOGLE_TASKS_INBOUND、ENABLE_WEATHER、ENABLE_WEATHER_PUSH(程式預設關閉,需完成對應資料庫/Cron/OAuth 前置設定;durable queue 在 6.0 固定啟用)
  • REMINDER_OFFSETS(多重提前提醒的分鐘清單,如 60,1440;預設空=只有到點提醒)
  • OPENAI_PRICE_PER_1K_PROMPT/OPENAI_PRICE_PER_1K_COMPLETION(選填;設定後 run trace 才估算 cost_usd,否則只記 token 數)

6.0 固定以 Postgres 唯一鍵原子去重 LINE delivery/redelivery;AI 完成結果與 LINE 送達各有 checkpoint,delivery retry 不會重跑付費 AI。DB、必要設定或 migration 不可用時 fail closed,沒有 per-instance legacy fallback。

已完成與未來方向

5.0.0 完成行程、任務與提醒的 M1 真實 LINE 閉環。到 5.13.0 已接上 Google Tasks 雙向同步與授權回填、Google Calendar inbound 同步(刪除回收+timed 修改+提醒去重)、每日天氣訂閱、搜尋建行程、語音建行程、多重/週期提醒及 run trace;並修正 Tasks inbound 水位、跨 instance 同步競態、Tasks 跨日與天氣 DST 排程。

6.0.0 已完成 durable-only runtime、Google provider contract、feature-aware Quick Reply、完整 指令、Node 24/Express 5/Jest 30/ESLint 10、Tasks dead job 恢復、週期行程當地鐘點校正、Google request/Cron drain time budget、Calendar inbound 非展開系列同步,以及 LINE 桌面音訊檔轉錄、實際格式判斷與語音句首同音字容錯,並已通過集中 LINE/Supabase/Google 驗收。Calendar all-day/recurrence exception inbound、Google-origin 建立與 Tasks due 回收仍不支援。完整清單見 ROADMAP.md。

提醒實機驗收已證明:正常到點只推播一次;暫停期間到點不推播,恢復後不補發;恢復後新建立的提醒正常送達。

任務重開實機驗收已通過:從 我的任務 已完成 選取一筆後,LINE 顯示「重開任務 1」及「已重新開啟任務」,目標資料回到待辦且不再出現在已完成列表。同名的另一筆任務是獨立資料列,不會被同一次操作一起重開。重開成功訊息也會重申它只存在助理待辦。

產品與架構參考

  • Toki(前身 Dola):自然語言行程/任務、自適應提醒、完成、多日曆協調、衝突建議、多模態、天氣與主動追蹤的產品行為參考。研究資料包括 Toki Updates、官方品牌演進、Dola note 文章 與 LINE VOOM 帳號。
  • memochou1993/fermi:原作者在上游 d84c806 明確指向的接班專案;Supabase、durable worker 與 run trace 作為架構參考,FSL-1.1-MIT 原始碼不直接合併。本專案以該上游 commit 為基底。

上游目前未封存,但最後一次 merged PR 停在 2024-07-09;本專案已決定獨立維護、不安排回貢。解除 GitHub fork network 不影響永久保留的 MIT attribution。完整判斷見 repo 的 ROADMAP.md。

參考商業服務只吸收可驗證的產品行為,不複製私有程式碼、品牌、文案、畫面或素材。完整參考專案與授權邊界見 repo 的 ROADMAP.md。

Google Tasks 同步(雙向)

ENABLE_GOOGLE_TASKS(outbound,5.3.0)開啟後,新增/完成/重開/刪除任務會同步到 Google Tasks,與 Google Calendar 共用同一 OAuth。部署者仍必須在同一 Google Cloud project 另行啟用 Google Tasks API;只有 scope 不夠。既有僅授權 Calendar 的使用者重新「連結 Google 行事曆」後,callback 會回填既有未同步任務;rc.5 也會在永久設定錯誤排除後安全重排相同 dead job。同步以 task row lock、durable job 與 notes 的穩定標記防止併發或結果不明確重試產生複本。失敗只記錄狀態、本機任務一律保留。

ENABLE_GOOGLE_TASKS_INBOUND(inbound,5.9.0)開啟後,在 Google Tasks 端對 bot 建立的任務所做的完成/重開、刪除、標題、備註會回收到 Supabase(以 updatedMin 增量輪詢,Google Tasks 無 sync token)。期限(due)不回收——Google Tasks 只有日期、對回本地會失去精確時間又有時區歧義,精確期限以本地為準。衝突政策對稱 Calendar inbound:本地剛用 bot 改過(尚未推)時讓 outbound 先贏。

版本政策:5.0.0 在 M1 真實 LINE 閉環全部通過後發布;後續每個增強(Google Tasks、inbound 同步、天氣訂閱、語音建行程等)逐版切出,功能旗標預設關閉、可獨立啟用與回滾。

Edit this page
最近更新: 2026/7/22 10:32
Contributors: SanHsien
Prev
開始使用
Next
設定