Skip to content

Latest commit

 

History

History
387 lines (285 loc) · 8.99 KB

File metadata and controls

387 lines (285 loc) · 8.99 KB

🤖 AI.md 功能實現詳解

AI.md 描述的是如何使用 Puter.js 免費訪問 Gemini 3 Pro 等 AI 模型。我們的專案已經完整實現了這些功能!


📋 AI.md 的核心概念

Puter.js 是什麼?

Puter.js 是一個革命性的前端 JavaScript 庫,提供:

  1. 免費 AI 訪問 - 無需 API 金鑰
  2. User-Pays 模式 - 使用者付費,開發者免費
  3. 零後端設定 - 純前端即可使用
  4. 多種 AI 模型 - Gemini, GPT, Claude 等

為什麼選擇 Puter.js?

完全免費 - 開發者無需付費 ✅ 無需註冊 - 不需要 API 金鑰 ✅ 即插即用 - 一行腳本標籤即可 ✅ 可擴展 - 無論 1 位或 100 萬位使用者,成本都是 0


🎯 我們的專案如何實現 AI.md

1. 載入 Puter.js(已完成 ✅)

位置: frontend/index.htmlfrontend/admin.html

<!-- 在 HTML 中載入 Puter.js -->
<script src="https://js.puter.com/v2/"></script>

這一行腳本就是整個 AI 功能的基礎!


2. 使用 Gemini 3 Pro(已實現 ✅)

我們在專案中使用了 3 個 AI 功能

功能 A: Pitch Coach (簡報生成器)

位置: frontend/main.js:194

const result = await window.puter.ai.chat(prompt, {
  model: "gemini-3-pro-preview"
});

作用:

  • 使用者輸入筆記
  • Gemini 3 Pro 生成專業簡報稿
  • 支援中文和英文兩種語言

實際應用:

// 中文版本 (30秒簡報)
const prompt = `
你是一位熟悉台灣在地社福與新創簡報的教練,
要幫我在黑客松決賽用很短的時間講清楚...
使用者筆記: ${userNotes}
`;

// 呼叫 Gemini 3 Pro
const response = await puter.ai.chat(prompt, {
  model: "gemini-3-pro-preview"
});

功能 B: 樓層巡檢 AI (場地建議)

位置: frontend/main.js:532

const response = await window.puter.ai.chat(prompt, {
  model: "gemini-3-pro-preview"
});

作用:

  • 分析各樓層空間利用率
  • 推薦最適合插入隔代共學的場地
  • 提供風險評估

實際應用:

const prompt = `
你是赤土崎多功能館的 AI 助理,專門分析樓層空間利用率...
當前樓層資料: ${JSON.stringify(floorData)}
`;

功能 C: 管理端 AI Ops (運營巡檢)

位置: frontend/admin.js:206

const response = await window.puter.ai.chat(prompt, {
  model: "gemini-3-pro-preview"
});

作用:

  • 分析今日隔代共學場次
  • 生成管理建議
  • 識別潛在風險

實際應用:

const prompt = `
你是赤土崎多功能館的館務 AI 助理...
今日場次資料: ${JSON.stringify(todaySessions)}
`;

🔧 技術實現細節

完整流程

1. 使用者點擊按鈕
   ↓
2. JavaScript 收集資料 (筆記、樓層資料、場次資訊)
   ↓
3. 建構中文提示詞 (Prompt)
   ↓
4. 呼叫 Puter.js API
   ↓
5. Puter.js 向 Gemini 3 Pro 發送請求
   ↓
6. 使用者授權 (首次使用)
   ↓
7. Gemini 3 Pro 生成回應
   ↓
8. 顯示在網頁上

錯誤處理

我們實現了完整的錯誤處理:

// frontend/main.js
try {
  // 檢查 Puter.js 是否載入
  if (typeof window.puter === "undefined") {
    throw new Error("Puter.js 尚未載入,請稍後再試。");
  }

  // 檢查網路連線
  if (!navigator.onLine) {
    throw new Error("網路連線中斷");
  }

  // 呼叫 AI
  const result = await window.puter.ai.chat(prompt, {
    model: "gemini-3-pro-preview"
  });

  // 處理回應
  displayResult(result);

} catch (error) {
  // 顯示使用者友善的錯誤訊息
  console.error("AI 生成失敗:", error);
  showError(getUserFriendlyErrorMessage(error, "AI 簡報生成"));
}

🎨 使用者體驗設計

首次使用流程

  1. 使用者點擊「生成簡報稿」
  2. Puter.js 彈出授權視窗
    ┌─────────────────────────────────────┐
    │  Puter.com 授權請求                 │
    │                                     │
    │  此網站想要使用 AI 功能             │
    │  您的使用將由 Puter 計費             │
    │                                     │
    │  [ 拒絕 ]        [ 允許 ]          │
    └─────────────────────────────────────┘
    
  3. 使用者點擊「允許」
  4. Gemini 3 Pro 開始生成
  5. 結果顯示在網頁上

