UNPKG

cw-ai-backlog

Version:

AI-powered tool to generate backlog items from meeting documents and output to Google Sheets

541 lines (411 loc) 14.8 kB
# AI Backlog Generator 使用指南 > 一個使用 AI 技術從會議文件自動生成 backlog 項目並直接寫入 Google Sheets 的 CLI 工具 ## 🚀 快速開始 ### 安裝 ```bash # 全域安裝(推薦) npm install -g cw-ai-backlog ``` #### 📦 Mac 使用者:如果沒有 Node.js 環境 如果您的電腦還沒有安裝 Node.js,請先按照以下步驟安裝: **第一步:安裝 NVM(Node 版本管理工具)** ```bash # 複製以下指令並在終端機執行 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash ``` **第二步:重新啟動終端機** - 關閉目前的終端機視窗 - 重新開啟終端機 **第三步:確認 NVM 安裝成功** ```bash # 執行以下指令,應該會顯示版本號 nvm --version ``` 如果顯示版本號(例如:0.39.0),表示安裝成功! **第四步:安裝 Node.js** ```bash # 安裝 Node.js 版本 20(推薦版本) nvm install 20 # 設定為預設版本 nvm use 20 ``` **第五步:確認安裝成功** ```bash # 檢查 Node.js 版本 node --version # 檢查 npm 版本 npm --version ``` 如果兩個指令都顯示版本號,表示環境準備完成! 現在您可以安裝 AI Backlog 工具了: ```bash npm install -g cw-ai-backlog ``` ### 🎯 互動式設定(推薦新使用者) ```bash # 執行互動式配置設定精靈 ai-backlog --setup ``` 這會引導您完成所有必要的設定: - ✅ OpenAI API Key 設定和驗證 - ✅ AI 模型選擇 - ✅ Google 憑證檔案路徑(可選) - ✅ Google Sheets URL(可選) - ✅ 進階選項(保留字、自訂 prompt 等) ### 📍 配置檔案管理 ```bash # 查看配置檔案位置和狀態 ai-backlog --show-config # 快速編輯全域配置檔案 ai-backlog --edit-config ``` **配置檔案查找順序:** 1. **當前目錄**`./ai_backlog.config.js` 2. **使用者家目錄**`~/.ai_backlog.config.js`**推薦** 3. **XDG 配置目錄**`~/.config/ai-backlog/config.js` ### 基本使用 ```bash # 解析本地檔案並寫入 Google Sheets ai-backlog ./meeting-notes.pdf # 解析公開 Google Docs ai-backlog "https://docs.google.com/document/d/your-doc-id/edit" # 使用自訂配置檔案 ai-backlog ./meeting.md -c ./project-config.js ``` ## ⚙️ 設定方式 ### 方法一:互動式設定(推薦) ```bash ai-backlog --setup ``` 這是最簡單的設定方式,會引導您完成所有配置。 ### 方法二:手動設定 **快速編輯配置檔案:** ```bash # 自動在編輯器中開啟全域配置檔案 ai-backlog --edit-config ``` **手動編輯配置檔案:** ```bash # macOS/Linux nano ~/.ai_backlog.config.js # 或使用 VS Code code ~/.ai_backlog.config.js ``` ### 方法三:環境變數 ```bash # 設定環境變數(適用於基本使用) export OPENAI_API_KEY="your-openai-api-key" # 加入 shell 配置檔案以持久化 echo 'export OPENAI_API_KEY="your-openai-api-key"' >> ~/.zshrc ``` ## 📋 配置檔案格式 完整的配置檔案範例: ```javascript module.exports = { // OpenAI API Key (必填) apiKey: 'your-openai-api-key', // 使用的模型 model: 'gpt-4o', // 或 'gpt-4-turbo', 'gpt-3.5-turbo' // Google API 憑證檔案路徑(寫入 Sheets 必填) googleCredentials: './path/to/credentials.json', // Google Sheets URL(寫入 Sheets 必填) googleSheetUrl: 'https://docs.google.com/spreadsheets/d/your-sheet-id/edit', // 保留字 - 在分析時需要特別注意的詞彙 keepPhrases: [ '使用者體驗', '效能優化', '安全性' ], // 自訂 prompt 指示 customPrompt: [ '只分析紫色標記的內容', '專注於特定標題以下的內容', '忽略草稿或註解部分' ], // AI 參數設定 maxTokens: 4000, temperature: 0.1 }; ``` ## 🔧 Google 服務設定 ### 🌟 建立 Google Cloud Service Account(詳細教學) 如果您是第一次使用 Google Cloud 服務,請按照以下步驟建立 Service Account: #### 第一步:建立 Google Cloud 專案 1. **前往 Google Cloud Console** - 開啟瀏覽器,前往 [https://console.cloud.google.com/](https://console.cloud.google.com/) - 使用您的 Google 帳號登入 2. **建立新專案** - 點擊頂部的「選取專案」下拉選單 - 點擊「新增專案」 - 輸入專案名稱(例如:`ai-backlog-tool` - 點擊「建立」 3. **確認專案已選取** - 等待專案建立完成(約 30 秒) - 確認頂部顯示您剛建立的專案名稱 #### 第二步:啟用必要的 API 1. **啟用 Google Sheets API** - 在左側選單中點擊「API 和服務」> 「程式庫」 - 搜尋「Google Sheets API」 - 點擊進入後,點擊「啟用」 2. **啟用 Google Drive API** - 同樣在「程式庫」中搜尋「Google Drive API」 - 點擊進入後,點擊「啟用」 3. **啟用 Google Docs API**(如需解析私人 Google Docs) - 搜尋「Google Docs API」 - 點擊進入後,點擊「啟用」 #### 第三步:建立 Service Account 1. **前往憑證頁面** - 在左側選單點擊「API 和服務」> 「憑證」 2. **建立 Service Account** - 點擊頂部的「+ 建立憑證」 - 選擇「服務帳戶」 3. **填寫 Service Account 詳細資訊** - **服務帳戶名稱**`ai-backlog-service` - **服務帳戶 ID**:會自動產生,如 `ai-backlog-service@your-project.iam.gserviceaccount.com` - **服務帳戶說明**`用於 AI Backlog 工具存取 Google Sheets` - 點擊「建立並繼續」 4. **設定權限**(可選) - 這個步驟可以跳過,直接點擊「完成」 #### 第四步:下載憑證檔案 1. **找到剛建立的 Service Account** - 在憑證頁面的「服務帳戶」區段中找到您剛建立的帳戶 2. **建立金鑰** - 點擊 Service Account 的 email 地址 - 切換到「金鑰」分頁 - 點擊「新增金鑰」> 「建立新的金鑰」 - 選擇「JSON」格式 - 點擊「建立」 3. **儲存憑證檔案** - 檔案會自動下載到您的電腦 - 檔案名稱類似:`your-project-abc123.json` - **重要**:將此檔案放在安全的位置,不要分享給他人 #### 第五步:記錄 Service Account Email **複製 Service Account 的 Email 地址**(稍後設定 Google Sheets 時需要): ``` ai-backlog-service@your-project.iam.gserviceaccount.com ``` ### Google Sheets 輸出設定 #### 完成上述 Service Account 設定後,接續以下步驟: **第六步:建立 Google Sheets** 1. 前往 [Google Sheets](https://sheets.google.com/) 2. 點擊「空白」建立新的試算表 3. 為試算表命名(例如:`AI Backlog 匯出`4. 複製瀏覽器網址列中的 URL **第七步:共享 Google Sheets 給 Service Account** 1. 在 Google Sheets 中點擊右上角的「共用」按鈕 2. 在「新增使用者和群組」欄位中,貼上您的 Service Account Email: ``` ai-backlog-service@your-project.iam.gserviceaccount.com ``` 3. 將權限設定為「編輯者」 4. **取消勾選**「通知使用者」(因為這是機器帳戶) 5. 點擊「共用」 **第八步:設定工具配置** 在您的配置檔案中加入: ```javascript module.exports = { // 其他設定... googleCredentials: './path/to/your-service-account-key.json', googleSheetUrl: 'https://docs.google.com/spreadsheets/d/your-sheet-id/edit' }; ``` **完成!** 現在您的工具可以自動將 backlog 寫入 Google Sheets 了。 #### 📋 設定檢查清單 - ✅ Google Cloud 專案已建立 - ✅ Google Sheets/Drive/Docs API 已啟用 - ✅ Service Account 已建立 - ✅ JSON 憑證檔案已下載並妥善保存 - ✅ Google Sheets 已建立並共享給 Service Account - ✅ 配置檔案已更新 ### Google Docs 解析設定 **公開文件**:無需設定,確保文件為「知道連結的使用者可以檢視」 **私人文件**:使用與 Google Sheets 相同的服務帳戶憑證 ## 💡 使用情境 ### 情境一:僅使用本地檔案 ```bash # 最簡設定,只需要 OpenAI API Key ai-backlog meeting.pdf # 輸出:顯示錯誤訊息,因為沒有設定 Google Sheets ``` ### 情境二:完整功能使用 ```bash # 需要完整設定(API Key + Google 憑證 + Sheets URL) ai-backlog --setup # 一次設定完成 ai-backlog meeting.pdf # 直接輸出到 Google Sheets ``` ### 情境三:公開 Google Docs ```bash # 需要 OpenAI API Key + Google Sheets 設定 ai-backlog "https://docs.google.com/document/d/public-doc-id/edit" ``` ## 📋 指令參數 ```bash ai-backlog [檔案路徑或URL] [選項] ``` | 參數 | 說明 | 範例 | |------|------|------| | `[input]` | 檔案路徑或 Google Docs URL | `meeting.pdf`, `"https://docs.google.com/..."` | | `--setup` | 執行互動式配置設定 | `ai-backlog --setup` | | `--show-config` | 顯示配置檔案位置 | `ai-backlog --show-config` | | `--edit-config` | 編輯全域配置檔案 | `ai-backlog --edit-config` | | `-c, --config <path>` | 自訂配置檔案路徑 | `ai-backlog input.pdf -c ./config.js` | | `-V, --version` | 顯示版本號 | `ai-backlog --version` | | `-h, --help` | 顯示幫助資訊 | `ai-backlog --help` | ## 📁 支援的檔案格式 | 格式 | 副檔名 | 說明 | |------|--------|------| | PDF | `.pdf` | 自動提取文字內容 | | Word | `.docx` | 支援現代 Word 格式 | | 純文字 | `.txt`, `.md` | 直接讀取內容 | | Google Docs | URL | 透過連結存取 | ## 📊 輸出格式 工具會在指定的 Google Sheets 中建立新的工作表,包含以下欄位: | 欄位 | 說明 | 來源 | |------|------|------| | **Area** | 功能領域 | **使用者填寫** | | **Iteration** | 迭代週期 | **使用者填寫** | | **BacklogLink** | Backlog 連結 | **使用者填寫** | | Title | backlog 項目標題 | AI 生成 | | Type | 類型(frontend/backend/fullstack) | AI 生成 | | Description | 詳細描述 | AI 生成 | | Acceptance Criteria | 驗收條件 | AI 生成 | | **AssignedTo** | 指派對象 | **使用者填寫** | | Effort | 工作量估算(費波那契數列) | AI 生成 | | Effort Analysis | 工作量分析說明 | AI 生成 | | Source Text | 對應的原文片段 | AI 生成 | | **MoSCoW** | 優先級(Must/Should/Could/Won't) | **使用者填寫** | ### 範例 JSON 格式(供參考) ```json [ { "title": "建立使用者登入功能", "type": "frontend", "description": "開發使用者登入頁面,包含帳號密碼欄位、驗證機制和錯誤提示。", "acceptance_criteria": [ "使用者輸入錯誤帳號密碼時需顯示明確的錯誤訊息", "成功登入後自動導向到使用者的首頁", "支援記住我功能,7天內免重新登入" ], "effort": 5, "effort_analysis": "包含 UI 設計、表單驗證、錯誤處理和狀態管理,屬於中等複雜度的功能" } ] ``` ### 欄位說明 | 欄位 | 類型 | 說明 | |------|------|------| | `title` | String | Backlog 項目標題 | | `type` | String | 類型:`frontend``backend``fullstack` | | `description` | String | 功能詳細描述 | | `acceptance_criteria` | Array | 驗收條件列表 | | `effort` | Number | 工作量評估(費波那契數列:1,2,3,5,8,13,21) | | `effort_analysis` | String | 工作量評估說明 | ## 💡 使用範例 ### 工作流程整合 ```bash # 在 package.json 中設定 npm script { "scripts": { "generate-backlog": "ai-backlog ./docs/meeting-notes.md" } } # 執行 npm run generate-backlog ``` ### 初次使用流程 ```bash # 1. 安裝工具 npm install -g cw-ai-backlog # 2. 互動式設定 ai-backlog --setup # 3. 測試使用 ai-backlog ./test-meeting.pdf # 4. 查看結果 # 開啟 Google Sheets 查看生成的 backlog ``` ## 🛠️ 進階配置 ### 自訂 AI 分析指示 使用 `customPrompt` 可以為 AI 提供特定的分析指示: ```javascript customPrompt: [ '只分析紫色或醒目標記的內容', '專注於特定標題以下的內容', '忽略草稿、註解或待確認的部分', '僅針對已確認的需求項目生成 backlog', '優先分析新功能相關的討論' ] ``` **常見使用場景:** - 📝 **文件部分分析**:只分析特定顏色標記或特定章節 - 🎯 **需求篩選**:忽略草稿或未確認的內容 - 📋 **優先級控制**:專注於高優先級或緊急需求 - 🔍 **範圍限定**:只分析特定功能模組的討論 ### 自訂保留字 在配置檔案中加入特定領域的關鍵詞: ```javascript keepPhrases: [ // 技術相關 '微服務架構', 'RESTful API', 'GraphQL', 'Docker', 'Kubernetes', // 業務相關 '使用者體驗', '轉換率', 'A/B 測試', '數據分析', // 流程相關 'CI/CD', '版本控制', '程式碼審查', '自動化測試' ] ``` ### 調整 AI 參數 ```javascript module.exports = { // 選擇模型(影響成本和品質) model: 'gpt-4.1-nano', // 最新、最智慧 // model: 'gpt-4-turbo', // 平衡性能與成本 // model: 'gpt-3.5-turbo', // 最經濟 // 控制輸出長度 maxTokens: 4000, // 預設值,可調整 // 控制創意程度(0-1) temperature: 0.1 // 較低值 = 更一致的輸出 }; ``` ## 🚨 常見問題 ### Q: 顯示「請設定 OPENAI_API_KEY」錯誤 **A:** 確保已正確設定 OpenAI API Key: - 檢查環境變數:`echo $OPENAI_API_KEY` - 或在配置檔案中直接設定 `apiKey` ### Q: Google Docs 無法存取 **A:** 檢查以下事項: - 確認文件是公開的或已正確設定服務帳戶 - 檢查 Google Docs URL 格式是否正確 - 確認已啟用 Google Docs API(如使用服務帳戶) ### Q: 生成的 backlog 品質不佳 **A:** 嘗試以下調整: - 在配置中加入更多相關的 `keepPhrases` - 使用更詳細的會議記錄 - 調整 `temperature` 參數 - 升級到 `gpt-4.1-nano` 模型 ### Q: 解析 PDF 失敗 **A:** 確認 PDF 檔案: - 是文字型 PDF(非掃描影像) - 檔案沒有密碼保護 - 檔案沒有損壞 ## 📝 最佳實踐 1. **會議記錄品質**:提供詳細、結構化的會議記錄可獲得更好的結果 2. **保留字設定**:根據專案領域自訂保留字 3. **定期更新**:保持工具為最新版本以獲得改進功能 4. **成本控制**:使用適當的模型平衡品質與成本 ## 🔗 相關資源 - [OpenAI API 文件](https://platform.openai.com/docs) - [Google Docs API 文件](https://developers.google.com/docs/api) - [專案 GitHub 倉庫](https://github.com/your-username/ai-backlog) ## 📄 授權 MIT License --- 如有問題或建議,請在 GitHub Issues 中提出。