iT邦幫忙

2026 iThome 鐵人賽

DAY 16
0
ChatGPT & Codex

AI照護小幫手:智慧健康與情緒關懷系統系列 第 16

Day 16|ChatGPT 搬進 Terminal!建立CLI 介面

  • 分享至 

  • xImage
  •  

做到今天,我發現一件事。
前面一直都是透過網頁和 ChatGPT 互動,但每次修改程式,都要重新整理頁面、重新測試,其實有點麻煩。

所以今天決定先把 UI 放一邊,改成直接用 Terminal(CLI) 和程式互動。
這樣可以先專注在功能本身,等核心功能都完成之後,再回來設計網頁介面。
今天最大的調整不是新增功能,而是整理程式架構。

原本很多判斷都直接寫在:

app.post("/api")

裡面,隨著功能越來越多,程式開始變得不好閱讀。


因此今天把聊天流程拆成幾個 Function,讓每個 Function 只負責一件事情。
例如:

  • detectIntent():判斷使用者想做什麼
  • chat():負責整個聊天流程
  • addRecord():新增吃藥紀錄
  • getRecords():查詢紀錄

整個流程也變得更清楚:

Terminal
↓
chat()
↓
detectIntent()
↓
呼叫對應 Function
↓
SQLite
↓
回傳回答

完成後,只要在 Terminal 執行:

node server.js

就可以直接輸入:

我今天吃藥了

或是:

查看

系統就會直接回覆結果,不需要再透過網頁操作。

今天雖然沒有加入新的 AI 功能,但我覺得這一步很重要。
因為把聊天流程和功能拆開之後,未來不管是加入新的功能,還是串接真正的 OpenAI API,都不用一直修改同一大段程式。
程式也比之前更容易閱讀和維護。


今天完成

  • 建立 Terminal(CLI)聊天介面
  • 將聊天流程整理成 chat() Function
  • 新增 detectIntent() 判斷使用者意圖
  • 將新增、查詢功能獨立成不同 Function
  • 重構程式架構,讓功能更容易擴充

今天最大的收穫不是多了一個介面,而是開始理解「功能拆分」的重要性。
以前只要功能能動就好,現在開始會思考怎麼讓程式更容易維護,也替後面的功能預留空間。


明天預告:加入提醒功能

目前 AI 已經可以記錄和查詢吃藥紀錄。
明天想試著讓它更主動一點。
利用時間(Time Trigger)定時提醒吃藥。

希望做到指定時間一到,Terminal 就會自動跳出提醒訊息,讓 AI 助手不只是回答問題,也能主動提醒使用者。


上一篇
Day 15|ChatGPT 不再冷冰冰!讓回答更自然
系列文
AI照護小幫手:智慧健康與情緒關懷系統16
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言