1. Problem
食譜資料越多,越需要可授權的查找入口
- 食譜 PDF 與課程檔案散在資料夾裡,使用者很難靠記憶找到正確檔名
- LINE 上常出現簡短查詢,例如「叉燒」、「胡桃塔」或「Cheese cake」
- 不同使用者可看的食譜範圍不同,不能把未授權檔名直接露出
- 下載連結需要再次檢查登入狀態、通行碼有效期限與權限範圍
- 本機資料與網站入口需要串起來,又不能把 LINE credentials 或 passcode 寫進前端
2. Solution
把本機 PDF 索引、通行碼與 LINE 對話接成一個查找助理
101recipe 先同步本機 recipes 資料夾,將 PDF 檔名與必要 metadata 建立成可查詢索引。使用者通過 passcode 後,才能查找與下載授權範圍內的檔案。
SQLite 權限與紀錄
Ollama 輔助判斷
LINE / Web 雙入口

Demo Note
這是一個權限控管比聊天更重要的 AI 助理案例
101recipe 不讓模型決定誰能下載檔案。AI 可以協助理解問題,但授權、候選檔案與下載連結都由 deterministic backend 檢查,適合教材、內部文件與會員資料庫情境。
3. What it handles
食譜查找助理需要處理的核心模組
這個案例把聊天入口、搜尋品質與授權下載拆開處理,避免 AI 回覆越界。
Passcode Login
Authorized PDF Search
Filename-first Matching
Local Recipe Index
LINE Webhook
Website Proxy
PDF Download Gate
Access Logs
4. Example questions
使用者可以這樣問
系統優先用檔名與食譜概念做穩定比對,避免單靠向量搜尋產生不相關結果。
叉燒
起司蛋糕
Cheese cake
我要胡桃塔的 PDF
有沒有水果三明治的食譜?
南瓜濃湯無酒版
檸檬餅乾
5. Why this demonstrates LINE101Chat
為什麼這能代表 LINE101Chat
101recipe 展示的是一個小型但完整的 LINE AI 知識服務流程:
- 通行碼以 bcrypt hash 儲存,前端只拿短期 session token
- 每次 PDF 下載前都重新檢查 session、通行碼、到期日與 scope
- 一般查詢採 filename-first deterministic search,降低語意搜尋漂移
- LINE 回覆只從授權候選檔案產生下載連結
- 網站 `/101recipe` 透過 Vercel API routes proxy 到後端服務
- 測試已覆蓋中文、英文、直接食譜名稱與無關結果防漂移情境
6. Small-profit model
微型服務如何產生小額收入
課程食譜授權查找
付費會員資料庫
LINE 售後支援
內部文件庫 PoC
小型教材下載平台
7. Disclaimer
Demo 用途與資訊邊界
101recipe 是授權查找與下載流程展示。食譜內容、課程授權、會員資格與實際交付規則,仍應以服務提供者公告與約定為準;網站與 LINE 端不應公開 passcode、LINE credentials 或未授權檔案資訊。