Skip to content

Latest commit

 

History

History
189 lines (140 loc) · 10.5 KB

File metadata and controls

189 lines (140 loc) · 10.5 KB

好的,這是一份根據我們所有討論的最終版本,結合了最佳實踐、使用者自帶 API Key 的本地端架構,可以直接交付給開發團隊的完整 PRD.md 文件。


您可以將以下所有內容直接複製並儲存為 PRD.md 檔案。

# PRD: Threads AI 智慧回覆助手

## 0. 文件資訊

| 項目 | 內容 |
| :--- | :--- |
| **產品名稱** | Threads AI 智慧回覆助手 |
| **文件版本** | 1.0 |
| **發布日期** | 2025年9月17日 |
| **狀態** | 定義完成 (Defined) |
| **作者** | Gemini |
| **目標發布**| v1.0 (MVP) |

### 0.1. 版本歷史

| 版本 | 日期 | 作者 | 主要變更 |
| :--- | :--- | :--- | :--- |
| 1.0 | 2025/09/17 | Gemini | 初始版本創建,定義 MVP 範疇,確立本地端、使用者自帶 API Key 的架構 |

---

## 1. 總覽 (Executive Summary)

「Threads AI 智慧回覆助手」是一款注重隱私、完全在使用者本地運行的 Chrome 擴充功能。它透過在 Threads 網頁中整合一個 AI 驅動的生成器,讓使用者能夠選擇不同風格,一鍵生成高品質的留言。本產品要求使用者提供自己的 Google Gemini API Key,確保所有數據(包含貼文內容與 API Key)僅在使用者瀏覽器與 Google 伺服器之間傳輸,開發者不經手任何資料。此工具旨在服務社群經理、內容創作者及重度使用者,解決回覆耗時、缺乏靈感及維持人設困難的痛點,同時提供最高等級的隱私保障。

---

## 2. 問題與機會 (The Problem & Opportunity)

### 2.1. 問題陳述

在快節奏的社群互動中,手動輸入每一則回覆不僅耗時,且容易變得重複和缺乏創意。對於需要維持特定品牌或個人形象的用戶而言,持續產出符合人設且有意義的回覆是一項巨大挑戰,這導致互動率下降並錯失與受眾建立連結的機會。

### 2.2. 目標使用者畫像 (User Personas)

**人物:** 小 K (社群小編)
- **背景:** 28 歲,為一家新創電商公司管理 Threads 官方帳號。
- **目標:** 提高品牌帳號的粉絲互動率與品牌親和力。
- **痛點:**
    - 每天需要回覆上百則粉絲留言,經常感到詞窮。
    - 老闆要求回覆風格要「活潑、有趣、跟上時事」,但想梗很花時間。
    - 常常在不同則貼文下留著相似的「謝謝支持❤️」留言,感覺很敷衍。
- **期望:** 「我希望能有一個工具,能幫我快速產生符合品牌調性的回覆草稿,而且我很在意公司帳號的安全性,工具不能把我的資料傳到奇怪的地方。」

---

## 3. 產品目標 (Goals & Objectives)

### 3.1. 產品願景
成為 Threads 平台上最受信任、以隱私為核心的 AI 互動增效工具。

### 3.2. V1.0 (MVP) 目標
| 目標類型 | 目標描述 | 衡量指標 (KPI) |
| :--- | :--- | :--- |
| **用戶採用 (Adoption)** | 驗證市場需求,吸引注重隱私的早期使用者。 | 上線後 3 個月內達到 10,000+ 安裝量。 |
| **核心功能參與 (Engagement)** | 確保核心功能對使用者有價值且易於設定。 | 成功設定 API Key 的用戶比例 > 80%;日活躍用戶 (DAU) 的平均每日回覆生成次數 > 5 次。 |
| **使用者滿意度 (Satisfaction)**| 提供穩定、透明且優質的使用體驗。 | Chrome 應用商店評分 > 4.7 星;30 天使用者留存率 > 40%。|

---

## 4. 功能範疇與優先級 (Scope & Prioritization - V1.0 MVP)

採用 MoSCoW 方法定義 MVP 範疇:

