Vibe Coding — Stage 1 · 用 AI
M1-4

Vibe Coding 實戰課 — Stage 1 · 用 AI

GAS 串接 API
+ TG Bot

你的第一個對外服務 — 有網頁、有 AI、有通知

M1-4 3 小時 6 輪循環 帶走服務

按 → 或空白鍵開始

M1-4 ・ 3 小時

本模組你會做出什麼?

從收意見的網頁,串成 AI 自動分析 + 多通道即時通知

LV1 ・ 系統能跑
script.google.com/.../exec
意見回饋
送出
Sheet ・ 意見
王小明 ・ ming@... ・ 12:30
李美玲 ・ may@... ・ 12:32
...

純資料流,還沒 AI

LV2 ・ 完整鏈條
Sheet ・ 意見
王小明 ・ 建議
摘要:希望增加課後範例
李美玲 ・ 正面
摘要:課程設計很實用
Groq AI
分類 + 摘要
Email 通知
[新意見][建議]
- 王小明
GAS 中介處理 ・ doPost
收意見 → 叫 AI 分類 → 寫 Sheet → 寄信

AI 自動分類,email 通知到位

LV3 ・ 多通道訊息中心
新意見送入 ・ 12:35
Email
[新意見][建議] - 王小明
SENT 12:35
Telegram
[新意見] 王小明 ・ 建議
SENT 12:35
Line@
[新意見] 王小明 ・ 建議
SENT 12:35
同一筆意見,三通道並行,客戶 100% 收得到

並行雙推,實戰通道

完成 Stage 1,你會做事件驅動的完整服務 — 從收資料到 AI 分析到多通道通知

前情提要:Stage 1 到目前為止

M1-1
AI 聊天做 HTML
M1-2
封裝 GPT/Gem
M1-3
GAS 自動化
M1-4
對外服務

M1-1 只能自己看 → M1-3 背景自動跑 → 今天:任何人都能用的服務

今天的情境

你是開飲料店的小老闆 — M1-3 做了飲料點餐系統
今天再做第二套:意見收集系統,最後兩套都裝上通知

課前準備:註冊 TG Bot(推薦)

10 分鐘搞定,註冊比 Line@ 簡單,課程中會直接用

1
用 Telegram 打開 @BotFather

沒有 Telegram 帳號的話,先註冊(手機號碼即可)

2
傳 /newbot 給 BotFather

依指示命名你的 Bot(例:vibe-coding-test)→ 拿到 Bot Token

3
跟你的 Bot 傳一句話

隨便傳什麼都行(例:hi)— 讓 Telegram 留下一筆訊息紀錄

4
瀏覽器打開 getUpdates,找到 Chat ID

api.telegram.org/bot<你的TOKEN>/getUpdates
回傳的 JSON 裡找 "chat":{"id": 一串數字} — 那串數字就是 Chat ID(M1-4 R5 會用)

把 Bot Token 跟 Chat ID 兩個記下來。M1-4 上課時直接用

選項:Line@ 替代方案

如果你日常用 Line 而非 TG,可以選 Line@ — 但門檻較高

TG Bot(推薦)

註冊 5 分鐘
不需審核
Bot Token + Chat ID

課程現場用這個

Line@ 官方帳號

需軟體審核 1-3 天
需電信簡訊驗證
Channel Token + User ID

適合 Line 重度使用者,請提前申請

兩個擇一就好

不需要兩個都學。課堂預設用 TG Bot 走完整流程,Line@ 提供額外講解但不深入

ROUND 1 · 0:00–0:25

GAS 做網頁
doGet + HtmlService

從「自己電腦看得到」到「全世界看得到」

Step 1 — 開新對話、獨立任務

為什麼開新對話

M1-3 的對話可能在不同視窗或斷掉了
新任務從零開始,順便複習怎麼跟 AI 講清楚