後續使用

  • 無需再次授權
  • 立即生成
  • 流暢體驗

📊 AI.md 中的所有模型

根據 AI.md,Puter.js 支援以下模型:

模型 用途 我們是否使用
gemini-3-pro-preview 複雜推理、多模態 主要使用
gemini-2.5-pro 進階推理 ❌ 未使用
gemini-2.5-flash 快速回應 ❌ 未使用
gemini-2.5-flash-lite 超快回應 ❌ 未使用
gemini-2.0-flash 平衡版本 ❌ 未使用
gpt-5-nano OpenAI 模型 ❌ 未使用

我們選擇 gemini-3-pro-preview 的原因:

  • ✅ 最先進的推理能力
  • ✅ 支援繁體中文
  • ✅ 適合生成結構化簡報
  • ✅ 多模態處理(未來可擴展)

🔐 安全性與隱私

User-Pays 模式

傳統模式:
開發者付費 → API 金鑰 → 成本隨使用者增長

Puter.js 模式:
使用者付費 → 無 API 金鑰 → 開發者成本為 0

隱私保護

  • 無追蹤技術 - Puter 不使用 cookies 或追蹤
  • 不收集個資 - 不儲存使用者資料
  • 開源 - Puter 是開源專案
  • 使用者控制 - 使用者決定是否授權

💡 擴展可能性

基於 AI.md,我們可以輕鬆新增:

1. 圖片分析

// 分析上傳的活動照片
puter.ai.chat(
  "描述這張隔代共學活動的場景",
  "https://example.com/photo.jpg",
  { model: "gemini-3-pro-preview" }
);

2. 文件分析

// 分析 PDF 報告
puter.ai.chat(
  "總結這份社福報告的重點",
  pdfFile,
  { model: "gemini-3-pro-preview" }
);

3. 串流回應

// 即時顯示 AI 生成過程
const response = await puter.ai.chat(prompt, {
  model: "gemini-3-pro-preview",
  stream: true
});

for await (const part of response) {
  if (part?.text) {
    displayText(part.text);
  }
}

🎯 實際測試範例

測試 Pitch Coach

  1. 訪問: http://localhost:3001
  2. 滾動到 "AI Pitch Coach" 區塊
  3. 輸入測試文字:
    我們要推廣隔代共學,讓長者和孩子一起學習。
    解決工作父母托育問題,也讓長者有歸屬感。
    
  4. 選擇語言: 中文 (30秒)
  5. 點擊: 「🤖 生成簡報稿」
  6. 首次授權: 允許 Puter.js
  7. 查看結果: Gemini 3 Pro 生成的專業簡報

預期輸出

【30 秒簡報稿】

各位評審好,我們的專案「隔代共學 AI 媒合系統」
解決了三個核心問題:

第一,工作中的父母需要可靠的托育,
我們透過 AI 媒合長者志工,在赤土崎館提供安全的照顧環境。

第二,退休長者渴望社會參與和歸屬感,
我們讓他們成為孩子的「智慧導師」,而非工具人。

第三,市府社福人力有限,
我們的 AI 自動媒合與場地安排,大幅減輕行政負擔。

這不只是托育服務,更是世代共榮的社區創新。謝謝!

📈 效能與成本

回應時間

  • Gemini 3 Pro: 2-5 秒(取決於提示詞長度)
  • 網路延遲: < 1 秒
  • 總計: 3-6 秒獲得完整回應

成本分析

開發者成本: 💰 0 元

  • ✅ 無 API 金鑰費用
  • ✅ 無使用量限制
  • ✅ 無月費或年費

使用者成本: 💰 極低

  • 由 Puter 計費
  • 按實際使用計費
  • 通常每次生成 < $0.01

🚀 總結

AI.md 的實現狀態

功能 AI.md 描述 我們的實現 狀態
Puter.js 載入 <script src="https://js.puter.com/v2/"></script> ✅ 已實現 完成
Gemini 3 Pro puter.ai.chat(prompt, { model: 'gemini-3-pro-preview' }) ✅ 已實現 完成
錯誤處理 未提及 ✅ 完整實現 超越
中文支援 未提及 ✅ 完整支援 超越
使用者授權 提及但未詳細 ✅ 流暢體驗 完成

核心優勢

  1. 零成本 - 開發者完全免費
  2. 易整合 - 一行腳本標籤
  3. 強大 AI - Gemini 3 Pro 最先進模型
  4. 已測試 - Playwright 自動化測試通過
  5. 已部署 - 代碼推送到 GitHub

🎓 學習資源

  • 官方文檔: https://puter.com
  • AI.md 原文: 專案根目錄的 AI.md
  • 範例程式碼: frontend/main.js, frontend/admin.js
  • 測試腳本: e2e/*.spec.ts

AI.md 的所有功能已經在我們的專案中完整實現並測試通過! 🎉

部署後,使用者即可立即使用 Gemini 3 Pro 的強大 AI 功能!