
Tourwright
io.github.CXmiloxx由 GitHub 帳號 CXmiloxx 發布v2.6.1更新於 Nov 7, 2026
Turn a script into a narrated product tour video: real browser, captions, voice, MP4.
概覽
把 YAML 導覽腳本變成帶旁白的產品導覽影片:真實 Chromium 操作、字幕、配音與 MP4 輸出。
- 可以做什麼
- 撰寫、驗證並檢查導覽腳本,還可產生附截圖的步驟指南
- 依腳本算繪帶旁白的影片,或只拍攝單一步驟,輸出字幕、章節與縮圖
- 列出可用的語音合成音色
- 向 Tourwright API 提交算繪工作,並列出或刪除這些工作
- 在明確開啟檔案存取後讀取磁碟上的腳本檔案
- 適用情境
- 適合讓助理為網頁應用程式製作或更新示範、上手引導與操作教學影片,省去人工錄影,並在介面改版後重新算繪。
- 執行需求
- 以本機 Node.js 22+ 程序執行(npm 套件 tourwright,以 mcp 參數啟動),支援 Linux、macOS 與 Windows;首次安裝會把 ffmpeg、Chromium 與語音引擎下載到本機資料夾。可選設定 TOURWRIGHT_API_URL 與 TOURWRIGHT_API_TOKEN,把工作送到遠端 Tourwright API 而非在本機算繪。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Tourwright,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
[Tourwright]
[npm] [CI] [License: MIT] [MCP]
Narrated product tours and how-to videos, without editing. Click through your app once, or ask your AI
agent for the video: Tourwright writes the script, films a real browser in a studio frame, guides the eye to each
element, speaks with a natural voice and delivers an .mp4 with captions, chapters and a thumbnail. When the UI
changes, you render again. Built for people and AI agents, on any server, from a laptop to a cluster.
[A Tourwright video: a login with 2FA, a guided focus on each field, invented data instead of real customers, an upload and a live notice]
Made by Tourwright from examples/app.yaml, with nobody at the keyboard. ▶ Watch it with sound (77 s)
Why Tourwright
Screen recorders (Loom) and click-through demo tools (Arcade, Supademo, Scribe) need a person to record, and every redesign means recording again. Tourwright videos are code:
What you get
- Browser walkthroughs: real Chromium, a smooth animated cursor, click ripples, highlights, spotlights, callout bubbles, camera zoom, drag and drop, blurred personal data, title cards and captions in your colors and logo.
- Guided focus: the tour an app shows the first time you open it. Everything dims but the element, a
ring marks it, a bubble with a
2/4badge explains it and the camera pushes in, right on the word the voice is saying. - Narrated slides: title cards, images (with slow pan/zoom), HTML, crossfades. No website needed.
- Voices, your choice: Pocket TTS (offline, open, natural:
tourwright install --pocket), Piper (offline, open source, light), Microsoft Edge neural voices, any OpenAI-compatible TTS server (OpenAI, Kokoro, LocalAI…), or your own command. Every sentence is cached: re-rendering never re-synthesizes. - A cast, and how each line is said: several voices per video, speed, pitch and volume per line on any
engine, exact pauses (
[[1s]]), a pronunciation dictionary, sound presets (warm, radio, podcast…), click, typing and other sound effects, music with fades. - Scripts that scale with you: variables (
{{name}}, also from the CLI or the API), reusable blocks, repeats, conditions and steps that may fail. One script, many videos. - Plugins: new actions, TTS engines and voices as small modules (docs/PLUGINS.md).
- Tight edits, automatically: page loads, slow waits and voice synthesis are cut out; narration never overlaps; background music ducks under the voice.
- Deliverables: H.264/AAC
.mp4with chapters and the captions drawn on it,.srt,.vtt, thumbnail and a JSON manifest (duration, chapters, captions) for automation. - Four ways in: CLI, HTTP API with job queue and webhooks, MCP server for AI agents, Node library.
- Scales out: stateless API replicas, any number of workers on any number of servers, Redis/BullMQ queue, S3-compatible storage. Or a single process with a folder, on a Raspberry Pi.
Install
Docker (recommended)
A full service (API + 2 workers + Redis):
From npm (quickest to try)
Node.js 22+, on Linux, macOS or Windows:
Without installing anything globally: npx tourwright <command>. With pnpm: pnpm add -g tourwright
(on 2.0.0, add --no-optional).
The Redis queue and Claude for narrate are optional: install bullmq ioredis or @anthropic-ai/sdk next to
Tourwright when you use them (npm install -g bullmq ioredis). The Docker image already has them.
Without Docker (Linux, macOS, Windows)
Node.js 22+. tourwright install puts ffmpeg, Piper, voices, edge-tts and Chromium in TOURWRIGHT_HOME, with no
root or admin rights; what the system already has is kept.
Each piece is looked for on the PC first and only downloaded when it is missing:
Also reused: a Chromium left by another Playwright or Puppeteer version, and CHROME_PATH, CHROME_BIN or
PUPPETEER_EXECUTABLE_PATH. Snap and Flatpak browsers are skipped (their sandbox blocks Playwright).
TOURWRIGHT_SYSTEM_BROWSER=0 always uses Playwright's own Chromium. tourwright doctor shows what was found.
Nothing is installed on the system: what is downloaded lives in one folder (TOURWRIGHT_HOME), and the Python
packages run in a virtual environment, so yours is never changed. To uninstall, delete that folder.
Xvfb (apt install xvfb, Linux only) gives the sharpest capture; without it Tourwright records headless
(screencast), which works everywhere Chromium runs. Clients of the HTTP API or MCP can be on any system.
Use it
From a site to a video, without writing selectors by hand:
The draft goes through every section of the site with narration taken from its pages; edit it in your words.
Credentials are asked for once, never shown and never written in the script (tourwright secret list;
tourwright forget deletes them).
The script format, every action and the voices: docs/SCRIPTS.md.
JSON Schema for editors and agents: schema/script.schema.json.
HTTP API
Endpoints, assets, webhooks: docs/API.md.
AI agents (MCP)
Claude Code, as a plugin (the MCP server plus a skill that writes, checks and renders the script):
Any other MCP client (Claude Desktop, Cursor, VS Code…):
Tools: tourwright_guide, tourwright_voices, tourwright_validate, tourwright_check, tourwright_render, tourwright_job,
tourwright_jobs, tourwright_delete_job (and
tourwright_render_file with TOURWRIGHT_MCP_ALLOW_FILES=true). Point it at a remote API with TOURWRIGHT_API_URL
and TOURWRIGHT_API_TOKEN. Details: docs/AGENTS.md.
GitHub Action
Re-render your tours on every release, or fail the build when a deploy broke one:
Inputs: scripts, command, out, voice, quality, voices, version, upload (action.yml).
Node library
Scaling
Each worker renders TOURWRIGHT_CONCURRENCY videos at a time (one Chromium + ffmpeg each: plan ~1–2 CPU and
~1 GB RAM per video at 720p). Workers run at low CPU and disk priority so a shared server stays responsive.
More: docs/DEPLOYMENT.md · configuration: docs/CONFIGURATION.md.
Security
API jobs run in a sandbox: data-only scripts (no JavaScript), files limited to the job's assets, optional host allowlist and private-network blocking, secrets off by default, per-token job isolation, signed download links. Read SECURITY.md before exposing the API to untrusted clients.
License
MIT. Piper voices have their own licenses (see each voice's model card); Edge voices are a Microsoft online service, check its terms for your use.
來源:README.md,提交 28a37bc
工具
0版本歷史
5- v2.6.1最新Nov 7, 2026
- v2.6.0Nov 6, 2026
- v2.5.0Nov 5, 2026
- v2.3.0Nov 4, 2026
- v2.2.0Nov 3, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分