跟 AI 說(獨立完整版)・對象:飲料點餐系統
幫我寫一個 Google Apps Script
做一個網頁,顯示 Google Sheet 裡的飲料訂購資料

我的 Sheet 裡有這些欄位(自己貼上 Sheet 的欄位)
[姓名 / 飲料 / 冰塊 / 甜度 / 數量]

請用 doGet 和 HtmlService 寫
做成讓任何人都能打開的公開網址

關鍵:把你 Sheet 的欄位貼給 AI
AI 才知道要讀哪些資料

換你操作 15 分鐘 飲料點餐系統

把你的網頁部署上線,拿到公開網址

1
開新對話,貼 Step 1 的 prompt

記得換成你自己 Sheet 的欄位

2
把 AI 給的程式碼貼進 GAS,照引導部署

部署 → 新增部署 → 網頁應用程式 → 存取權選「任何人」

3
複製網址,手機打開試一次

部署完跳出的網址先複製起來

完成判準

手機打開你的網址,看得到飲料訂單資料 = 完成

卡住了 — 舉手,或把錯誤訊息整段貼給 AI

驗證你的網址

手機打開你的網址
看到團購統計
傳給隔壁同學打開
這是你做的第一個「上線的服務」
不是檔案,是公開網址

觀察:跟 M1-1 有什麼不同

M1-1 的 HTML

只能在自己電腦看

分享要傳檔案

沒有公開網址

GAS 網頁

有公開網址

任何人都能打開

手機也能看

關鍵差異:部署(Deploy)= 上架
從「本機檔案」跳到「公開服務」

部署 = 上架

自己電腦
部署 Deploy
全世界看得到
GAS 網頁 = 免費伺服器 + 免費網址
你的第一個「上線的服務」

網址在哪裡找

部署完跳出的網址沒複製到,回頭找的方法

右上角「部署 ▼」→ 管理部署
活動 - 版本 1
飲料團購系統
網址 https://script.google.com/macros/s/AKfy...exec 複製

每次都能回來找 — 不用怕網址不見

分享與觀察

1
把 GAS 網頁連結貼到群組

互相打開同學的網頁

2
觀察差異

版面設計、資料呈現方式、手機版面是否正常

3
思考一個問題

這個網頁只能「看」— 訪客能不能「填資料」進來

Round 1 小結

GAS + doGet + HtmlService
= 免費的公開網頁伺服器
但現在只能「看」,不能「寫」

下一輪:做第二套系統 — 意見收集頁,讓訪客填資料進來

ROUND 2 · 0:25–0:50

GAS 網頁
+ Sheet 讀寫

做第二套系統:意見收集頁,讓訪客填資料進來

Step 1 — 加上「能填資料」這個需求

繼續跟 AI 說 ・ 對象:意見收集系統
接著做第二套系統:意見收集頁
訪客可以填姓名和意見
送出後寫入意見收集的 Sheet(跟飲料訂單分開)
網頁下方顯示已提交的意見列表
回 GAS 看什麼

AI 會在原本的 doGet 加 doPost
觀察 doPost 怎麼接收表單、怎麼 appendRow 寫入 Sheet

Step 2 — 怎麼點「管理部署」

Apps Script 編輯器右上角
部署 ▼
新增部署(會產生新網址)
✓ 管理部署
測試部署
進入後 → 點鉛筆編輯 → 版本選「新版本」→ 部署 → 網址不變

完成這一步的同學請舉手,等大家都到位再繼續

換你操作 10 分鐘 意見收集系統

讓訪客能填資料,升級後重新部署

1
貼 Step 1 的 prompt,讓 AI 加上表單

把 AI 更新後的程式碼貼回 GAS 存檔

2
照 Step 2 走「管理部署 → 新版本」

不要點成「新增部署」,網址會變掉

3
自己填一筆送出,打開 Sheet 看

確認資料真的寫進去了

完成判準

意見送出後意見 Sheet 多一筆,網址跟 R1 相同 = 完成

