
用 AI Agent 打造咖啡萃取記錄器
Espresso 的變數太多:豆子、烘焙度、粉量、研磨度、萃取時間⋯⋯每個參數都會影響風味。想穩定萃取,就得記錄每次的參數,慢慢找到每支豆子的 sweet spot。 紙筆記了幾天就懶了,試過幾個 App 也都不順手。最後決定自己做一個。 用對話蓋出來的 整個開發過程是透過 OpenClaw(開源 AI Agent 框架)完成的。我沒打開 IDE,就是在對話框裡描述需求: 「單頁 HTML,localStorage 存資料,Chart.js 畫圖。」 「豆子名稱要能搜尋。」 「預設值帶入上一杯的參數。」 AI 生成程式碼、我測試、回報問題、它修。來回大約 30 分鐘,從空白檔案到部署上 NAS。 Placeholder 的坑 過程中卡最久的是預設值。需求很簡單:新增記錄時自動帶入上一杯的粉量、研磨度等參數,使用者只改有變動的欄位。 前幾版用 placeholder 顯示預設值。畫面上看得到數字,但 placeholder 只是提示文字,不是 input.value。留空送出時,存進去的是空值,不是畫面上顯示的數字。 來回修了三版才想通:別用 placeholder 模擬預設值,直接把值填進 input。看到什麼就存什麼,沒有歧義。 最佳參數怎麼算 儀表板有一個「各豆子最佳參數」的區塊。一開始是取所有記錄的平均值,但這樣失敗的杯次會拉低數據。 改成:找每支豆子評分最高的記錄,取那些記錄的平均水粉比、研磨度、萃取時間。邏輯很簡單,就是 filter + reduce,但語義上合理多了——你想參考的是最好的幾杯,不是所有杯的平均。 長什麼樣 記錄表單:填完按儲存,預設值自動帶入上一杯 最近 10 杯,每筆可編輯或刪除 儀表板:各豆子最佳參數、研磨度趨勢、評分分佈 功能 記錄:豆子、烘焙度、粉量、研磨度、萃取時間、出杯量、粉碗、評分、備註 豆子和粉碗都有搜尋(從歷史記錄建 autocomplete) 預設值自動帶入,選了歷史豆子會切換成該豆子上次的參數 時間快捷鍵:現在 / 5 分前 / 10 分前 / 30 分前 / 1 小時前 儀表板:研磨度趨勢、評分分佈、各豆子最佳參數 JSON 匯入匯出 深色主題,手機可用 技術上就是一個 HTML 檔,沒後端。 ...