| 優先級 | 功能 |
| :--- | :--- |
| **Must-Have** | 1. **核心功能:**<br>   - 無縫整合的觸發按鈕<br>   - 預設 5-7 種核心回覆風格選擇<br>   - 上下文感知的 AI 回覆生成<br>   - 生成內容自動填入留言框<br>2. **API Key 管理:**<br>   - 獨立的設定頁面 (Options Page)<br>   - 用於輸入/更新 API Key 的介面<br>   - 使用 `chrome.storage.local` 安全儲存 Key<br>3. **使用者引導:**<br>   - 未設定 Key 時的首次使用引導<br>   - 提供如何獲取 Gemini API Key 的教學連結<br>4. **基礎建設:**<br>   - 清晰、透明的隱私權政策 |
| **Should-Have**| 1. 提供一個「複製」按鈕,讓使用者可以選擇不自動填入,而是複製到剪貼簿。<br>2. 對於生成的回覆,提供一個快速「重新生成」的按鈕。<br>3. 基礎的錯誤處理(如 API Key 無效、網路錯誤)。 |
| **Could-Have**| 1. 允許使用者調整生成回覆的長度(短、中、長)。<br>2. 插件彈出介面支援淺色/深色模式。 |
| **Won't-Have**| 1. 開發者後端伺服器。<br>2. 使用者帳號系統與雲端同步。<br>3. 任何形式的付費或訂閱功能。<br>4. 任何形式的開發者數據追蹤或分析。 |

---

## 5. 使用者故事與驗收條件 (User Stories & Acceptance Criteria)

### **Epic: 設定與管理**
**US-01: 設定個人 API Key**
> **身為** 一位注重隱私和成本控制的使用者,
> **我想要** 在插件設定中輸入並儲存我自己的 Gemini API Key,
> **以便** 確保所有資料都直接傳送給 Google,並且由我自己承擔 API 使用費用。

* **AC-1:** 插件提供一個可從瀏覽器工具列圖示訪問的設定頁面。
* **AC-2:** 設定頁面中有一個輸入框用於貼上 Gemini API Key,並有「儲存」按鈕。
* **AC-3:** API Key 被安全地儲存在瀏覽器的 `chrome.storage.local` 中。
* **AC-4:** 如果使用者未設定 API Key,首次使用生成功能時,會被引導至設定頁面。

### **Epic: 快速生成回覆**
**US-02: 觸發回覆生成**
> **身為** 一位社群小編,
> **我想要** 在每則 Threads 貼文旁看到一個清晰的「智慧回覆」按鈕,
> **以便** 我能快速啟動回覆生成功能。

* **AC-1:** 插件安裝後,在 `threads.net` 網站上,每則貼文下方工具列中,能看到一個新增的「✨」圖示按鈕。
* **AC-2:** 當頁面動態加載新貼文時,新貼文也應出現此按鈕。

**US-03: 選擇回覆風格並獲取回覆**
> **身為** 一位內容創作者,
> **我想要** 點擊按鈕後,能從一個風格選單中選擇我想要的回覆語氣(如幽默、專業),並獲取與貼文相關的回覆,
> **以便** 生成的內容符合我的人設且有意義。

* **AC-1:** 點擊「✨」按鈕後,會彈出一個包含至少 5 種預設風格的選單。
* **AC-2:** 選擇風格後,插件能正確讀取對應貼文的文本內容。
* **AC-3:** 生成的文字會自動填入下方的留言框內,從點擊風格到文字出現應在 3 秒內完成。

---

## 6. 使用者流程 (User Flow)

### 6.1. 首次設定流程
1.  使用者從 Chrome 線上應用程式商店安裝插件。
2.  使用者瀏覽 Threads.net,首次點擊貼文下方的「✨」圖示。
3.  插件檢測到無 API Key,彈出提示:「請先設定您的 Google Gemini API Key」,並提供「前往設定」按鈕。
4.  點擊按鈕後,開啟插件的設定頁面。
5.  設定頁面有清晰的輸入框,並附有「如何獲取 Gemini API Key?」的教學連結。
6.  使用者點擊連結,在新分頁打開 Google AI Studio 指引頁面,建立並複製 API Key。
7.  使用者回到設定頁面,貼上 Key 並點擊「儲存」。
8.  頁面顯示「儲存成功!」訊息。設定完成。