卡住了 — 舉手,或先檢查是不是點成了「新增部署」

觀察:資料是共用的

A
A 同學填了一筆資料

在自己手機上填寫表單,送出

B
B 同學重新整理頁面

看到 A 的意見出現在列表中

「資料是共用的!不同的人看到同一份資料!」

前端 vs 後端

M1-1 的 HTML

只有前端(用餐區)

資料存在瀏覽器裡

關掉就沒了

GAS + Sheet

前端(網頁)+ 後端(GAS + Sheet)

資料存在雲端

不同裝置都能存取

前端 = 用餐區(訪客看到的畫面)
後端 = 廚房 + 倉庫(GAS 處理邏輯 + Sheet 存資料)

餐廳比喻

前端
網頁畫面
用餐區
後端
GAS 程式碼
廚房
資料庫
Google Sheet
倉庫

客人(訪客)在用餐區(網頁)點菜(填表單)
廚房(GAS)接單處理 → 存進倉庫(Sheet)

Step 3 — 加上「防呆驗證」這個需求

繼續跟 AI 說 ・ 對象:意見收集系統
加上輸入驗證
姓名和意見都不能空白
送出後顯示「已提交」確認訊息
按鈕送出後變灰避免重複送
為什麼要防呆

對外服務一定會遇到空白提交和重複送,會留下垃圾資料

升級後的效果

訪客填表
前端驗證
寫入 Sheet
顯示確認

現在的網頁:能看、能填、能存、有驗證
但資料進來之後,要靠人去看 — 能不能讓 AI 自動分析

Round 2 小結

Round 1
只能看(展示頁)
Round 2
能看 + 能填 + 能存

下一輪:串接 AI API,讓收到的意見自動被分析

ROUND 3 · 0:50–1:15

串免費 AI API
讓表單有 AI 分析

Groq + Llama — 免費、不需信用卡、速度快

申請 Groq 不用信用卡

免費註冊

用 Google
帳號登入
免綁卡 / 免付費

速度極快

專門做
推理的硬體
回應快數倍

額度夠用

以 console limits 為準
課堂選當天
額度足夠的模型

立即申請

console.groq.com → 用 Google 登入 → API Keys → Create Key

為什麼不用 Gemini 免費額度

Gemini API 在外部使用

用 Python / Node.js / 自己的伺服器

免費額度可用

不用綁卡也能跑

在 GAS 裡呼叫 Gemini API

GAS 屬於 Google Workspace 服務

從 Workspace 呼叫外部 API

必須啟用 GCP Billing 才能跑

注意這個坑

Google 給「綁卡送 $300 試用額度」聽起來划算
但 $300 用完會自動扣款,新手很容易忘了關掉
課堂用 Groq 完全免費不用綁卡,沒有這個風險

Step 1 — 拿到 Groq API Key

1
打開 Groq Console

console.groq.com
Google 登入

2
左側選單 → API Keys → Create API Key

取個名字(例如 vibe-coding-class)

3
複製這串 Key(gsk_ 開頭)

視窗關掉就看不到了,先存到記事本

完成這一步的同學請舉手,等大家都到位再繼續

Step 2 — 加上「AI 分析」這個需求

繼續跟 AI 說 ・ 對象:意見收集系統
升級系統:新意見送出時呼叫 Groq API
優先用當天 console 顯示可用且額度足夠的模型
讓 AI 自動分類成正面 / 中性 / 負面
分類結果寫回 Sheet 同一列的下一欄
觀察 AI 把 Key 放哪裡

有主動提醒「放 Script Properties」= 好 AI
直接寫死在程式碼 = 你要會自己看出問題

換你操作 15 分鐘 意見收集系統

串上 Groq,讓意見自動分類

1
照 Step 1 申請 API Key(gsk_ 開頭)

視窗關掉就看不到了,先存到記事本

