{"id":47701084,"url":"https://github.com/max32002/blog-pro-max","last_synced_at":"2026-04-06T22:01:06.266Z","repository":{"id":348993036,"uuid":"1197162076","full_name":"max32002/blog-pro-max","owner":"max32002","description":"自動化 SEO 內容創作與部落格文章生成工具。","archived":false,"fork":false,"pushed_at":"2026-04-02T10:08:22.000Z","size":382,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-03T20:02:35.590Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/max32002.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":"AUDIT_RESULTS.md","citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-31T11:28:02.000Z","updated_at":"2026-04-02T10:08:01.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/max32002/blog-pro-max","commit_stats":null,"previous_names":["max32002/blog-pro-max"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/max32002/blog-pro-max","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/max32002%2Fblog-pro-max","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/max32002%2Fblog-pro-max/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/max32002%2Fblog-pro-max/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/max32002%2Fblog-pro-max/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/max32002","download_url":"https://codeload.github.com/max32002/blog-pro-max/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/max32002%2Fblog-pro-max/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31411649,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T19:29:44.979Z","status":"ssl_error","status_checked_at":"2026-04-04T19:29:11.535Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-02T17:12:00.914Z","updated_at":"2026-04-04T20:01:17.485Z","avatar_url":"https://github.com/max32002.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# blog-pro-max\n\n自動化 SEO 內容創作與部落格文章生成工具。支援一鍵將寫作 Skill 注入到 18 種 AI 編輯器與 Assistant。\n\n## 功能亮點\n\n- **AI 驅動寫作**：根據關鍵字自動進行內容研究並生成 SEO 最佳化的部落格文章。\n- **流式 AI 生成**：透過 `quick_generate.py` 支援實時文字輸出，無需等待完整內容生成即可開始閱讀。\n- **多 LLM 支援**：Script Mode 支援 OpenAI GPT 與 GitHub Models；快速生成模式額外支援 Google Gemini 與 Azure OpenAI。\n- **品牌風格一致性**：自動套用品牌寫作風格規範（`writing-style.md`）。\n- **內建風格檢查器**：自動驗證產出內容是否符合排版與語氣規範。\n- **多樣化模板**：支援多種寫作風格（SEO 專業 / Max 個人風格 / FB 貼文 / LINE 訊息）。\n- **三維度審稿專家**：邏輯與事實、深度與結構、讀者視角三位專家審查，附問題點與修改前後對比。\n- **時事趨勢專家**：透過 DuckDuckGo 搜尋當前時事後注入 LLM，分析文章與真實趨勢的關聯，提供切入角度、高流量關鍵字/Hashtag、內容改寫示範（需安裝 `ddgs`，詳見 [FAQ](docs/faq.md)）。\n- **標題專家**：產出 4 個風格不同的標題建議（含英文 WordPress permalink），附加到輸出檔案供人工選擇。\n- **封面提示詞專家**：產出 3 組 AI 繪圖提示詞（Midjourney / DALL-E / Stable Diffusion），附加到輸出檔案。\n- **插話專家**：針對每個段落提供一個具體舉例說明，幫助讀者更容易理解核心概念。\n- **插畫專家**：針對每個段落產出 3 組風格（寫實攝影、插畫、極簡圖示）的 AI 圖片提示詞，作為段落示意圖。\n- **唱反調專家**：針對每個段落提出反駁觀點與建議回應，幫助作者預先化解讀者質疑、強化說服力。\n- **發散專家**：針對每個段落運用想像力與獨創力，從一個概念延伸到相關話題與跨領域聯想，發現更多寫作方向。\n- **問題專家**：針對每個段落提出 3-5 個讀者可能浮現的疑問，幫助作者發現論述缺口，也可作為 FAQ 靈感。\n- **迷因專家**：針對每個段落提出迷因、梗圖與幽默元素關鍵字，讓嚴肅內容更輕鬆有趣、容易分享。\n- **AI Skill 注入**：一鍵將 Prompt 與工具鏈注入到 Claude Code, Cursor, GitHub Copilot 等 18 種平台。\n- **自動格式轉換**：內建 Markdown 轉 HTML 引擎，支援代碼高亮與 SEO 優化排版；文章（`keyword.md`）與分析（`keyword_analysis.md`）自動合併為單一 `.html`，一頁閱讀全部內容。\n- **會話管理**：透過 `quick_generate.py` 自動保存生成記錄與元數據，支援隨時恢復編輯。\n\n---\n\n## 快速開始（5 分鐘上手）\n\nYouTube 教學: https://youtu.be/nLnFU_Bk93s\n\n### Step 1：安裝\n\n**從 PyPI 安裝（推薦使用者）**\n\n```bash\npip install blog-pro-max\n\n# 選用：啟用時事趨勢分析的 Web Search 功能（DuckDuckGo，免費）\npip install \"blog-pro-max[web]\"\n# 或直接：pip install ddgs\n```\n\n安裝後您將獲得 `blogpro` 全域指令。\n\n**從 GitHub 安裝（開發者）**\n\n```bash\ngit clone https://github.com/max32002/blog-pro-max.git\ncd blog-pro-max\npip install -e .\n```\n\n### Step 2：設定 API 金鑰（僅 Script Mode 需要）\n\n\u003e **💡 如果你只使用 Skill Mode（透過 AI Assistant 生成文章），可跳過此步驟。**\n\u003e AI Assistant 使用自己內建的 LLM 能力，不需要額外的 API 金鑰。\n\u003e\n\u003e 只有在直接執行 Python 腳本（Script Mode）時，才需要設定 API 金鑰。\n\n在您的工作目錄建立 `.env` 檔案：\n\n```bash\n# 推薦：GitHub PAT（免費，不需 OpenAI 帳號）\nGITHUB_TOKEN=ghp_your-token-here\n\n# 或：OpenAI API Key\nOPENAI_API_KEY=sk-your-key-here\n```\n\n### Step 3：注入 Skill 到您的 AI Assistant\n\n```bash\nblogpro init --ai claude      # 針對 Claude Code\nblogpro init --ai copilot     # 針對 GitHub Copilot\nblogpro init --ai cursor      # 針對 Cursor\nblogpro init --ai all         # 注入到所有支援的平台\n```\n\n### Step 4：開始創作\n\n在已注入 Skill 的 AI Assistant 中直接輸入：\n\n```\n/blog-pro-max 寫一篇[AI 寫作工具]文章,受眾[內容行銷人員],以專業SEO風格\n```\n\n---\n\n## AI Assistant 整合支援\n\n`blog-pro-max` 支援將寫作能力無縫整合進 **18 個** AI 助手平台：\n\n| 分類 | 平台 | `--ai` 參數 |\n|------|------|-------------|\n| **專業開發工具** | Claude Code | `claude` |\n| | Cursor | `cursor` |\n| | Windsurf | `windsurf` |\n| | Trae | `trae` |\n| | Roo Code | `roocode` |\n| **擴充套件** | GitHub Copilot | `copilot` |\n| | Continue | `continue` |\n| | CodeBuddy | `codebuddy` |\n| | OpenCode | `opencode` |\n| | Augment | `augment` |\n| **終端機 / CLI** | Gemini CLI | `gemini` |\n| | Codex CLI | `codex` |\n| | Warp | `warp` |\n| **新興 Agent** | Antigravity | `antigravity` |\n| | Kiro | `kiro` |\n| | Qoder | `qoder` |\n| | Droid (Factory) | `droid` |\n| | KiloCode | `kilocode` |\n\n### 全域安裝（適用於電腦上所有專案）\n\n```bash\nblogpro init --ai all --global\n```\n\n---\n\n## 使用方式\n\n\u003e **API 金鑰需求一覽：**\n\u003e\n\u003e | 模式 | 需要 API 金鑰？ | 說明 |\n\u003e |------|----------------|------|\n\u003e | Skill Mode | ❌ 不需要 | AI Assistant 用自己的 LLM 生成 |\n\u003e | Workflow Mode | ❌ 不需要 | 同上 |\n\u003e | Script Mode | ✅ 需要 | Python 腳本直接呼叫 OpenAI / GitHub Models |\n\u003e | 快速生成模式 | ✅ 需要 | 支援 Gemini / OpenAI / Azure OpenAI |\n\n### Skill Mode（自動啟動）\n\n**支援平台：** Claude Code, Cursor, Windsurf, Antigravity, Codex CLI, Continue, Gemini CLI, OpenCode, Qoder, CodeBuddy, Droid (Factory), KiloCode, Warp, Augment\n\n\u003e 💡 **CLI 用戶建議：啟用 YOLO Mode**\n\u003e \n\u003e 使用終端機 CLI（如 Gemini CLI、Codex CLI）時，AI 在執行每個步驟前都可能停下來請求確認，這會打斷寫作流程。建議啟動時加上 **YOLO（自動確認）** 參數，讓 AI 不中斷地完成整個生成流程：\n\u003e \n\u003e ```bash\n\u003e # Gemini CLI：加上 -y 進入 YOLO mode\n\u003e gemini -y\n\u003e \n\u003e # Codex CLI：加上 --full-auto 進入自動模式\n\u003e codex --full-auto\n\u003e ```\n\u003e \n\u003e 啟用後，AI 將自動完成所有步驟（搜尋、生成、存檔），無需逐步確認。\n\n安裝 Skill 後，AI Assistant 會**自動讀取** SKILL.md，您只需用自然語言下達指令：\n\n```\n幫我寫一篇關於「遠端工作生產力」的 SEO 文章，目標讀者是科技業上班族\n```\n\n或是先貼上參考資料，再要求 AI 根據這些資料生成文章：\n\n```\n以下是我收集的資料：\n[貼上你的資料]\n\n請根據以上資料，用標準模板寫一篇文章，受眾是一般讀者。\n```\n\n```\n用 Max 的風格寫一篇「失去才懂珍惜」的心情筆記\n```\n\n```\n幫我寫一篇「時間管理」的 Facebook 貼文，受眾是上班族\n```\n\n```\n用 LINE 訊息風格分享一篇「讀書心得」，讓朋友看得輕鬆\n```\n\n```\n檢查 output/my-article.md 的寫作風格\n```\n\n#### Skill Mode 輸出行為\n\n依 AI 平台能力分兩種模式：\n\n| AI 類型 | 範例平台 | 輸出方式 |\n|---------|----------|----------|\n| **可執行腳本** | Claude Code, Cursor, Windsurf | 執行 Python 腳本，自動產出 `.md` + `_analysis.md` + `.html` 檔案 |\n| **純 LLM 生成** | Gemini CLI, 一般聊天模式 | 直接生成，自動執行全部分析並存檔 |\n\n\u003e 💾 **如果 AI 沒有自動觸發存檔，請手動輸入：**\n\u003e ```\n\u003e save article and analysis\n\u003e ```\n\u003e AI 會將文章存成 `output/關鍵字.md`、分析存成 `output/關鍵字_analysis.md`，並合併輸出 `output/關鍵字.html`。\n\n文章生成後，所有 12 項分析**一次自動執行完畢**，分別儲存為：\n\n- `output/關鍵字.md` — 文章本文（乾淨，僅文章）\n- `output/關鍵字_analysis.md` — 所有分析報告（合併為一份）：\n  - `## 🔬 邏輯與事實專家審查報告`\n  - `## 📐 深度與結構專家審查報告`\n  - `## 👁️ 讀者視角專家審查報告`\n  - `## 📰 時事趨勢分析報告`\n  - `## 📝 推薦標題選項`（4 個標題 + WordPress permalink）\n  - `## 🎨 推薦封面提示詞`（3 組 AI 繪圖 prompt）\n  - `## 🌀 發散專家建議`\n  - `## ❓ 問題專家建議`\n  - `## 😂 迷因專家建議`\n  - `## 💬 插話專家建議`\n  - `## 🖼️ 插畫專家建議`\n  - `## 🔴 唱反調專家報告`\n- `output/關鍵字.html` — 合併 `.md` + `_analysis.md`，一頁瀏覽全部內容\n\n### Workflow Mode（斜線命令）\n\n**支援平台：** Kiro, GitHub Copilot, Roo Code, KiloCode\n\n使用斜線命令精確控制生成參數：\n\n```\n/blog-pro-max 寫一篇[遠端工作生產力]文章,受眾[科技業上班族],以專業SEO風格\n```\n\n```\n/blog-pro-max 寫一篇[失去才懂珍惜]文章,受眾[一般讀者],以作家Max風格\n```\n\n```\n/blog-pro-max 寫一篇[時間管理心得]文章,受眾[上班族],以FB風格\n```\n\n```\n/blog-pro-max 寫一篇[讀書心得分享]文章,受眾[大學生],以LINE風格\n```\n\n```\n/blog-pro-max 寫一篇[Python 入門指南]文章,受眾[程式初學者],字數[2000]\n```\n\n#### 斜線命令解析規則\n\n| 語法 | 對應參數 | 範例 |\n|------|----------|------|\n| `[關鍵字]`（第一個方括號） | `--keyword` | `[遠端工作生產力]` |\n| `受眾[值]` | `--audience` | `受眾[科技業上班族]` |\n| `字數[N]` | `--word-count` | `字數[2000]` |\n| `作家Max風格` / `心情筆記` | `--template max-personal-style` | |\n| `SEO風格` / `專業風格` / `部落格風格` | `--template blog-skill-content` | |\n| `FB風格` / `Facebook風格` / `臉書風格` | `--template fb-post-style` | |\n| `LINE風格` / `LINE訊息` / `賴風格` | `--template line-message-style` | |\n| `幫我取標題 \u003c路徑\u003e` | 呼叫標題專家 | `幫我取標題 output/article.md` |\n| `幫我生成封面 \u003c路徑\u003e` | 呼叫封面提示詞專家 | `幫我生成封面 output/article.md` |\n| `全科檢查 \u003c路徑\u003e` | 三位專家全面審查 | `全科檢查 output/article.md` |\n| `檢查邏輯 \u003c路徑\u003e` | 邏輯與事實專家 | `檢查邏輯 output/article.md` |\n| `檢查結構 \u003c路徑\u003e` | 深度與結構專家 | `檢查結構 output/article.md` |\n| `檢查讀者 \u003c路徑\u003e` | 讀者視角專家 | `檢查讀者 output/article.md` |\n| `分析趨勢 \u003c路徑\u003e` | 時事趨勢專家 | `分析趨勢 output/article.md` |\n| `插話建議 \u003c路徑\u003e` | 插話專家：每段落舉例說明 | `插話建議 output/article.md` |\n| `段落插畫 \u003c路徑\u003e` | 插畫專家：每段落 3 組 AI 圖片提示詞 | `段落插畫 output/article.md` |\n| `唱反調 \u003c路徑\u003e` | 唱反調專家：每段落反駁觀點 | `唱反調 output/article.md` |\n| `發散思考 \u003c路徑\u003e` | 發散專家：每段落延伸相關話題與聯想 | `發散思考 output/article.md` |\n| `提出問題 \u003c路徑\u003e` | 問題專家：每段落提出 3-5 個相關問題 | `提出問題 output/article.md` |\n| `迷因建議 \u003c路徑\u003e` | 迷因專家：每段落提出迷因/幽默關鍵字 | `迷因建議 output/article.md` |\n| `檢查風格 \u003c路徑\u003e` | 執行 style_checker | `檢查風格 output/article.md` |\n| `列出模板` | 列出可用模板 | |\n| `專案狀態` | 顯示專案狀態報告 | |\n\n### Script Mode（直接執行）\n\n不透過 AI Assistant，直接在終端機執行：\n\n```bash\n# 生成文章（自動產出 keyword.md + keyword_analysis.md + keyword.html）\npython -m blog_pro_max.content_research --keyword \"Python 基礎教學\" --template blog-skill-content\n\n# 關鍵字太長？從檔案讀取（兩種方式皆可）\npython -m blog_pro_max.content_research --keyword @topic.txt\npython -m blog_pro_max.content_research --keyword-file topic.txt\n\n# 只看 prompt（不呼叫 API）\npython -m blog_pro_max.content_research --keyword \"Python 基礎教學\" --dry-run\n\n# 檢查現有 Markdown 檔案風格\npython -m blog_pro_max.content_research --keyword \"Python\" --check-only output/my-article.md\n\n# 手動合併文章與分析為 HTML\npython -m blog_pro_max.output_md2html output/my-article.md output/my-article.html --analysis output/my-article_analysis.md\n```\n\n### 快速生成模式（個人版）\n\n使用 `quick_generate.py` 入口點，適合追求效率的單人使用場景，支援流式輸出與會話管理。\n\n```bash\n# 快速生成\npython quick_generate.py \"寫一篇 AI 的文章\"\n\n# 自訂模型與參數\npython quick_generate.py \"文章主題\" --model gpt-4 --temperature 0.9\n\n# 恢復上次的會話\npython quick_generate.py --resume last\n```\n\n`quick_generate.py` 支援的 LLM 提供者：\n\n| 環境變數 | 提供者 | 說明 |\n|----------|--------|------|\n| `GOOGLE_API_KEY` | Google Gemini | 透過 OpenAI 相容介面呼叫 |\n| `OPENAI_API_KEY` | OpenAI GPT | 直接呼叫 OpenAI API |\n| `AZURE_OPENAI_API_KEY` | Azure OpenAI | 需額外設定 `AZURE_ENDPOINT` |\n| `GITHUB_TOKEN` | GitHub Models | 免費，不需 OpenAI 帳號 |\n\n---\n\n## CLI 指令參考\n\n### 初始化與管理\n- `blogpro init`: 偵測環境並注入 Skill 檔案。\n- `blogpro uninstall`: 移除已注入的 Skill。\n- `blogpro versions`: 檢查版本與已安裝的平台狀態。\n- `blogpro update`: 同步更新所有平台的 Skill 檔案至最新版。\n\n### Skill 對話中的斜線命令\n\n在 AI 助理對話框中（啟用 SKILL.md 後）可使用以下命令：\n\n| 命令 | 說明 |\n|------|------|\n| `/blog [關鍵字]` | 以預設模板生成文章 |\n| `/blog [關鍵字] --template [模板名]` | 指定模板 |\n| `/blog [關鍵字] --audience [受眾]` | 指定目標受眾 |\n| `/blog [關鍵字] --language [語言]` | 指定輸出語言（如 `en`、`ja`，預設：繁體中文） |\n| `/blog --list-templates` | 列出所有可用模板 |\n| `/blog --status` | 顯示目前設定狀態（模板、路徑等） |\n\n---\n\n## 生成 Pipeline\n\n文章生成時會自動執行完整 pipeline，一次輸出**三個檔案**：\n\n```\n文章生成 → 風格檢查 → 全部分析同時執行（三維度審稿/時事趨勢/標題/封面/發散/問題/迷因/插話/插畫/唱反調）\n    ↓                       ↓\noutput/關鍵字.md        output/關鍵字_analysis.md\n（僅文章本文）           （所有分析報告，合併為一份）\n    └──────────────────────┘\n                ↓\n        output/關鍵字.html\n    （文章＋分析合併，一頁完整閱讀）\n```\n\n每個分析步驟的失敗不會阻擋後續步驟。`_analysis.md` 包含：\n- 三維度審稿報告（含問題點、修改建議、修改前後對比）\n- 時事趨勢報告（趨勢關聯、切入角度、關鍵字/Hashtag、改寫示範）\n- 推薦標題選項（含英文 WordPress permalink）\n- 推薦封面 AI 繪圖提示詞\n- 發散專家建議（每段落延伸方向與後續文章題目）\n- 問題專家建議（每段落 3-5 個讀者疑問）\n- 迷因專家建議（每段落迷因/幽默關鍵字）\n- 插話專家建議（每段落具體舉例說明）\n- 插畫專家建議（每段落 3 組風格 AI 圖片提示詞）\n- 唱反調專家報告（每段落反駁觀點與建議回應）\n\n### 內部角色\n\n| 角色 | 說明 |\n|------|------|\n| **🔬 邏輯與事實專家** | 數據正確性、邏輯一致性、錯別字、AI 幻覺偵測 |\n| **📐 深度與結構專家** | 遺漏面向、段落轉折、論述深度、結構平衡 |\n| **👁️ 讀者視角專家** | 口吻適配、易讀性、注意力留存、情感共鳴 |\n| **📰 時事趨勢專家** | 趨勢關聯分析、切入角度、關鍵字/Hashtag、改寫示範 |\n| **📝 部落格標題專家** | 產出 4 個風格標題（直述、提問、數字、情感）+ 英文 permalink slug |\n| **🎨 封面提示詞專家** | 產出 3 組 AI 繪圖 prompt（寫實攝影、插畫、極簡設計） |\n| **🌀 發散專家** | 針對每個 H2 段落延伸相關話題、跨領域聯想，提供後續文章題目建議 |\n| **❓ 問題專家** | 針對每個 H2 段落提出 3-5 個讀者可能浮現的疑問 |\n| **😂 迷因專家** | 針對每個 H2 段落提出迷因/梗圖/幽默關鍵字，讓氣氛輕鬆 |\n| **💬 插話專家** | 針對每個 H2 段落提供一個具體舉例說明，建議插入位置 |\n| **🖼️ 插畫專家** | 針對每個 H2 段落產出 3 組風格（寫實攝影、插畫、極簡圖示）的 AI 圖片提示詞 |\n| **🔴 唱反調專家** | 針對每個 H2 段落提出反駁觀點、理由，並建議如何回應 |\n\n---\n\n## 參數說明\n\n| 參數 | 說明 | 預設值 |\n|---|---|---|\n| `--keyword` | 核心關鍵字，或 `@檔案路徑` 從檔案讀取 | — |\n| `--keyword-file` | 從指定檔案讀取關鍵字（替代 `--keyword`） | — |\n| `--audience` | 目標讀者（如：初學者、資深工程師） | 30-45 歲知識工作者 |\n| `--word-count` | 目標字數 | 1200 |\n| `--template` | 寫作風格模板 (`blog-skill-content` / `max-personal-style` / `fb-post-style` / `line-message-style`) | blog-skill-content |\n| `--check-only` | 僅對指定檔案執行風格檢查 | — |\n| `--dry-run` | 顯示 prompt 但不呼叫 API | — |\n| `--model` | OpenAI 模型名稱 | gpt-4o |\n| `--output` | 自訂輸出路徑 | `output/{keyword}.md` |\n\n\u003e **💡 提示**：`--keyword` 和 `--keyword-file` 二擇一，至少提供一個。當關鍵字很長（如完整的文章主題描述），建議寫入檔案後使用 `@` 語法讀取。\n\n---\n\n## 環境變數配置\n\n### Script Mode（`content_research.py` / `blog_generator.py`）\n\n| 變數名 | 說明 | 預設值 |\n|--------|------|--------|\n| `GITHUB_TOKEN` | GitHub PAT（免費，推薦） | — |\n| `OPENAI_API_KEY` | OpenAI API Key | — |\n\n### 快速生成模式（`quick_generate.py`）\n\n| 變數名 | 說明 | 預設值 |\n|--------|------|--------|\n| `LLM_MODEL` | 使用的模型名稱 | `gemini-pro` |\n| `LLM_TEMP` | 生成溫度 (0-1) | `0.7` |\n| `OUTPUT_DIR` | 文章輸出目錄 | `./articles` |\n| `SESSIONS_DIR` | 會話保存目錄 | `./.sessions` |\n| `GOOGLE_API_KEY` | Google Gemini API Key | — |\n| `OPENAI_API_KEY` | OpenAI API Key | — |\n| `AZURE_OPENAI_API_KEY` | Azure OpenAI API Key | — |\n| `AZURE_ENDPOINT` | Azure OpenAI Endpoint | — |\n\n---\n\n## 專案結構\n\n```\nblog-pro-max/\n├── quick_generate.py          # 個人快速入口（流式生成 + 會話管理）\n├── writing-style.md           # 品牌寫作風格規範\n├── pyproject.toml             # 套件配置與依賴\n├── blog_pro_max/              # 核心邏輯包\n│   ├── __init__.py\n│   ├── blogpro.py             # CLI 管理工具（init / uninstall / versions / update）\n│   ├── blog_generator.py      # 文章生成引擎（含 12 位專家）\n│   ├── content_research.py    # Script Mode 主程式進入點\n│   ├── core.py                # 模板管理與共用函式\n│   ├── style_checker.py       # 風格檢核器\n│   ├── output_md2html.py      # Markdown 轉 HTML 引擎\n│   ├── quick_stream.py        # 流式生成包裝（多 LLM 支援）\n│   ├── _resources.py          # 資源路徑管理\n│   ├── templates/             # 寫作風格模板\n│   │   ├── blog-skill-content.md\n│   │   ├── max-personal-style.md\n│   │   ├── fb-post-style.md\n│   │   └── line-message-style.md\n│   └── writing-style.md       # 套件內建風格規範副本\n├── articles/                  # 產出的文章目錄\n├── .sessions/                 # 會話歷史記錄\n└── docs/                      # 延伸文件\n    ├── architecture.md\n    ├── scripts-reference.md\n    ├── faq.md\n    ├── streaming-llm-guide.md\n    ├── expert-parallel-guide.md\n    └── blog-pro-max-new-features.md\n```\n\n---\n\n## 常見問題 (FAQ)\n\n- **需要 API 金鑰嗎？**\n  若使用 Skill Mode / Workflow Mode（透過 AI 助理對話），不需要金鑰；若使用 Script Mode 或 `quick_generate.py`，需要設定對應的 API 金鑰。\n\n- **支援哪些語言？**\n  預設為繁體中文，但支援所有 LLM 涵蓋的語言。可透過 `--language` 參數指定。\n\n- **如何更新到最新版本？**\n  執行 `pip install --upgrade blog-pro-max` 後，運行 `blogpro update` 即可刷新所有平台的 Skill 檔案。\n\n- **時事趨勢分析需要額外安裝嗎？**\n  是的，需執行 `pip install \"blog-pro-max[web]\"` 或 `pip install ddgs` 安裝 DuckDuckGo 搜尋套件。\n\n更多 FAQ 請參閱 [docs/faq.md](docs/faq.md)。\n\n---\n\n## 更新到最新版本\n\n### 方法一：從 PyPI 更新（pip 安裝用戶）\n\n```bash\n# 更新套件\npip install --upgrade blog-pro-max\n\n# 更新後，刷新所有已安裝平台的 Skill 檔案\nblogpro update\n```\n\n\u003e `blogpro update` 會自動掃描並重新安裝所有已安裝的平台（本地 + 全域），讓 AI 助手使用最新版的指令與功能。\n\n### 方法二：從 GitHub 更新（git clone 用戶）\n\n```bash\ncd blog-pro-max\ngit pull\npip install -e .\n\n# 同樣需要刷新 Skill\nblogpro update\n```\n\n### 確認當前版本\n\n```bash\nblogpro versions\n```\n\n輸出範例：\n\n```\n📦 blog-pro-max\n  目前版本：v1.0.42\n\n🔌 本地已安裝平台：\n  ✅ claude    v1.0.42  .claude/skills/blog-pro-max/\n  ✅ copilot   v1.0.42  .github/skills/blog-pro-max/\n```\n\n---\n\n## 授權與貢獻\n\n本專案採用 [MIT License](LICENSE) 授權。\n歡迎提交 Issue 或 Pull Request 參與貢獻！\n\n---\n\n## 📚 延伸文件\n\n| 文件 | 說明 |\n|------|------|\n| [docs/architecture.md](docs/architecture.md) | **系統架構說明**：模組職責分工、目錄結構、完整生成 Pipeline 流程圖、函式參考表，適合想深入了解工具內部運作的開發者閱讀 |\n| [docs/scripts-reference.md](docs/scripts-reference.md) | **腳本完整參考手冊**：所有函式簽名、參數說明、回傳格式範例、獨立使用情境與範例指令，以及 Skill Mode 斜線命令速查表 |\n| [docs/faq.md](docs/faq.md) | **常見問題 FAQ**：25+ 個 Q\u0026A，涵蓋安裝設定、API 金鑰選擇、Skill 注入、各專家功能說明、輸出格式、疑難排解等 |\n| [docs/streaming-llm-guide.md](docs/streaming-llm-guide.md) | **流式生成指南**：流式 LLM 呼叫的架構與使用方式 |\n| [docs/expert-parallel-guide.md](docs/expert-parallel-guide.md) | **專家並行指南**：如何平行執行多位專家以加速生成流程 |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmax32002%2Fblog-pro-max","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmax32002%2Fblog-pro-max","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmax32002%2Fblog-pro-max/lists"}