尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Turn a topic into a finished YouTube video — script, voice, visuals and edit — and make images, clips and voice-overs in one studio. The price is shown before every run, a failed run returns its credits, and nothing goes public without your approval.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Autonomous YouTube channel operator. A Python pipeline researches, writes,
narrates, renders and uploads a video; a Next.js Command Center is how a
human watches it and decides. Supabase holds the hosted state, Vercel serves
the dashboard, GitHub Actions runs the bot.
This repository is the Grok working copy. The original
ruslanjurakulov/nightshift-ai-studio
is where Claude Code is active — the two trees are independent. Secrets are
not copied; they live in GitHub Actions and Vercel, not in git.
Default upload privacy is private. The bot has never published anything
publicly on its own.檢視完整 README ↗Nightshift makes YouTube videos for you. You give it a topic (or let a channel choose one); it researches, writes, narrates, edits and renders the video. You approve before anything is published. It is sold as a web app, a public API, an MCP server and a CLI, paid for with credits.
Live site: https://nightshift-ai.studio
main.py, modules/ the video pipeline (Python): topic, research, script,
fact-check, voice, media, captions, thumbnails, render,
publish gate, YouTube upload
tools/ scripts the workflows and the worker call
command-center/ Next.js app: the public site (/, /pricing, /docs, /mcp)
and the signed-in app (/{channel}/...)
supabase/migrations/ Postgres schema, RLS and SQL functions (additive; applied on merge)
docs/sql/ owner-applied scripts: one-time data clean-ups and rollbacks, never migrations
packages/cli/ @nightshift/cli, a command-line client for the public API
skills/ Agent Skills that teach an AI agent to use the CLI and MCP
video-engine/ Remotion scene renderer (off by default)
deploy/ Docker Compose, Caddy, and the SSH deploy script for the server
tests/ Python tests, plus tests/security (the security lab)
docs/ guides, design records, the security ledger
| Door | For | Docs |
|---|---|---|
| Web app | people making videos | command-center/ |
Public API (/api/v1) | your own code; prepaid developer balance | docs/API.md, /docs/api |
MCP server (/api/mcp) | Claude, ChatGPT, Cursor and other assistants; sign in with OAuth (paid plans, spends site credits) or use an API key | docs/MCP.md, /mcp |
| CLI | scripts and terminals; not published to npm yet | docs/CLI.md |
The MCP sign-in and the CLI page are behind flags (MCP_OAUTH_LIVE,
DEV_CLI_PAGE); only the exact value 1 turns them on.
Plans (Free, Plus, Pro, Business) give monthly credits that expire at the end of
the period. Credit packs top up and last longer. Every job is quoted, held,
captured on success and refunded on failure. An "extra credits" switch decides
whether packs can be spent. Payments go through Paddle. See
docs/BILLING_PLANS.md and
docs/PADDLE_SETUP.md. Unpriced units are refused, never guessed.
Standing brief: CLAUDE.md. The short version:
main that touches the app, deploy/ or the worker image deploys it through
.github/workflows/deploy_web.yml and deploy/remote-deploy.sh
(docs/DEPLOY_AX42.md). Environment variables are listed in
deploy/.env.web.example.main (Supabase GitHub integration), so it is
dry-run on the live schema first, and a merged one is never edited: fix it with a
new forward migration (docs/MIGRATIONS.md). Each file says what
it needs and ends with a Verify query.NIGHTSHIFT_RUN_BACKEND. actions (default)
dispatches daily_video.yml on GitHub Actions. queue writes a render_jobs
row that a worker (tools/queue_worker.py, Dockerfile.worker) claims
(docs/WORKER_VPS.md).notify-worker,
docs/NOTIFY_TELEGRAM_SETUP.md), the customer e-mail
sender (email-worker) and the operator bot.tests,
frontend, security, video-engine).@NightshiftAiStudio_bot): the owner's read-only control panel in
Telegram. Commands and inline buttons for /health, /queue, ,
, , , , , , ,
, , , , and (counts only; an
information-only alert when a post waits for approval or was sent, never an approve button);
de-duplicated, rate-limited proactive alerts with quiet hours and a daily digest;
replies in seconds (long polling, or an optional webhook). It cannot publish,
spend, approve, change prices or grant roles. Commands, alerts and the exact
go-live steps: .Every finding lives in docs/security/LEDGER.md with
its fix and the test that fails if it comes back. tests/security runs against a
real Postgres. Process and rubric: docs/security/README.md.
Content-Security-Policy ships report-only: docs/security/CSP.md. The sign-in code step and the admin second-factor gate: docs/security/ADMIN_MFA.md.
Owner protection, in layers:
NIGHTSHIFT_ADMIN_MFA=enforce); a stolen password alone is not enough.security_events table that even the owner role
cannot rewrite; the operator bot reads it.python3 -m venv .venv && source .venv/bin/activate # Python 3.11
pip install -r requirements.txt
cp .env.example .env # fill the keys the pipeline needs
cp channels.example.json channels.json # or manage channels in the Command Center
# ffmpeg + ImageMagick on PATH
python tools/setup_check.py
python main.py --no-upload --channel default
Command Center:
cd command-center
cp .env.example .env.local # Supabase URL + anon key only
npm ci && npm run dev
python3 -m unittest discover -s tests
cd command-center && npx tsc --noEmit && npx next lint && npx vitest run && npx next build
test_compositor_readers and test_compositor_subtitles need moviepy
installed. Every user-visible string lives in all three of
command-center/lib/i18n/{en,ru,uz}.ts.
CI's "Dependency advisories" step is command-center/scripts/audit-gate.mjs: production
dependencies fail it at moderate, dev ones at high, except advisories dated in
command-center/scripts/audit-allowlist.mjs (today: none). Read which step fails before treating a red job as real.
docs/ARCHITECTURE.md, docs/INTELLIGENCE.md: the pipeline and the intelligence loop (written early; the code is the source of truth)docs/MEASUREMENT.md: cost ledger, A/B, retention, the publish gatedocs/MULTI_CHANNEL.md: per-channel tokens, schedule, registrydocs/AUTONOMY.md: what is automatic and what is notdocs/SUPABASE.md, docs/SIGNUP_SETUP.md: schema, RLS, sign-up settings (Confirm email must be on)docs/API.md, docs/MCP.md, docs/CLI.md, skills/README.md: the ways indocs/BILLING_PLANS.md, : plans, credits, paymentsNo license file yet. All rights reserved by the owner until one is added.
/errors/balance/payments/spend/today/users/deploys/approvals/status/pending/security/digest/marketingdocs/MIGRATIONS.md: the migration process rule and dormant migrationsdocs/operator-bot.md, docs/NOTIFY_TELEGRAM_SETUP.md: the owner's bot and the customer notificationsdocs/LAUNCH_CHECKLIST.md, docs/CONNECT_ACCOUNTS.md: going live, connecting YouTube, Instagram and TikTokdocs/DEPLOY_AX42.md, docs/WORKER_VPS.md, docs/SELF_HOSTED_RUNNER.md, docs/DEPLOYMENT.md: running it (several guides are in Uzbek)docs/ROADMAP_SAAS.md, docs/ROADMAP_VIDEO_OS.md: where it is goingdocs/design/: identity, type, motion, brand logos, design recordsdocs/security/: ledger, process, CSP