2
貼 Step 2 的 prompt,讓 AI 加上分類功能

順便觀察 AI 把你的 Key 放在哪裡

3
重新部署,自己填一筆意見測試

管理部署 → 新版本 → 部署

完成判準

Sheet 的分類欄自動出現 正面 / 中性 / 負面 = 完成

卡住了 — 舉手,或把 GAS 執行記錄的錯誤整段貼給 AI

觀察:AI 自動分析了

填意見
AI 分析情緒
標籤寫回 Sheet
「AI 自動分析了!不用我自己判斷!」

觸發 → 處理 → 儲存 → 展示
四元素已經到齊三個,只差「通知」

四元素進度

觸發
表單送出
處理
AI 分析
儲存
寫入 Sheet
通知
Round 4

三個元素到齊 — 最後一個「通知」在下一輪補上

Groq + GAS 的應用範例

自動客服分類

客戶留言進來
→ AI 自動分類
退款 / 技術 / 建議
→ 分到不同頁籤

自動翻譯回覆

外國客戶留言
→ AI 翻譯成中文
→ 寫回 Sheet
→ 團隊即時處理

同樣的架構(表單 + AI + Sheet),套到不同場景
差異只在 AI 的指令和 Sheet 的欄位設計

Round 3 小結

R1
能看
R2
能填能存
R3
AI 自動分析
現在缺一件事:有新資料進來的時候
你得自己去看 Sheet 才知道
能不能自動通知你

ROUND 4 · 通知層 · 第一部分

email 通知
什麼時候該通知

為飲料點餐系統加上「事件 → 行動」

為什麼系統需要通知層

M1-3 你做出了能收資料的系統,但⋯

沒有通知層

學員填了表單 → 寫進 Sheet

你不知道有新資料

要主動去開 Sheet 才看得到

有通知層

學員填了表單 → 寫進 Sheet

系統主動推訊息給你

email / TG / Line 即時收到

事件驅動是系統的基本架構:有事情發生 → 觸發行動

email 是最簡單的通知方式

三個理由為什麼從 email 入手

不需要
外部服務

GAS 內建 MailApp
不用申請帳號
不用 Bot Token

每天有限額

免費帳號 100 封
付費帳號 1500 封
學習用足夠

大家都有
email

不像 TG / Line
需要安裝特定 app
email 跨平台

先掌握 email 通知 → R5 再升級到 TG / Line 即時通知

觸發條件:兩種模式

什麼時候該寄信?兩種主流做法

每次觸發

每筆資料進來都寄
即時
適合:低頻、緊急

例:預約、客訴

定時觸發

固定時間彙整寄
不打擾
適合:高頻彙整

例:飲料訂單統計
每日報名統計

飲料點餐系統用定時觸發合理(不會每杯飲料都響你手機)
但學會兩種,未來其他需求可以選用

Step 1 — 每次觸發:表單送出就寄信

跟 AI 對話 ・ 對象:飲料點餐系統
請幫我加上「每次有新訂單就寄 email 給我」的功能

需求:
- 表單送出後(doPost)觸發
- 寄到我的 email:[email protected]
- 內容:包含時間、姓名、品項、所有欄位
- 主旨:[新訂單] 姓名 - 品項
AI 會在 doPost 裡加 MailApp.sendEmail

不用看程式碼,AI 會說明「在資料寫進 Sheet 之後,呼叫 MailApp 寄信」。
重新部署 → 自己填一筆測試 → 看 email 收到沒

Step 2 — 定時觸發:每天彙整一次

跟 AI 對話 ・ 對象:飲料點餐系統
請幫我加上「每天下午 5 點寄訂單彙整 email」

需求:
- 讀 Sheet 今天所有訂單
- 統計品項數量、總金額
- 寄到我的 email
- 用 GAS 觸發器設定每天 17:00 執行
AI 會做兩件事

