系統元件
Streamlit 管理工作台 → FastAPI 驗證與內容版本 → PostgreSQL 保存任務 → 派送器 → Redis/RQ → 平台適配器 → 官方 API。
媒資放物件儲存,原檔保留、衍生檔新增。Token 在後端加密管理,不傳給前端。平台回呼或輪詢更新結果。
整合九大社群入口、AI 圖文與網紅排行,從一則內容開始經營品牌。
官方 API 能力與本站已實作功能分開顯示;連線成功不代表所有發布權限已核准。
草稿 → 已確認 → 發送中 → 平台受理/處理或審核中 → 已發布。平台回傳貼文 ID 後仍須核對實際可見性;逾時或結果不明先查核,不自動重送。
本站既有文字/單圖流程保留;影片任務佇列與長時間狀態輪詢屬後續建置。每個平台各自回報,部分成功不重發成功的平台。
現有網站持續運作;以下是 Python MVP 的後續架構,不代表 FastAPI/Streamlit 已在本站啟動。
Streamlit 管理工作台 → FastAPI 驗證與內容版本 → PostgreSQL 保存任務 → 派送器 → Redis/RQ → 平台適配器 → 官方 API。
媒資放物件儲存,原檔保留、衍生檔新增。Token 在後端加密管理,不傳給前端。平台回呼或輪詢更新結果。
臺灣品牌圖文先行;Facebook 與 IG 共用部分 Meta 基礎設定,但發布權限各自確認。
{"schema_version":1,"post_id":"UUID","business_code":"17SB-SOC-YYYYMMDD-序號","revision":1,"kind":"image","title":"標題","text":"文案","body_html":null,"media_ids":["UUID"],"hashtags":[],"locale":"zh-TW","targets":[{"account_id":"UUID","format":"feed","scheduled_at":"UTC ISO8601","overrides":{"text":"平台專用文案"}}]}適配器契約:capabilities → validate → prepare → upload_media → publish → get_status。Token 更新由獨立 CredentialProvider 管理。
結果包含 status、remote_id、remote_operation_id、url、error_code、retryable、retry_after;受理與公開成功分開記錄。
| 表 | 欄位重點 |
|---|---|
| posts | workspace_id、17SB 編碼、revision、kind、title、text、body_html、metadata、status |
| media / post_media | object_key、SHA256、尺寸、時長、原檔關聯;post_media 保存順序與封面 |
| platform_accounts | platform、remote_account_id、scopes、capabilities、checked_at |
| publish_jobs | 內容版本快照、account_id、scheduled_at、attempt_count、鎖與 next_attempt_at |
| publish_results | 每次嘗試、平台 ID、審核/發布狀態、遮蔽後錯誤與回應 |
| tokens | 加密 access/refresh token、到期日、key_version、revoked_at |
任務唯一鍵為 post_id+revision+account_id+publication_no。429 遵照平台重置時間;發布逾時標記 unknown 並查證。排程存 UTC,介面使用 Asia/Taipei。上述表為遷移規劃,尚未替換本站現有資料。
1 寫內容 → 2 選平台與帳號 → 3 調整與預覽 → 4 一次確認發送
圖片預覽保留原比例。IG 需要公開 JPEG 圖片;X 目前只發文字。影片與 Reels 請由 AI 中心建立分鏡腳本。
每個平台可選一個已授權帳號;未串接或尚未支援發文的平台仍可保存草稿。
選平台、寫文案、保存草稿,確認預覽後發佈。
這裡是內容預覽。保存後可從下方紀錄產生正式確認預覽。
先收集候選帳號,再用有來源的粉絲數由高到低比較。
| 排名 | 候選人/帳號 | 平台 | 粉絲數 ↓ | 產業/地區 | 來源/觀察日期 |
|---|
一次準備品牌資料 → 官方建立帳號 → 保存開通進度 → 連接發文授權
從 Meta 基本資料頁複製 App Secret,直接貼在此處。透過本站 HTTPS 傳送,後端加密保存於你的帳號設定中。
保存成功後,本人的 Facebook/Instagram OAuth 使用此設定;其他使用者不共用這份密鑰。Threads 的 App ID/Secret 仍需另外配置。
先保存帳號資料;平台應用啟用後完成官方登入。系統自動驗證、加密保存授權與更新帳號清單。
等待清單在此頁開啟期間每 30 秒更新;可用時顯示登入按鈕,仍需本人完成 OAuth。關閉頁面不會在背景自動登入。
YouTube、LinkedIn、TikTok 目前僅支援帳號讀取;抖音與微信發布適配器尚待接入。啟用應用設定不代表通過平台審核。
登入平台、選擇帳號並確認授權。每個平台完成後,再連接下一個。
重新檢查只讀取帳號資料,不會發文。憑證需配置到正式環境;既有授權儲存金鑰不可更換。
每個平台的應用設定只需配置一次,之後由使用者登入平台完成授權。Meta App Secret 可由管理者本人在「Meta 密鑰設定」頁加密保存。
Meta 應用若仍在開發或權限審核中,可能只允許應用角色/測試帳號授權。請先在 Meta 確認應用狀態、使用案例及回呼網址。
開啟 Meta 應用管理 ↗保留既有帳號維護方式。憑證由本人輸入,伺服器驗證後加密保存。
| 平台 | 第一版發文 | 帳號資料 | 候選網紅 |
|---|---|---|---|
| 粉絲專頁文字/單圖 | 授權專頁 followers_count | 來源名單匯入 | |
| 專業帳號單圖 | 授權帳號 followers_count | Business Discovery 指定帳號 | |
| Threads | 文字/單圖 | 授權帳號 insights;未取得置底 | 來源名單匯入 |
| YouTube | 草稿/人工匯出 | 官方 API 帳號驗證 | 有來源的候選名單 |
| TikTok | 草稿/人工匯出 | 尚待官方串接 | 有來源的候選名單 |
| LINE 官方帳號 | 草稿/人工匯出 | 官方 API 帳號驗證 | 有來源的候選名單 |
| X | 文字發文 | 官方 API 帳號驗證 | 有來源的候選名單 |
| 草稿/人工匯出 | 尚待官方串接 | 有來源的候選名單 | |
| 草稿/人工匯出 | 尚待官方串接 | 有來源的候選名單 |
各項操作仍需 Meta 應用程式與相應 API 權限。影片、多圖輪播及自動排程尚未加入第一版。
提交需求 → 生成成果 → 內容預覽 → 建立草稿 → 送審。
生成會使用已設定的 AI API,可能產生費用。影片/Reels 提供腳本與分鏡,目前不輸出影片檔。圖片依最接近的原生尺寸生成並保留比例,精確裁切需後續處理。
本站生成图片受登入保護,可預覽及下載;正式社群發文前需轉存到平台可讀取的公開 HTTPS 網址。
使用臺灣繁體中文,文案依各平台長度限制。圖片依比例製作,預覽保持原圖比例。價格及成效數字依提供資料,不自行推估。
每個平台獨立保存成果與草稿。圖片需平台可讀取的 HTTPS 網址。送審與核准會留下時間紀錄;正式發文另需確認帳號與內容。
可在工作站操作,也可安裝外掛後從聊天呼叫工具。
在 Meta 開發者後台取得對應帳號 ID、有效 Token 及 API 版本,在「帳號串接」輸入。請勿把 Token 貼入聊天或候選名單。
選平台與帳號,填入文字/圖片。系統建立 17SB 社群紀錄編碼;此為本外掛暫行編碼,未宣稱符合完整 V21 主規範。
核對正式預覽中的帳號、文案與圖片。發佈結果會保留平台貼文 ID。連線中斷時標為待查核,避免重複送出。
幫我建立 Facebook 商品介紹草稿,先不要發文。 查詢我所有已授權帳號,粉絲數由高到低。 將我提供的網紅名單加入候選庫;粉絲數要有來源與日期。 找台灣生活用品合作網紅:先搜尋公開網頁,保留帳號網址,有來源的粉絲數才加入;最後依粉絲數排序。
[{"platform":"instagram","username":"請替換成真實帳號","name":"候選人名稱","followers":null,"category":"生活用品","region":"台灣","source_url":"https://www.instagram.com/真實帳號/","observed_at":"2026-10-10T00:00:00+08:00"}]粉絲數請用完整整數;未知填 null。輸入數字需附來源網址。匯入資料標記為「使用者提供/待核實」,不等同官方 API 驗證。名單同平台+帳號會更新原紀錄。
新增主題列,研究近期資訊,分別產生 LinkedIn、X 與 Instagram 內容,再回寫原列。
工作表名稱 Content。第一列貼上下列欄位;每筆 id 不可重複。新增列前先備妥 id 與 topic,狀態填 pending;language 預設 English。
id,topic,audience,language,cta,model,linkedin,x,instagram,image_suggestions,sources,status,error,generated_at,linkedin_words,x_weighted_length
n8n → Import from File → 選 JSON。在兩個 Google Sheets 節點填入同一個 Spreadsheet ID、Content 工作表,選 Google OAuth2 憑證。帳號需有編輯權。
Tavily Research 與三個 ChatGPT 節點使用 HTTP Request,分別選 Header Auth 憑證:名稱 Authorization,值 Bearer 加上各自的金鑰。OpenAI 三節點共用同一憑證。金鑰僅存 n8n Credentials。
HTTP 節點最多嘗試 3 次,間隔 5 秒,逾時 60 秒。最終失敗繼續收集錯誤;研究失敗只允許一般建議,不宣稱最新數據。401/403 請修正憑證;429 檢查配額後重試。Sheets 回寫失敗會出現在 Executions,可手動重試。
啟用前新增測試列,確認三份草稿及 sources 回到原列。CTA 與事實仍需人工檢閱。X 驗證為保守近似,正式發佈前可接 twitter-text 做官方規則驗證。Google Sheets 是跨執行資料庫,無需聊天 Memory。
核准欄位 → 發文子流程 → 平台回傳 ID;獨立 Error Trigger → 通知;網紅 API → 粉絲數排行;向量資料庫 → 品牌知識;CRM → 活動與成果追蹤。正式發文需另外完成各平台 OAuth 與防重複發文鎖。