Repository navigation
Releases: ducnguyen221/agent-video-studio
Release list
v0.2.3
v0.2.2
Bản vá sau lượt kiểm trên Mac mini (báo cáo MAC-REVIEW-FOR-WINDOWS). Máy Windows đã đặt
VIDEO_STATION không đổi hành vi.
initkhông còn tự nhận~/.videocó sẵn (sự cố lượt Mac 29/09).~/.videochỉ tình cờ
mang dấu trạm thìinithỏi người dùng; với--yeshay khi không có người trả lời, nó in đường
trạm cũ rồi thoát mã 2 và không ghi gì. Nhận trạm đó phải bằng--mode separate,
--station <thư mục>hoặc--migrate.--yesgiữ đúng nghĩa: embedded,<repo>/workspace/.
Trạm đã chọn (biếnVIDEO_STATION/VIDEO_ROOT, hoặcstudio.local.jsonghiseparate) vẫn
dùng luôn không hỏi;studio.local.jsonghiseparatenay thắng một~/.videotình cờ có mặt.- Khối
enginecủa JSON kết quả (P2-17):engine.voice_studionay là bản hợp đồng của
repo giọng (API_VERSION) ở cảrenderlẫnnarrate, đúng nghĩa repo giọng tự trả; bản phát
hành của gói giọng đi khoá mớiengine.voice_studio_version. Trước đâyrendertrả bản phát hành
dưới cùng khoá. Bảng nghĩa từng khoá ởdocs/CONTRACT.md§2. scripts/install-video-use.{ps1,sh}không còn đoán trạm là$HOME/.video: trạm do package
phân giải (biến →studio.local.json→<repo>/workspace/), và lệnh gợi ý cuối cùng khớp chế độ
cài. Cổngtests/test_ps1_portable.pythêm luật chặn mọi script đoán trạm ở home.doctor: chưa cài repo giọng mà bản clone của nó nằm cạnh repo này (cùng thư mục cha, tên gì
cũng được, nhận bằng nội dung) thì dòngvoice-studioin sẵn lệnhpip install -e "<đường>[engine]".- Tài liệu: clone vào
<thư mục cha>người dùng chọn thay cho đường cứng; repo giọng là anh em
cùng thư mục cha (INSTALL.mdmục 4, 5b); bước tắt telemetry của HyperFrames
npx --yes hyperframes@<bản ghim> telemetry disable(mục 7b, P2-18); mọi chỗ nóibrowser ensure
ghi rõ dạngnpx --yes hyperframes@<bản ghim> browser ensure— đó là lệnh của HyperFrames, CLI
repo này không có lệnh conbrowser(P2-2);package.jsoncủa project không quyết bản render,
station.jsonmới quyết (P3-2); bảng nền tảng ghi macOS arm64 đã render thật bài mẫu (dòng macOS
củasamples/news-mini/EXPECTED.md, PR #3).
v0.2.1
Bản vá tài liệu để một agent trên Mac Apple Silicon mới tinh tự cài được theo INSTALL.md, không
biến môi trường nào (chế độ embedded).
- macOS trong
INSTALL.md,START-HERE.md,docs/INSTALL.md: tạo venv bằngpython3.12
(python3của Mac mới là 3.9, dưới mức tối thiểu); điều kiện trước cho Mac mới — Xcode Command
Line Tools, Homebrew do người dùng tự cài (agent không chạy lệnh tải-rồi-chạy),/opt/homebrew/bin
trênPATH,brew install python@3.12 node ffmpeg git; kiểm biến vàPATHbằng
zsh -lic 'echo $…'vì shell của agent không nạp~/.zshrc. Lần render đầu cần mạng (HyperFrames,
Chromium, CDN), và bản HyperFrames đang ghim (0.8.54) chưa render gì trên arm64. - Một đường cài lồng tiếng duy nhất (mục 5b mới của
INSTALL.md): cloneagent-voice-studio
cạnh repo này,pip install -e "../agent-voice-studio[engine]"vào chính.venvcủa repo video,
voice-studio init --yes, rồi tạo giọng mặc định bằngmake-profile --instruct … --set-default.
Bỏ câu "cài vào venv của trạm giọng" ởdocs/INSTALL.mdvà trang web, vốn mâu thuẫn với
INSTALL.md. Thiếu bước giọng mặc định thì bài mẫu dừng vì chưa có profile — trước đây tài liệu
không nói. - Bài mẫu
news-mini: dòng Windows trongEXPECTED.mdcó số đo thật (HyperFrames 0.8.54,
113 s, 51,05 s / 24,93 s), đo bằng một bản cài mới theo đúng mục 5b. INSTALL.mdmục 6: máy đã có trạm~/.videothìinit --yestự nhận trạm đó — agent phải
đọc dòngstationcủadoctorvà hỏi trước khi render thử vào trạm đang chạy lịch.
v0.2.0
Chuẩn hóa để chạy như nhau trên Windows và macOS, cài được bằng một lời nhờ agent.
- Trạm mặc định nằm trong repo. Không đặt biến nào thì trạm là
<repo>/workspace/(Git bỏ
qua cả thư mục), kể cả trước khivideo-studio inittạo nó. Bỏ tầng đoán~/.video: máy dùng
trạm ngoài chọn tường minh bằngVIDEO_STATIONhoặcinit --station DIR. Bản cài wheel không
có repo thì mọi lệnh cần trạm dừng mã 3 và chỉ cách chọn trạm. - Trạm giọng không bị đoán.
VOICE_STATION→OMNIVOICE_DIR→ trạm mà repo giọng cài cùng
venv đã được chọn; không có gì thì là "chưa có trạm giọng". - Bài mẫu
samples/news-mini/— bản tin hai cảnh, giọng ghim hạt giống, kèmEXPECTED.md
(lệnh chạy, tên file ra, bảng số đo theo máy) và test không cần mạng. - CI chạy trên mọi nhánh, ma trận Windows + macOS × Python 3.10 / 3.12 / 3.13, action ghim
theo SHA commit. - Skill không còn được chép vào trạm.
initthôi chép 24 skill vào<trạm>/.claude/skills+
.agents/skillsvà thôi ghiskills-lock.json. Gốc repo có adapter.claude/skills/và
.agents/skills/(sinh bằngscripts/build_host_adapters.py,--checkbáo lệch) trỏ về skill
gốc trongskills/— một nguồn,git pulllà có bản mới. Trạm cũ:init --station DIR --migrate
gỡ bản đã chép cùng file khoá (dời vào nhật ký,--undotrả về), skill riêng của người dùng giữ. video-studio uninstall— chỉ gỡ thứ bộ cài đã đặt (skill bản cũ đã chép nếu chưa sửa, liên kết
repo → trạm,.envchưa điền, hook pre-commit của chính nó), dời vào nhật ký của trạm thay vì
xoá; trạm và mọi project giữ nguyên.--dry-runin kế hoạch.doctorcó mứcNOT_CHECKEDcho thứ chưa kiểm được (chạy--offline, thiếu npx) và cho
render— doctor không tự render, nên không để một bảng toàn PASS nói thay. Nhãn người đọc
đổi thànhPASS/WARN/FAIL/NOT_CHECKED/SKIP; JSON thêm danh sáchnot_checked.- Cài bằng một lời nhờ agent:
INSTALL.mdở gốc repo là hướng dẫn dành cho agent (Windows và
macOS, hỏi trước khi cài phần mềm, không tải-rồi-chạy, báo nguyên văn từng dòngdoctor) kèm
prompt copy-dán tiếng Việt và tiếng Anh; README và START-HERE chép đúng prompt đó. AGENTS.md(hướng dẫn chung cho mọi agent) vớiCLAUDE.md/GEMINI.mdlà con trỏ, và
hosts/cho Claude Code, Codex, Antigravity, Claude Desktop — nói rõ đường nạp skill nào đã
chạy, đường nào chưa kiểm.- Trang web
/install/: chọn ứng dụng AI, dán prompt (chép nguyên văn từINSTALL.md), đọc nhãn kiểm tra. START-HERE.mdvà nhật ký thay đổi này.
🤖 Generated with Claude Code
v0.1.0 — a video engine, a news template, and 21 distilled skills
First release. video_studio renders video from a spec: an editing layer
distilled from video-use (transcribe, EDL, grade, pack, render), a news
template with five layouts, and 21 HyperFrames skills whose hashes are checked
against the upstream manifest in CI.
Paths are a contract, not a guess: a drive letter anywhere in a member name is
refused on every OS, and exit codes say which kind of wrong it was — 2 for a
bad spec, 3 for a missing engine — so a scheduler knows whether retrying helps.
Bring your own ffmpeg and your own voice. Tested on Windows and macOS in CI.