1. 寫一個 sendDailySummary() 函式(讀 Sheet、彙整、寄信)
2. 引導你在 GAS Editor 設定時間驅動觸發器(左側鬧鐘 icon)

GAS 觸發器設定

在 GAS Editor 左側鬧鐘 icon → 新增觸發器

選擇要執行的函式
sendDailySummary
選擇活動來源
時間驅動
選擇時間類型
日計時器 → 下午 5 點到 6 點

設定完成後,每天 17:00 自動跑 sendDailySummary

換你操作 15 分鐘 飲料點餐系統

幫點餐系統加上兩種 email 通知

1
貼 Step 1 的 prompt,做「每筆寄信」

重新部署後自己填一筆,看信箱收到沒

2
貼 Step 2 的 prompt,做「每日彙整」

AI 會寫出 sendDailySummary 函式

3
照上一頁的畫面設定時間驅動觸發器

左側鬧鐘圖示 → 新增觸發器 → 日計時器

完成判準

信箱收到第一封通知信 + 觸發器清單多一筆 = 完成

卡住了 — 舉手,或看 GAS 左側「執行記錄」找紅字貼給 AI

兩種觸發整合到飲料點餐系統

即時通知

學員填單 → 你立刻收到 email

優點:第一時間知道
缺點:訂單多時 email 爆量

每日彙整

每天 17:00 收到彙整 email

優點:不打擾
缺點:不適合即時性需求

飲料點餐系統選哪個

建議用每日彙整。每杯飲料都寄 email 太擾人,下班前一次彙整剛好決定明天訂貨量

Round 4 小結

事件 → 通知層

email 是最低門檻的通知方式
不用申請外部服務、跨平台、額度夠用
觸發條件兩種:每次(即時)vs 定時(彙整)
下一輪:TG 即時通知裝上意見收集系統 + Token 保護

ROUND 5 · 通知層 · 第二部分

TG Bot 即時通知
+ Token 保護

把即時推送裝上意見收集系統

先講安全:Token 為什麼要保護

在串 TG Bot 之前,先建立 Token 安全的觀念

Token 寫在程式碼裡

const TOKEN = "8434:AAH...";

→ 程式碼分享給別人就洩漏
→ git push 到 GitHub 也洩漏
→ 別人能用你的 Bot

Token 存 Script Properties

PropertiesService
.getScriptProperties()
.getProperty('TG_TOKEN')

→ Token 跟程式碼分離
→ 程式碼可分享,Token 不洩漏
→ 不同環境用不同 Token

這個觀念是所有 API Key 的基本紀律——任何服務的 Token 都用同一套方法保護

Step 1 — 把 Token 存到 Script Properties

1
GAS Editor 左側 → 專案設定(齒輪圖示)

捲到最下面「指令碼屬性」section

2
新增指令碼屬性

屬性名稱:TG_TOKEN / 值:你的 Bot Token
再新增一個:TG_CHAT_ID / 值:課前準備用 getUpdates 拿到的那串數字

3
儲存指令碼屬性

儲存後關掉設定頁,回到程式碼編輯器

儲存後 Token 在 Google 後台加密保存,不會出現在程式碼裡

Step 2 — 跟 AI 要 TG 通知功能

跟 AI 對話 ・ 對象:意見收集系統
請幫我加上「每筆新意見即時推送到 Telegram」的功能

需求:
- 用 Script Properties 讀 TG_TOKEN 跟 TG_CHAT_ID
- 意見送出後(doPost)觸發
- 訊息格式:[新意見] 姓名 - AI 分類 - 時間
- 不要把 Token 寫死在程式碼裡
AI 會用 UrlFetchApp 呼叫 TG API

關鍵點:所有 Token 透過 PropertiesService 讀取,程式碼裡看不到 Token
重新部署 → 自己測一筆 → 看 Telegram 是否收到推送

換你操作 15 分鐘 意見收集系統

把新意見即時推上 Telegram

