抖創工坊
抖音影片採集 → 轉錄 → AI 洗稿 → 影片生成,並把內容自動發布到抖音(圖文)與今日頭條(文章)
🚀 兩條自動發布通路(核心能力)
抖音圖文與今日頭條文章皆能由本機瀏覽器自動提交到平台 —— 各自附帶包級預覽、逐字段字數校驗與發布選項,提交前必經確認:
| 通路 | 引擎 | 登入方式 | 關鍵約束 |
|---|---|---|---|
| 抖音圖文 | 外部 social-auto-upload CLI(可選裝) | 複用已有抖音登入態 | 一次只允許一個任務;不自動重試 |
| 今日頭條文章 | 自研執行器(Playwright,複用打包好的 headless Chromium) | 掃碼(應用內二維碼 / 瀏覽器視窗) | AI 成文 + 16:9 封面;封面必填 |
兩條通路共同的紀律:每一步都讀回校驗(任何一步失敗都停在點「發布」之前並寫明停在哪一步);提交後只記「已提交」,是否真的發出由人工到平台後台核實後點「標記已發布」;絕不自動重試(重試前必須先確認上一次是否已發出 —— 重複發布是最大的風險)。影片與其餘平台(小紅書 / 影片號 / B 站)仍以人工交付為主。
發布中心按渠道分欄(抖音圖文 / 今日頭條文章 / 影片人工交付),三個渠道各自獨立,不會混在一起看。
能力概覽
一個面向內容復盤和二次創作的本地桌面工具。當前主鏈路聚焦為:下載影片、提取音頻、內建 Whisper 轉錄、AI 洗稿、生成影片分鏡,並可選使用 HyperFrames 本地渲染 9:16 MP4。支援用戶主頁批量採集、簽名 API 直調、無水印影片下載、合集增量更新,新任務採用手動分步執行,每一步都支援自動 3 次重試和失敗後的手動重試。
⚠️ 免責聲明:本項目僅供學習和技術研究使用。使用者應遵守相關平台的服務條款和法律法規,不得將本項目用於任何商業用途或侵犯第三方權益。作者不對使用本項目產生的任何後果承擔責任。
🤝 尋找貢獻者
本項目目前由個人維護,歡迎一起完善!
當前特別需要幫助的方向:
- 抖音簽名(a_bogus / X-Bogus)穩定性維護
- Whisper 模型體積與中文準確率最佳化
- HyperFrames 影片樣式 / TTS 配音
- UI/UX 改進與 Windows 打包測試
- 文檔、測試用例、範例影片
核心功能
手動分步流程
輸入:抖音分享連結 / 分享文字 / 用戶主頁連結
↓
建立任務 / 合集:解析並保存輸入,不自動跑完整鏈路
↓
使用者逐步確認執行:
1️⃣ 下載影片(無水印優先 → 簽名 API → yt-dlp)
2️⃣ 提取音頻(ffmpeg → 16kHz mono WAV)
3️⃣ ASR 轉文案(內建 whisper.cpp)
4️⃣ AI 洗稿
5️⃣ 產生影片提示詞 / 分鏡
6️⃣ 產生本機豎屏影片(可選,HyperFrames)
7️⃣ 發布中心交付(可選;抖音圖文 / 今日頭條文章可自動提交,提交後人工核實)
↓
輸出:📝 結構化轉錄 + ✍️ 清洗稿 + 🎬 MP4 + 📦 發布交付包
功能特性
- ✅ 影片下載 — 無水印優先下載,支援簽名 API 和 yt-dlp 多策略降級
- ✅ 用戶主頁採集 — 輸入博主主頁連結,批次取得全部作品列表
- ✅ 合集管理 — 按博主建立合集,批次建立子任務、批次執行步驟
- ✅ 合集增量更新 — 一鍵檢查博主新影片,去重追加到已有合集
- ✅ 簽名 API 直調 — a_bogus + X-Bogus 簽名,繞過瀏覽器直接呼叫抖音內部 API
- ✅ Cookie 管理 — 支援掃碼登入、手動貼上 Cookie 兩種方式取得登入態
- ✅ 音頻提取 — 使用 ffmpeg 抽取標準化音頻,並儲存音頻 manifest
- ✅ 語音轉錄 — 內建 whisper.cpp + ggml-small,本機完成中文轉錄
- ✅ 離線 ASR — 無需 ASR API Key、Python、FunASR 或 faster-whisper
- ✅ AI 洗稿 — 基於轉錄優先清洗,輸出標題、摘要、要點、清洗稿、口播稿和品質提示
- ✅ 影片分鏡生成 — 基於清洗稿生成影片提示詞和分鏡腳本
- ✅ Skill 知識蒸餾 — 從合集轉錄文字 AI 蒸餾生成 Claude Code Skill(SKILL.md)
- ✅ Skill 管理 — 獨立的 Skill 管理頁面,支援查看、重新命名、刪除已生成的 Skill
- ✅ 本機影片生成 — 使用 HyperFrames CLI 將清洗稿和字幕節奏渲染為 9:16 MP4
- ✅ 原影片回看 — 詳情頁可在「原影片 / 成片」之間切換,直接回看轉錄時下載的抖音原片
- ✅ 素材庫 — 獨立「素材」頁面,手動上傳與管理圖片、音頻(圖片可選入圖文發布)
- ✅ 發布中心 — 將成片整理為獨立交付包,生成四平台簡體中文文案;按渠道分欄,標註進度與人工發布追蹤
- ✅ 今日頭條文章發布 — AI 成文 + 16:9 封面 + 掃碼登入,自動提交到頭條號(提交前必經預覽,提交後由人工核實再「標記已發布」)。2026-09-20 真機實測發布成功
- ✅ 可折疊側欄 — 桌面端左側導覽可展開/收起,展開時顯示文字標籤,收起為純圖示
- ✅ 任務垃圾桶 — 刪除任務後保留 30 天,可恢復或永久刪除
- ✅ 多 AI 模型 — 支援 DeepSeek、OpenAI 及 OpenAI-compatible 中轉服務
- ✅ 桌面應用 — 基於 Electron,支援 macOS 和 Windows
- ✅ 即時回饋 — 任務進度即時更新,詳細展示每個步驟狀態和錯誤
本機操作者與權限
- 面向使用者的登入、帳號切換、使用者管理介面已移除:應用啟動時自動取得「本機操作者」工作階段,無需登入或選擇帳號。
- 自動工作階段優先複用已有的啟用中管理員(按
createdAt/id升序確定性選取);只有在不存在任何管理員時才建立一個無 PIN 的「本機使用者」。不會刪除、不改名任何歷史使用者。 - 管理員 PIN 的介面契約沒有被放寬:直接呼叫
POST /api/local-sessions開管理員工作階段仍必須提供正確 PIN。無 PIN 分支只存在於POST /api/local-sessions/auto這一條顯式命名的路徑上。 - 角色仍然決定發布權限與審計:撤回已發布狀態、刪除/恢復發布包屬於管理員操作;每條審計記錄仍帶
actor快照。單機使用下當前操作者即管理員,因此這些操作都可用。 - 本機角色用於工作流程權限控制和操作者審計,不是雲端帳號,也不是強安全邊界;能夠存取本機儲存或作業系統帳戶的人仍可能讀取或修改本機資料。
發布中心
- 發布中心預設只準備本機交付包和輔助人工操作。影片不會自動上傳;抖音圖文可選地呼叫外部
social-auto-upload(sau)CLI 自動提交,且提交前必經預覽確認、提交後仍由人工點「標記已發布」確認。 - 今日頭條文章走另一條通路:自研 Playwright 執行器(複用打包好的
chrome-headless-shell,零額外下載), 按「洗稿內容 → AI 成文 → 文章包(article.html+ 16:9 封面)→ 預覽 → 提交」完成發布。 登入只能掃碼(頭條號沒有可貼上的憑據):到「設定 → 今日頭條」點「掃碼登入」(應用內顯示二維碼) 或「開啟瀏覽器掃碼登入」(彈出真實瀏覽器視窗);登入態保存在 storage 內的持久化 profile, 掃一次之後發布與自檢都不用再掃。相關環境變數:TOUTIAO_BROWSER_BINARY(瀏覽器路徑, 缺省按「顯式配置 → 打包資源 → Playwright 快取 → 系統 Chrome」解析)、TOUTIAO_PROFILE_DIR(工作階段目錄,必須落在 storage 內)。 每一步都有讀回校驗:任何一步失敗都停在點「發布」之前;「同時發布微頭條」預設關閉且關不掉就不發布。 - 與抖音通路同一條不變式:機器只把內容送出去,記錄為「已提交」;
task.status全程不變, 也絕不自動重試(重試前必須先確認上一次是否已發出 —— 重複發布是本功能最大的風險)。 - 發布中心自身不保存平台憑據;走圖文自動發布時,會把已有的抖音登入態(
~/.douyin-ai-video/douyin-cookie.txt) 轉換成 Playwrightstorage_state寫到<SAU_BASE_DIR>/cookies/douyin_<account>.json(權限 600)供外部引擎使用。 - 從任務詳情頁的已生成成片進入「加入發布中心」,按“成片 → 平台 → 文案 → 排程 → 確認”向導建立交付包。
- 支援抖音、小紅書、微信影片號和嗶哩嗶哩;一個交付包可包含多個平台任務,也可以為同一成片建立獨立版本。
- 文案優先由當前 AI 配置按平台生成;AI 不可用時回退到洗稿內容,並明確標記為回退文案。使用者編輯後的內容會記錄為使用者編輯。
- 按渠道分欄:一級頁籤「抖音圖文 / 今日頭條文章 / 影片人工交付」——三者的提交方式完全不同
(前兩個自動提交、第三個純人工交付),各自帶包數與說明,渠道與狀態都記在 URL 裡(
?channel=)。 抖音圖文與頭條文章只有一個平台,因此這兩個渠道不顯示平台下拉。 - 發布中心提供複製標題/正文/標籤、開啟平台、在 Finder 中定位影片、標記已發布、記錄失敗和修改排程等人工輔助操作。
- 發布者可維護未發布內容;管理員額外負責撤回已發布狀態和發布垃圾桶管理。
- 發布包存放在 storage 根目錄下的
output/publishing/{sourceJobId}/v{version}-{packageId}/。storage 根目錄取決於執行方式:桌面端為~/Library/Application Support/douyin-ai-video/storage(macOS),獨立後端為倉庫內的storage/。 - 發布包是自包含的:成片、封面與圖文圖片都會複製進包目錄,因此事後刪除素材或改動原始檔不影響已建好的包。
- 發布排程僅在應用執行時檢查;應用退出期間到期的任務會在下次啟動時補處理,但不會自動開啟平台。
- 發布垃圾桶獨立於任務垃圾桶,保留 30 天。到期清理只刪除本地發布資產,不影響源作品、其他版本或平台上的影片。
- 若
cache/publishing-index.json損壞,發布寫操作會進入唯讀保護。請先備份原始檔,再從有效備份恢復或人工修復;創作流程仍可繼續使用。
介面預覽
主介面 - 任務列表 & 合集
- 建立新任務(URL / 主頁連結 / 分享文字)
- 合集檢視:按博主聚合查看所有子任務進度
- 查看所有任務狀態
- 查看目前可執行步驟或失敗步驟
- 刪除任務到應用內垃圾桶
任務詳情頁
- 概覽 — 任務基本資訊和處理狀態
- 主鏈路步驟 — 下載、提取音頻、ASR 轉錄、AI 洗稿、生成分鏡、生成影片
- 影片轉錄 — 從影片音頻提取的真實轉錄文字
- AI 洗稿 — 清洗後的標題、摘要、核心要點、腳本、口播稿和品質提示
- 分鏡內容 — 基於清洗稿生成的短劇分鏡和影片提示詞
- 影片成片 — HyperFrames 本地渲染的 MP4、項目路徑和場景列表
合集詳情頁
- 頂部使用者資訊(暱稱、頭像、作品總數)+ "檢查更新" 按鈕
- 影片列表(封面、描述、狀態、核取方塊),按發布時間倒序排列
- 批次操作:建立選中任務、批次轉錄、批次洗稿、批次分鏡、批次生成影片
- 子任務總進度條
- 查看全部轉錄文字 + "生成 Skill" 按鈕
Skill 管理頁
- 卡片式網格佈局,展示所有已生成的 Skill
- 每張卡片顯示:Skill 名稱、來源合集、自動同步狀態、轉錄數量、生成日期
- 操作:查看內容(3 頁籤:SKILL.md 渲染、原始來源、元資訊 JSON )、在合集頁面中複用
- 支援內聯重新命名,自動同步 SKILL.md frontmatter 和檔案目錄
發布中心
- 查看待處理、待發布、已排程、已發布、失敗、資產異常和發布垃圾桶
- 按標題/文案、平台、源任務、版本號和建立者篩選
- 展開發布包查看各平台文案、排程、資產健康狀態和審計記錄
- 執行複製文案、預覽、開啟平台、定位影片、標記發布、失敗記錄、取消、恢復和建立新版本
- 圖文包額外提供「發布圖文到抖音」(先預覽再提交)與「提交驗證碼」
- 文章包(今日頭條)額外提供「提交到頭條號」(先預覽再提交)與「下載文章 HTML」(降級通路:
匯出
article.html,任何時候可用、可直接貼進頭條編輯器);文章任務不提供「編輯文案」—— 正文是包級article.html的渲染結果,要改就重建文章包
設定頁面
- AI 金鑰管理 — 管理多個 AI 服務 API Key,支援 DeepSeek、OpenAI 及中轉代理
- 抖音登入 — 掃碼登入或手動貼上 Cookie,查看登入狀態
- 今日頭條 — 頭條號掃碼登入(應用內二維碼 / 開啟瀏覽器視窗掃碼)與「校驗登入」零副作用自檢
- 語音辨識狀態 — 展示內建 Whisper 本機轉錄能力
技術架構
┌─────────────────────────────────────────┐
│ Electron 主程序 │
│ - 視窗管理 │
│ - IPC 通信 │
│ - 後端服務啟動 │
└─────────────────────────────────────────┘
│ │
┌──────┘ └──────┐
▼ ▼
┌─────────────────┐ ┌──────────────────────┐
│ React 前端 │ HTTP │ Express 後端 │
│ │ ◄────► │ │
│ - React 19 │ │ - 任務管理 │
│ - Vite │ │ - 用戶主頁爬取 │
│ - Zustand │ │ - 合集管理+增量更新 │
│ - Tailwind CSS │ │ - 簽名演算法 (a_bogus) │
│ - React Router │ │ - Cookie 管理 │
│ │ │ - 影片下載 │
│ │ │ - 音頻提取 │
│ │ │ - 語音轉錄 │
│ │ │ - AI 清洗 │
│ │ │ - 分鏡生成 │
│ │ │ - Skill 知識蒸餾 │
│ │ │ - 頭條文章發布 │
└─────────────────┘ └──────────────────────┘
│
┌───────────────┴───────────────┐
▼ ▼
┌─────────────────┐ ┌────────────┐
│ AI / 本地 ASR │ │ 檔案儲存 │
│ - DeepSeek │ │ │
│ - OpenAI │ │ ~/.douyin │
│ - 中轉代理 │ │ -ai-video/│
│ - whisper.cpp │ │ storage │
│ - ggml-small │ │ ~/.claude │
└─────────────────┘ │ /skills/ │
└────────────┘
技術棧
後端
- 執行時: Node.js 18+
- 框架: Express 4
- 語言: TypeScript 5.x
- 影片處理: yt-dlp, ffmpeg
- 瀏覽器自動化: Playwright(用戶主頁爬取和掃碼登入)
- AI 服務: OpenAI SDK(相容 DeepSeek / OpenAI-compatible)
- ASR: 內建 whisper.cpp + ggml-small(隨安裝包攜帶)
- 影片渲染: HyperFrames CLI(可選,生成影片步驟需要 Node.js 22+ 和 FFmpeg)
- 簽名演算法: SM3/MD5 + RC4 + 自訂 Base64(純 TypeScript 實作)
前端
- 框架: React 19
- 建置: Vite 6
- 路由: React Router DOM 7
- 狀態管理: Zustand 5
- 樣式: Tailwind CSS(自訂設計系統)
桌面端
- 框架: Electron 34
- 打包: electron-builder
安裝與執行
環境要求
- Node.js >= 18.0.0
- npm >= 9.0.0
- macOS 或 Windows
- 開發模式需要本機可用的 yt-dlp、ffmpeg 和 Playwright 瀏覽器
- 影片生成步驟需要 Node.js >= 22 和 HyperFrames CLI
- 打包命令會自動準備完整執行資源;建置機需要聯網、
tar、unzip和基礎命令列工具 - 安裝包會內建 yt-dlp、ffmpeg、ffprobe、whisper.cpp、ggml-small、HyperFrames CLI 和 Chrome headless shell
安裝依賴
# 複製倉庫
git clone https://github.com/LiChangZheng10086/doyin_ai_video.git
cd doyin_ai_video
# 安裝依賴
npm install
# 安裝 Playwright 瀏覽器(用戶主頁爬取和掃碼登入需要)
npx playwright install chromium
開發模式
# 一次性啟動 Vite + Electron
npm run dev
# 或分別啟動
npm run dev:renderer
npm run dev:electron
生產建置
# 打 macOS Apple Silicon DMG/ZIP
npm run package:mac
# 打 Windows 11 x64 NSIS 安裝器
npm run package:win
# 連續打 macOS + Windows
npm run package:all
打包腳本會按目標平台準備 vendor/package-assets,並把執行所需資源複製到安裝包:
bin/:yt-dlp、ffmpeg、ffprobewhisper/:whisper-cli、ggml-small 模型和 Windows DLLhyperframes/:HyperFrames CLI 及其 Node 依賴browser/:Chrome headless shell
當前 package:mac 生成 macOS arm64 包;package:win 生成 Win11 x64 包。安裝後的應用不要求使用者再安裝 Python、FunASR、Whisper、ffmpeg、yt-dlp、Node.js 或 HyperFrames。抖音下載和 AI 洗稿仍然需要網路,AI 洗稿/Skill 生成仍需要有效的 AI API Key。
配置說明
1. AI API 配置
在應用設定頁面添加 AI API Key:
DeepSeek(推薦)
- API Key: https://platform.deepseek.com/api_keys
- 模型: deepseek-chat
- 性價比高,適合中文內容
OpenAI
- API Key: https://platform.openai.com/api-keys
- 模型: gpt-4o, gpt-4o-mini
- 品質穩定
中轉代理 / 自訂
- 支援任何 OpenAI 相容 API,填寫 baseURL 和模型名即可
2. 抖音 Cookie 配置
為使簽名 API 直調和批次採集正常工作,需要在設定頁面配置抖音登入態。提供兩種方式:
掃碼登入
- 開啟設定 → Douyin Login → 點擊"開啟瀏覽器掃碼登入"
- 在彈出視窗中掃描二維碼完成登入
- Cookie 自動儲存到
~/.douyin-ai-video/douyin-cookie.txt
手動貼上(推薦)
- 在 Chrome 中開啟並登入 https://www.douyin.com/
- 按 F12 開啟 DevTools → Application → Cookies → douyin.com
- 將所有 Cookie 複製為
key1=value1; key2=value2; ...格式 - 貼上到設定頁面的輸入框中,點擊"儲存 Cookie"
關鍵認證 Cookie 包括:sessionid, sid_guard, passport_csrf_token, odin_tt, ttwid
3. 語音轉錄配置
語音轉錄已經內建到桌面應用中:
- 引擎:
whisper.cpp - 模型:
ggml-small多語言模型 - 音頻:ffmpeg 提取
pcm_s16le、16kHz、單聲道 WAV - 執行方式:本機轉錄,不需要 ASR API Key、Python、FunASR 或 faster-whisper
開發模式或單獨準備 Whisper 時執行:
npm run prepare:whisper
該命令會生成:
vendor/whisper/
├── whisper-cli
└── models/
└── ggml-small.bin
舊配置檔裡的 asrProvider、asrApiKey、asrBaseURL、asrModel 會繼續被相容讀取,但後端轉錄不再使用它們。
4. 外部依賴
開發模式會使用以下系統工具;正式安裝包已經內建同類資源:
-
yt-dlp — 影片下載
brew install yt-dlp # macOS -
ffmpeg — 音影片處理
brew install ffmpeg # macOS -
HyperFrames — 本地 HTML 動畫渲染為 MP4(開發模式生成影片步驟需要)
npx --yes [email protected] doctor
HyperFrames 是本地 HTML/CSS/GSAP 到影片的渲染鏈路,不是 Sora、Remotion 自動成片或 HeyGen 雲端影片生成 API。開發環境預設透過 npx --yes [email protected] 呼叫 CLI;打包後優先使用安裝包內建的 HyperFrames CLI 和 Chrome headless shell。當前 v1 生成無真人、無數位人的圖文解釋影片;voiceoverScript 用作字幕和畫面節奏,暫不自動生成 TTS 配音。
頭條號發布用的瀏覽器:複用上述打包好的 Chrome headless shell,零額外依賴。若解析不到,按提示二選一:
npm run prepare:package:mac # 拉取打包資源裡的 chrome-headless-shell
npx playwright install chromium # 或裝一個完整的
API 端點
工作階段管理
POST /api/local-sessions/auto— 自動取得或建立本機操作者工作階段(無需 PIN)POST /api/local-sessions— 使用 PIN 建立管理員工作階段GET /api/local-sessions/current— 取得當前工作階段資訊與角色DELETE /api/local-sessions/current— 登出並清除當前工作階段
任務
POST /api/tasks— 建立任務(支援 URL / 分享文字 / 主頁連結)GET /api/tasks— 列出任務(支援篩選、分頁、排序)GET /api/tasks/:taskId— 取得任務詳情POST /api/tasks/:taskId/execute-step— 手動執行特定步驟(例如 "download", "transcribe", "rewrite")POST /api/tasks/:taskId/retry-step— 重試失敗步驟DELETE /api/tasks/:taskId— 刪除任務(移至垃圾桶)
合集
POST /api/collections— 建立合集(綁定博主)GET /api/collections— 列出合集GET /api/collections/:collectionId— 取得合集詳情(含子任務列表)POST /api/collections/:collectionId/check-updates— 檢查博主新影片並增量更新DELETE /api/collections/:collectionId— 刪除合集
發布
POST /api/publishing/packages— 建立交付包GET /api/publishing/packages— 列出交付包(支援狀態、平台、渠道篩選)GET /api/publishing/packages/:packageId— 取得交付包詳情POST /api/publishing/packages/:packageId/submit— 提交到平台(抖音圖文或頭條文章)POST /api/publishing/packages/:packageId/mark-published— 人工標記為已發布DELETE /api/publishing/packages/:packageId— 刪除交付包(移至垃圾桶)
Skill
POST /api/skills/distill— 從合集轉錄文字蒸餾生成 SkillGET /api/skills— 列出所有 SkillGET /api/skills/:skillId— 取得 Skill 詳情(含 SKILL.md 內容)PUT /api/skills/:skillId— 更新 Skill(重新命名等)DELETE /api/skills/:skillId— 刪除 Skill
開發指南
專案結構
doyin_ai_video/
├── src/
│ ├── main/ # Electron 主程序
│ │ ├── index.ts # 主程序入口
│ │ ├── menu.ts # 選單配置
│ │ └── ipc.ts # IPC 處理器
│ ├── backend/ # Express 後端
│ │ ├── index.ts # 後端入口
│ │ ├── routes/ # 路由
│ │ ├── services/ # 業務邏輯
│ │ ├── utils/ # 工具
│ │ └── platforms/ # 平台特定實作
│ ├── renderer/ # React 前端
│ │ ├── App.tsx # 應用入口
│ │ ├── pages/ # 頁面元件
│ │ ├── components/ # 通用元件
│ │ ├── stores/ # Zustand 狀態
│ │ └── hooks/ # 自訂 Hook
│ └── shared/ # 前後端共用型別
├── vendor/ # 第三方依賴(打包時準備)
├── scripts/ # 建置與輔助腳本
├── storage/ # 資料儲存(開發模式)
└── package.json
新增功能步驟
- 在
shared/types.ts中定義型別 - 在
src/backend/services/中實作服務層 - 在
src/backend/routes/中新增路由 - 在
src/renderer/pages/或src/renderer/components/中新增前端元件 - 在
src/renderer/stores/中新增狀態管理(如需要)
編碼約定
- 使用 TypeScript 靜態型別
- 非同步操作使用 async/await
- API 路由遵循 RESTful 慣例
- 錯誤處理使用一致的錯誤回應格式
- 使用 ESLint 和 Prettier 保持程式碼風格一致
常見問題
Q: 應用啟動後無法連接到後端?
A: 請檢查終端機輸出是否有錯誤訊息。常見原因包括端口被佔用或 Node.js 版本不相容。嘗試重新啟動應用或執行 npm run dev。
Q: 影片下載失敗?
A: 確認網絡連線正常,且抖音 Cookie 有效(未過期)。嘗試重新掃碼登入。若使用開發模式,確保已安裝 yt-dlp。
Q: 語音轉錄不準確?
A: 轉錄品質取決於影片音頻的清晰度和模型大小。本內建 ggml-small 模型在普通對話場景下表現良好,但背景噪音或專業術語可能影響準確率。未來計畫支援更大模型。
Q: 發布流程卡在「提交中」?
A: 這通常表示瀏覽器自動化步驟遇到問題。請查看後端日誌獲取詳細錯誤。若是今日頭條文章發布,請確認已掃碼登入且頭條號賬號狀態正常。
Q: 如何備份我的資料?
A: 備份整個 storage 目錄即可。開發模式預設位於 storage/,桌面端位於 ~/Library/Application Support/douyin-ai-video/storage/。
相關資源
- HyperFrames — 本地 HTML 動畫渲染為影片
- whisper.cpp — C++ 實現的 Whisper 語音辨識
- Playwright — 瀏覽器自動化框架
- social-auto-upload — 社群媒體自動上傳 CLI
- yt-dlp — 影片下載工具
- Electron — 桌面應用框架
- Tailwind CSS — 實用優先的 CSS 框架
- Zustand — React 狀態管理