### 6.2. 日常使用流程
1.  使用者瀏覽 Threads.net,看到想回覆的貼文。
2.  點擊該貼文旁的「✨」圖示。
3.  從彈出的風格選單中選擇一種風格(例如:「幽默風趣」)。
4.  插件背景腳本讀取貼文內容與使用者儲存的 API Key。
5.  直接向 Google Gemini API 發送請求。
6.  約 1-3 秒後,生成的回覆文字自動填入留言框。
7.  使用者可直接發佈,或進行微調後再發佈。

---

## 7. 設計與非功能性需求 (Design & NFRs)

### 7.1. 設計與使用者體驗 (Design & UX)
- **圖示:** 插件圖示應簡潔、現代,能融入 Chrome 工具列和 Threads UI。
- **互動介面:** 風格選擇應為輕量級的彈出式視窗 (Popover),操作流暢,不干擾使用者。
- **設定頁面:** 應乾淨、專注,只包含必要元素:API Key 輸入、儲存按鈕、教學連結、隱私政策連結。

### 7.2. 非功能性需求 (Non-Functional Requirements)
| 類別 | 需求描述 |
| :--- | :--- |
| **效能** | 插件對瀏覽器資源的佔用需極小化,不得造成使用者瀏覽 Threads 時有任何可感知的卡頓。 |
| **安全性** | 使用者的 API Key **必須** 使用 `chrome.storage.local` 進行儲存,絕不能以明文形式儲存在前端腳本或 `localStorage` 中。所有與 Google API 的通訊必須使用 HTTPS。 |
| **隱私權** | **本插件完全在本地端運行,不設有任何開發者伺服器。** 插件只會讀取使用者意圖回覆的**單則公開貼文**內容,並使用使用者提供的 API Key 直接向 Google API 發送請求。**任何用戶數據(包括貼文內容、API Key)絕不會被發送或記錄到開發者的伺服器。** |
| **相容性**| 支援最新正式版的 Google Chrome 瀏覽器。需考慮 Threads 網頁改版可能導致的失效問題,並制定應對維護計畫。 |

---

## 8. 技術架構 (Technical Architecture)

### 8.1. 架構圖

[使用者瀏覽器] | +-- [Chrome 擴充功能 (Frontend: Svelte)] | +-- [設定頁面 (options.html)]: 儲存 API Key 至 chrome.storage | +-- [內容腳本 (content_script.js)]: 讀取貼文內容, 顯示 UI | +-- [背景腳本 (background.js / Service Worker)]: | +--> 1. 從 chrome.storage 讀取 API Key | +--> 2. 使用 fetch API 直接呼叫 Google API


### 8.2. 技術選型 (Tech Stack)
| 層級 | 建議技術 | 原因 |
| :--- | :--- | :--- |
| **前端** | Svelte + Vite + Tailwind CSS | 產生極小、高效能的 JS 程式碼,適合瀏覽器插件;開發體驗極佳,能快速建構客製化 UI。 |
| **核心邏輯**| Chrome Extension APIs (TypeScript) | 完全取代後端。使用 `chrome.storage.local` 安全儲存 Key,使用 `fetch` API 直接呼叫外部服務。TypeScript 提供型別安全,提高程式碼健壯性。 |
| **AI 模型**| Google AI Platform (Gemini API) | 使用者提供自己的 Key,直接呼叫 Google 官方 API 端點,如 `generativelanguage.googleapis.com`。 |

---

## 9. 待解決問題 (Open Questions)

-   V1.0 的 5-7 種預設風格具體要選哪些最能代表 Threads 的社群文化?(例如:附和贊同、幽默風趣、提出疑問、專業分析、暖心鼓勵...)
-   首次使用的 Onboarding 引導流程,用彈窗提示還是直接開啟設定頁面體驗更佳?
-   API Key 驗證失敗或額度用完時的錯誤提示,應該如何設計得更友善?