1
照 Step 1 把 TG_TOKEN 跟 TG_CHAT_ID 存進 Script Properties

課前準備拿到的兩個值,這時候派上用場

2
貼 Step 2 的 prompt,讓 AI 串 TG 通知

存檔後管理部署 → 新版本 → 部署

3
自己填一筆意見,看手機 TG 有沒有跳通知

順便打開程式碼確認裡面找不到 Token

完成判準

TG 收到推播,且程式碼裡看不到 Token = 完成

卡住了 — 舉手,或對照後面「R5 常見問題」那頁逐項檢查

替代方案:Line@(簡述)

課前準備有申請 Line@ 的同學適用

TG Bot

API endpoint:
api.telegram.org/bot{TOKEN}/sendMessage

參數:chat_id + text

Line@ Messaging API

API endpoint:
api.line.me/v2/bot/message/push

參數:to (User ID) + messages 陣列

兩個 API 都用 UrlFetchApp 呼叫
Token 都用 Script Properties 存
跟 AI 對話時把需求改成 Line@ 即可,邏輯相同

完整流程跑一遍

意見收集系統端到端驗證:從填意見到 TG 收到推播

填意見
寫入 Sheet
AI 分類
TG 推播
驗證重點

1. Sheet 有新一筆資料
2. AI 分類欄位有寫入
3. 手機 TG 收到通知(且訊息格式正確)
4. 程式碼裡看不到 Token(去 Script Properties 才看得到)

你剛才建立的:事件驅動架構

這是工業界叫 webhook / event-driven 的架構雛形

事件源
表單送出
後端接收
doPost
儲存
Sheet
處理
AI 分類
通知
TG / Line / email

這個架構是所有「即時自動化」系統的骨架
從電商出貨通知、IoT 設備警報、銀行轉帳提醒,到你公司內部的審核流程 — 都是這個骨架

R5 常見問題

狀況原因 / 解法
TG 沒收到通知檢查 Script Properties 的 TG_TOKEN / TG_CHAT_ID 是否正確、有沒有 typo
Sheet 有寫入但 TG 沒推看 GAS 執行記錄(左側)→ UrlFetchApp 是否報錯
Token 換新不生效Script Properties 改了不用重新部署,但 doPost 改了要重新部署
Chat ID 忘了存跟 Bot 再傳一句話 → 重開 getUpdates 找 "chat":{"id"}(課前準備的做法)
想多人接收通知把 TG_CHAT_ID 改成群組 ID
建 group → 加 Bot 進群 → 群裡發一句話
getUpdates 找群組 id(通常是負數)

Round 5 小結

通知層升級 + Token 安全紀律

email 適合彙整,TG / Line 適合即時 — 從工作場景選用
Script Properties 是這堂課最重要的安全觀念之一 — 任何 Token / API Key / 密碼都該用同樣方式保護

ROUND 6 · DEMO 互測

Demo 互測
+ 變化應用

技術相同 差異在「你解決了什麼問題」

Demo 操作

1
每人把網址貼到群組

大家有彼此的意見收集頁網址

2
互相填彼此的表單

每個人去填其他同學的網頁

3
觀察手機收到一連串 TG 推播

系統自動在跑 — 你寫的服務真的有人在用

收到至少 3 筆通知的同學請舉手

同樣架構可以做什麼

客服自動分類

留言 → AI 分類 → TG 通知客服

庫存警報

掃庫存 → AI 判斷不足 → TG 推採購

每日銷售報告

18:00 觸發 → AI 摘要 → TG 推主管

問卷自動歸納

回覆累積 → AI 歸納主題 → TG 推給你

技術都一樣(網頁 + AI + Sheet + 通知),差別只在「你解決什麼問題」

從一張菜單到完整服務

M1-3
飲料菜單
團購表單
自動統計
AI 分析
TG 通知老闆

一條龍完整服務

從一張飲料菜單開始
到點餐 + 意見收集兩套自動化服務
這就是 Stage 1 的終點

六維度反思

1
功能完整度
2
畫面品質
3
幾步完成
4
花多少時間
5
操作難易度
6
總體效果

用這六個維度評估自己和同學的作品
差距來自哪裡 — 指令品質、架構理解、還是除錯速度

Round 6 小結

你擁有了一個可以複製到任何場景的架構
觸發 → 處理 → 儲存 → 通知
接下來只需要換場景和需求

收尾 · STAGE 1 回顧

Stage 1 回顧
+ Stage 2 預告

四堂課的升級線,和下一階段的方向

Stage 1 升級線

M1-1
AI 聊天做 HTML
存自己電腦,最原始
M1-2
封裝 GPT/Gem + 圖文生成
可重複用 + 多模態
M1-3
GAS 自動化
背景自動跑,飲料團購系統
M1-4
GAS 網頁 + AI API + TG
對外服務,一條龍

Stage 1 能力累積

0
行程式碼自己寫
4
堂課完成
1
完整對外服務

從「完全不會寫程式」到「有一個公開的自動化服務」
中間只靠 AI 聊天 + 正確的操作流程

記憶機制回顧

Stage 1 用到的四種「記住設定」的方式

GPT
Instructions

ChatGPT 的
自定義指令
每次自動帶入

Gem System Instructions

Gemini 的
系統指令
角色+限制+格式

GAS Script Properties

GAS 的安全儲存
API Key / Token

Claude
Projects

Claude.ai 的
專案設定
跨對話知識

M1-4 常見問題回顧

#常見問題學到什麼
1部署權限選錯權限管理
2新增部署 vs 管理部署搞混網址不變要選「管理部署」
3沒驗證收到空白提交對外服務要防呆
4API Key 寫在程式碼裡Script Properties
5TG Token 貼錯整段執行記錄貼給 AI

帶走清單

本堂定位 輸入 + 輸出 + 後台 + API — AI 系統的最小架構

不只學了什麼,是想法怎麼變了
從「我是服務的使用者」→ 我能組裝自己的服務

從「網頁是別人做的」
入口可以自己打造
從「表格只是記資料」
資料是服務的心臟
從「AI 只能在網站用」
智能可以被接入
從「通知只是被動收」
對話能成為入口
從「能跑就算完成」
服務要經得起互測
從「我只是學工具」
我已能組裝服務

Stage 1 全景:你學會了什麼

M1-1
AI 聊天
做作品
M1-2
封裝助手
多模態
M1-3
GAS 自動化
背景執行
M1-4
對外服務
一條龍

從「零基礎」到「有公開服務」
Stage 1 的核心:用 AI 做事,不用自己寫程式

Stage 1 的限制

你用的都是「別人的平台」

ChatGPT
/ Claude

別人的 AI

Google Apps Script

別人的伺服器

Telegram

別人的通訊管道

平台規則改了,你就被影響
能不能有「自己的地盤」

Stage 2 預告:串 AI

1
GitHub 做「你自己的網站」

不再依賴 GAS 的超長網址

2
學會安全管理

.env / Secrets — API Key 的正式管理方式

3
用 IDE 做更強的工具

從瀏覽器操作進入開發環境

Stage 1 = 用 AI → Stage 2 = 串 AI → Stage 3 = 造 AI

課後操作

實踐任務

把今天的意見收集系統改成你工作中的實際場景
例如:客戶回饋收集 / 內部建議箱 / 日報通知

記錄要求

記錄你改了什麼、遇到什麼問題、怎麼解決
這些素材在 Stage 2 會用到

下一階段 — Stage 2

你做了對外服務
但地盤是別人的

Stage 2:用 GitHub 建你自己的網站
學會安全管理,用 IDE 做更強的工具

GitHub Pages .env / Secrets IDE 免費 AI API

M1-4 / Stage 1 完成

1 / 71
章節