AImovies · Stellar Drift Picturesтема:Аудит студии
меню: разделы · фильмы · остальноев работе:✅ Действия🎞 Клипы Ч4🔎 Аудит 01🔎 Аудит 07фильмы:01 «Панель зарождения»02 «Наследник орбиты» —03 «Анклав неба» —04 «Переводчик бездны» —05 «Мусорщики войны» —06 «Переговорная» —07 «Хор забвения» —остальное:📋 Сводка дня💧 Вода и кадры🎥 H3-видео✍️ Промты: Luna📏 Чертёж панели🟡 Плита 2.20.2: принято vs в кадрах🔵 Плита 2.20.3: сравнение версий📺 Кит канала🚀 Запуск канала🎬 Студия🎙 Голос агента🔊 Голосовые🎬 Локальные клипы (FreeVideo)🎬 Фильм 08 «Тишина» — съёмка🔊 Фильм 08 — звуковая партитура✅ Фильм 08 — плиты сняты✅ Фильм 07 — одобрить кадры🎬 Программы монтажа🔊 Звук: слои и средства🎯 Выбрать идею фильма (6 карточек)💡 Идеи нового фильма🎞 Монтаж в DaVinci Resolve⚙️ Локальный конвейер (карта работает)📡 Удалённое общение🧭 Аудит студии: агенты, скилы, скрипты🖥 Железо и локальная генерация🔍 Апскейл на локальном ПК💵 Модели и цены🖼 Кадры Антона🧪 Генераторы

Аудит студии: агенты, скилы, скрипты

Проверено кодом и запуском: настройки харнесса, скрипты проекта, HTML-виды, ссылки, гейты оплаты. Ниже — что нашли, что уже исправлено и что ждёт решения Антона.

1. Исправлено сразу

Опасный скрипт `snapshot.py` обезврежен. Раньше он делал shutil.rmtree на уровне модуля — любой запуск (даже --help или простой импорт) удалял существующий бэкап backups/2026-10-02_eod. Теперь: без --run только план, существующие снимки не удаляются, всё под __main__. Проверено: --help и план не меняют папку backups/ (снимков было 22 — стало 22).
Гейты оплаты добавлены: gen_speech.py (раньше один запуск без флагов сразу шёл в платный TTS — теперь без --run печатает план) и reshoot_grass_plate_v5.py (раньше правил карточку и стрелял — теперь показывает, что сделает).
Ошибка в данных исправлена: id модели bytedance/seedream-5-pro-text-to-image не существует — правильный seedream/5-pro-text-to-image (проверено по каталогу Polza). Страница «Модели и цены» пересобрана.
Мусор убран: 6 осиротевших превью от архивных кадров перенесены в _thumbs/_orphan_2026-10-07/ (не удалены). Сам аудит поправлен: папку с перенесённым мусором он больше не считает мусором.
Скилы появились. В проекте не было ни одного скила (папки .dsh/skills не существовало). Созданы два: aimovies-pipeline (короткий свод канона и команд — вместо 73 КБ AGENTS.md, который харнесс обрезает) и aimovies-paid-generation (порядок платной генерации, список опасных скриптов, цены).
Реестр инструментов собран: tools/README.md — все скрипты с описанием и пометкой, есть ли гейт --run (автосборка из докстрок).

2. Автоматические проверки (сейчас)

Аудит проекта — несостыковки, мусор, дубли

АУДИТ ПРОЕКТА — 10.10.2026 20:40

НАЙДЕНО:
  • тяжёлые файлы >20 МБ: 1
      Locations\2.9.1_COLONY_TOP_v6.png (20 МБ)
  • чек-лист: сделано 51, не сделано 29
  • одинаковые файлы: 1
      2.1.1_MARS_DAY_EXT_v10_lit_roadred.jpg = 2.1.1_MARS_DAY_EXT_v10_roadred_soft.jpg

всего пунктов: 3

Виды, ссылки, превью, регрессия уроков

834 · битых 0

=== 2/14 эскизы (check_refs)
  OK НЕТ ФАЙЛА        0
  OK ОТМЕНЕНО         0
  OK СТАРАЯ           0
  OK БЕЗ ПУТИ         0
  OK ПРОМТ ВЫРЕЗАН    0
  OK ФАЙЛ ≠ ПРИНЯТАЯ  0

=== 3/14 промты (check_prompts)
  !! замечаний: 4
   2.14.3 Трава без корней (макро) ⚠ снято, ждёт приёмк
   · дубль в теле ×2: «shallow depth of field»
   · дубль в теле ×2: «deep shadows»
   · дубль в теле ×2: «dust in the air»
   · дубль в теле ×2: «deep shadows»

=== 4/14 локальные клипы (check_clips_whole)
  OK клипов 40 · ✅ все 40 клипов целые: 39 полной длины, 1 коротких намеренно

=== 5/14 промты очереди (queue_prompt_gaps)
  OK  у всех задач очереди свой промт движения

=== 6/14 потерянные имена в службах (check_undefined_names)
  OK  службы не ссылаются на неопределённые имена

=== 7/14 привязка клипов к адресам (check_clip_addr_match)
  OK  у каждого адреса свой клип, подмены номерами нет

=== 8/14 файлы в «Приложить» (check_attach_files)
  OK  все ссылки в «Приложить» указывают на существующие файлы

=== 9/14 виды и их сборщики (check_orphan_views)
  OK  все виды, у которых есть сборщик, пересобираются

=== 10/14 сборка текста службами (check_service_build)
  OK  все службы собирают текст без ошибок

=== 11/14 форма файла секретов (check_credentials_shape)
  OK  ключи только version / records / refs — интерфейс ругаться не будет
  OK  тест: проверка ловит лишний ключ

=== 12/14 статус карточки и файл на диске (check_card_status)
  OK  метка каждой карточки совпадает с фактом: файла нет — ждёт, файл есть — снято

=== 13/14 единообразие героя и предмета (check_identity)
  OK  все кадры сущностей рисуются по своим эталонам

=== 14/14 род речи агента (check_voice_gender)
  OK  о себе — только в женском роде (Веста: сделала, проверила, нашла)

ИТОГ: есть замечания — смотри выше

Опасные скрипты (кто может уйти в оплату без --run)

=== скрипты, связанные с деньгами: 41
    с гейтом --run: 25 · БЕЗ гейта: 16

=== БЕЗ гейта --run (опасно: могут уйти в оплату от одного запуска)
файл                                --help  __main__
_gen_round.py                          НЕТ       НЕТ
build_root_index.py                    НЕТ      есть
check_balance.py                      есть      есть
compare_models.py                     есть      есть
gen_agent.py                          есть      есть
gen_video.py                          есть      есть
llm_price_compare.py                  есть      есть
make_voice_variants.py                есть      есть
part1_run.py                          есть      есть
part_run.py                           есть      есть
pc_monitor.py                         есть      есть
scan_generators.py                    есть      есть
scan_generators_full.py               есть      есть
voice.py                              есть      есть
voice_pitch.py                        есть      есть
voice_polza.py                         НЕТ      есть

3. Агенты и скилы (отчёт отдельного агента)

Полный отчёт: _АУДИТ_АГЕНТОВ.md (50 КБ). Ниже — самое важное.

1. Что найдено

Сортировка — по серьёзности. 🔴 блокер · 🟠 важно · 🟡 мелочь.

#ПроблемаГдеСерьёзностьЧто делать
1snapshot.py не имеет if __name__ == "__main__" и на строке 16 делает shutil.rmtree(DST). Любой запуск (в том числе python tools/snapshot.py --help и даже import snapshot) удаляет существующий бэкап backups/2026-10-02_eod/ и заменяет его текущим состояниемtools/snapshot.py:9-17🔴Обернуть в main() + __main__, добавить --help, убрать rmtree (или требовать --force + --stamp)
2AGENTS.md не помещается в лимит харнесса. Файл 73 271 байт, а agent-instructions обрезает на maxBytes: 65536. Срезается хвост — а это как раз канон: «двойной свет», «тройная проверка после каждой сборки», кеш генераций, VPN, ловушки Windows, безопасность ключейAGENTS.md (73 271 б) vs dsh-base/cordis.patch.yml:289-292🔴Разделить: AGENTS.md — короткий (≤50 КБ) «прочти первым», остальное — в 10_Studio_Pipeline.md и скилы (см. § 6)
3check_all.py НЕ проходит прямо сейчас (код возврата 1). 8 битых ссылок в films/07_Chorus_of_Oblivion/05_Refs/01_GEN_PACK_P1.html (6 уникальных целей: 2.1.1_BRIDGE_cold_v1, 3.1.1_BUOY_cold_v1, 1.1.20_ORLOV_costume_v1 ×3, 1.2.20_DAI_costume_v1 и др.), 9 «СТАРЫХ» ссылок в 01_GEN_PACK_P1.md:1212+, 4 замечания к промту карточки 2.14.3. При этом AGENTS.md утверждает «Все 23 вида пересобраны, check_all.py проходит»проверено запуском; AGENTS.md (начало файла)🔴Пересобрать страницу фильма 07 или заменить битые ссылки пометками в косых кавычках; починить канон AGENTS.md
4Платные генераторы без гейта --run: part_run.py (лимит по умолчанию 1800 ₽), part1_run.py (500 ₽), gen_speech.py, make_voice_variants.py, reshoot_grass_plate_v5.py, _gen_round.py, voice_polza.py. У соседних скриптов гейт есть (part_batch.py, part1_video.py, shoot_part4.py, video_batch.py, gen.py, gen_queue.py) — правило применяется непоследовательноtools/part_run.py:45-78, part1_run.py:30-63, gen_speech.py:70-83, make_voice_variants.py:51-79, reshoot_grass_plate_v5.py:48-71, _gen_round.py:98, voice_polza.py:65-79🔴Добавить во все семь --run по образцу part_batch.py; без флага печатать смету и выходить
5AGENTS.md документирует несуществующую команду. Строка 142: python tools/gen_agent.py --film NN [--only … --approve]. У gen_agent.py (argparse) есть только --once, --watch, --only, --parallel. Проверено: команда падает с error: unrecognized arguments: --film 01 --approve, код 2AGENTS.md:142 vs tools/gen_agent.py:201-207🟠Либо поправить строку в AGENTS.md, либо добавить --film/--approve в gen_agent.py
6Числа скриптов в документах устарели в 3 раза. Фактически в tools/ — 242 .py. Документы говорят «72» (00_ПЕРЕДАЧА.md:111, AGENTS.md, CHANGELOG.md) и «итого 78» (00_ПЕРЕДАЧА.md:114, AGENTS.md)00_ПЕРЕДАЧА.md:111,114, AGENTS.md🟠Обновить числа; лучше — вообще не писать число, а давать команду подсчёта
7Число уроков в LESSONS.md не совпадает с заявленным, и нумерация поехала. В таблице 30 строк, максимальный номер — 26 (есть 0, 0б, 0в, 4б). Блоки идут в порядке 0…12 → 20…26 → 19 → 13…18, причём 13–18 и 19 оказались после раздела «Что обязан проверять проверяльщик». AGENTS.md говорит «сейчас 24 урока»tools/LESSONS.md, AGENTS.md:123🟠Перенумеровать по порядку и перенести таблицы 13–19 до врезки; поправить число в AGENTS.md
8eod.py --help создаёт архив. main() не знает --help: без --list сразу вызывает make(mode, dest). Правило проекта — архив делать только по слову Антонаtools/eod.py:186-193🟠Добавить --help (как в 157 других скриптах)
9check_all.py --help не показывает справку, а запускает весь прогон (проверено: 43 страницы, 3 836 ссылок, код возврата 1). Так же ведут себя check_refs.py, check_prompts.py, check_before.py, build_pack_html.py (пересобирает виды), archive_unused.py (печатает широкий план чистки)tools/check_all.py:36, build_pack_html.py:1615, archive_unused.py:91🟠Дописать проверку --help в первую очередь main()
10Ключ к несуществующей модели на странице цен. tools/build_models_prices.py:109 печатает <code>bytedance/seedream-5-pro-text-to-image</code>, в каталоге Polza id другой — seedream/5-pro-text-to-image. Ошибка уже стоит в собранной странице research/_MODELS_PRICES.html:233tools/build_models_prices.py:109, research/_MODELS_PRICES.html:233🟠Заменить id и пересобрать страницу
11review_server.py не запускается: import cgi → ModuleNotFoundError (модуль удалён из Python 3.13; здесь 3.14.8). В хвосте AGENTS.md это уже отмечено, но скрипт остался в tools/tools/review_server.py, проверено запуском🟡Убрать скрипт в _archives/ или переписать на email.parser/multipart
12Страницы тяжелее собственного лимита проекта. voice/00_ГОЛОСОВЫЕ.html — 20,78 МБ, films/07_Chorus_of_Oblivion/00_INDEX.html — 13,92 МБ. Правило: «если страница станет тяжелее ~3 МБ — уменьшать качество вшивания»voice/00_ГОЛОСОВЫЕ.html, films/07_Chorus_of_Oblivion/00_INDEX.html; правило — в AGENTS.md🟠Понизить качество/ширину вшивания в media_embed.py для этих двух страниц
13Ссылка на несуществующий файл настроек. 10_Studio_Pipeline.md:318 ссылается на ~/.dsh/settings.yaml.imported. В C:\Users\Tony\.dsh\ такого файла нет вообще (есть только profiles/desktop/cordis.patch.yml)10_Studio_Pipeline.md:318🟡Убрать абзац или переписать под cordis.patch.yml
14Устаревшее утверждение в передаче. 00_ПЕРЕДАЧА.md:144: «Костюмов Орлова и Дэй нет ни в одной версии». Фактически существуют films/07_Chorus_of_Oblivion/05_Refs/Characters/1.1.20_ORLOV_costume_v1.png и 1.2.20_DAI_costume_v1.png00_ПЕРЕДАЧА.md:144 vs файлы на диске🟡Обновить пункт 3 списка решений
154 скрипта печатают русский текст без import _enc. Проверено на практике: python tools/_fix_help.py --help выдаёт битую кодировку (??? ?????: --help в консоли cp1251)_fix_help.py, _fix_enc.py, _font.py, _debug_vertical.py🟡Добавить import _enc (правило проекта) либо удалить одноразовые _fix_*
16Одноразовые скрипты-правщики остались в tools/ и могут быть запущены повторно. _fix_enc.py переписывает все .py, _fix_help.py вставляет строки в main(), _debug_vertical.py (35 строк) выполняется прямо при импорте, snapshot.py — см. № 1tools/_fix_enc.py, _fix_help.py, _debug_vertical.py🟡Перенести в _archives/oneoff/
17100 из 242 скриптов не упомянуты ни в одном руководящем документе (AGENTS.md, 00_ПЕРЕДАЧА.md, 10_Studio_Pipeline.md, studio/00_README.md, tools/LESSONS.md, CHANGELOG.md, Movies.md, _actions/*). Примеры: build_hardware_html.py, build_models_prices.py, make_capcut_pack.py, remove_capcut_projects.py, probe_comfyui.py, make_triple_check_input.pyпроверено сплошным сопоставлением имён🟠Реестр инструментов: таблица скрипт → роль → вход/выход → платно/бесплатно
18_watch/status.json хранит nav_bad: 35, тогда как check_all.py печатает «без панели: 0». Метрики расходятся_watch/status.json, tools/watch_html.py:106🟡Разобраться, что считает nav_bad, и привести к одному источнику

2. Агенты: состав и проблемы

Где искала

▶Где искала
C:\Users\Tony\.dsh\.credentials.yaml                       538 б   (ключ POLZA_API_KEY — в refs)
C:\Users\Tony\.dsh\.anonymous-user-id                       37 б
C:\Users\Tony\.dsh\profiles\desktop\cordis.yml               223 б
C:\Users\Tony\.dsh\profiles\desktop\cordis.patch.yml       56 969 б   ← единственный файл с настройками
C:\Users\Tony\.dsh\profiles\desktop\package.json             211 б
C:\Users\Tony\.dsh\profiles\desktop\pnpm-workspace.yaml       61 б
C:\Users\Tony\.dsh\llm-deepseek\files-v3.json             96 795 б   (кеш каталога файлов, не настройки)
пояснения

C:\Users\Tony\.dsh\ — все файлы конфигурации. Найдено ровно пять (плюс sessions/, cache/, storages/, которые к настройкам агентов не относятся):

пояснения

Папок skills/, agents/, settings.yaml в ~/.dsh нет (искала обходом всего дерева). Папки .dsh/.agents в E:\AImovies нет тоже.

Сколько агентов определено

пояснения

Пользовательских агентов — 0. В cordis.patch.yml ровно 5 строк (проверено: 5 совпадений ^- id:):

idчто задаёт
agent-default-modelprovider: deepseek-account, model: deepseek-flash, reasoningEffort: high
ui-settings-accountпрофиль интерфейса (purpose/process/completion)
ui-chatвид транскрипта
ui-settingsвключены настройки
llm-pi-aiпровайдер polza: baseURL: https://polza.ai/api/v1, apiKeyEnv: POLZA_API_KEY, 419 моделей (строки 29–1551)

Пресет агента — один, встроенный: preset-standard (@deepseek-ai/dsh-web-app/presets/standard.patch.yml), реестр пресетов настроен на него: dsh-web-app/cordis.patch.yml:561-565 → default: standard. Своих пресетов в профиле не сохранено (проверено: ни одной строки preset-* в cordis.patch.yml), хотя редактор пресетов в сборке есть (@deepseek-ai/dsh-client-ui-agent-preset).

Роли и модели

Проблемы агентов


пояснения
ПроблемаФактСерьёзность
Дублей агентов нетпользовательских агентов 0, дублировать нечего—
Агентов без описания нетописаний нет, потому что нет и агентов—
Агентов с ролями нет вообщевсе 7 проектных ролей (§ 5) выполняются одной и той же сессией с полным набором инструментов, включая право на платную генерацию🟠
Агент с несуществующими моделями — не найденвсе 419 id из llm-pi-ai есть в _watch/models.json; дублей id в конфиге — 0—
Устаревших ссылок в конфиге DSH не найденоконфиг — только модели и UI; ссылок на файлы нет—
Вложенный веер недоступенmaxDepth = 1🟠
AGENTS.md обрезаетсясм. § 1 № 2🔴

3. Скилы: состав и проблемы

Где искала

  1. C:\Users\Tony\.dsh\skills — не найдено (папки нет).
  2. E:\AImovies\.dsh\skills и E:\AImovies\.agents\skills — не найдено (папок нет; .git в проекте тоже нет, поэтому корнем проекта считается текущая папка).
  3. ~\.agents — не найдено.
  4. Внутри поставки DSH (app.asar) — найдено 8 файлов SKILL.md.
пояснения

Правила поиска (по dsh-skill-filesystem/README.md:46-56) — корни по приоритету: <projectRoot>/.dsh/skills (100) → <projectRoot>/.agents/skills (200) → <dshHome>/skills (400) → <~/.agents>/skills (500). Ищется ровно один уровень: <root>/<имя>/SKILL.md или <root>/<имя>.md; name — kebab-case; description обязателен.

Состав (8 скилов в поставке)

пояснения
СкилПуть в поставкеFrontmatterСсылки на файлыПримеры
diagnose-windows-sandbox-acl@deepseek-ai/dsh-sandbox-windows-acl/assets/diagnose-windows-sandbox-acl/SKILL.mdname + description ✅0да
office-docx@deepseek-ai/dsh-skill-office/assets/office-docx/SKILL.md✅../scripts/check_office.py — файл естьда
office-pptx…/assets/office-pptx/SKILL.md✅то жеда
office-xlsx…/assets/office-xlsx/SKILL.md✅то жеда
agent-experience@deepseek-ai/dsh-agent-preset/skills/agent-experience/SKILL.md✅0нет (1 787 знаков, без блоков кода)
cordis-composition-reference…/skills/cordis-composition-reference/SKILL.md✅references/packages.md — естьнет
cordis-plugin-development…/skills/cordis-plugin-development/SKILL.md✅12 ссылок — все найденынет блоков кода (только ссылки на ресурсы)
editing-cordis-compositions…/skills/editing-cordis-compositions/SKILL.md✅0да

Что видит агент

пояснения

В каталоге этой сессии — 4 скила: diagnose-windows-sandbox-acl, office-docx, office-pptx, office-xlsx. 4 скила пакета dsh-agent-preset в каталог не попадают — они лежат в поставке, но в этой сборке агенту не предлагаются.

Проблемы скилов


пояснения
ПроблемаФактСерьёзность
В проекте AImovies нет ни одного скилани E:\AImovies\.dsh\skills, ни .agents\skills, ни ~/.dsh/skills, ни SKILL.md — искала везде. При этом у проекта 242 скрипта и 73 КБ правил, которые не помещаются в инструкции🔴
4 скила поставки не предлагаютсяagent-experience, cordis-composition-reference, cordis-plugin-development, editing-cordis-compositions есть на диске, в каталоге сессии их нет🟡
3 скила без примеров использованияagent-experience, cordis-composition-reference, cordis-plugin-development — нет блоков кода/команд🟡
Битых ссылок внутри скилов — не найденоу office-* путь <skill-directory>/../scripts/check_office.py разрешается верно (assets/scripts/check_office.py, 13 217 б)—
Скилов без frontmatter — не найденоу всех 8 есть name и description—
Дублирующихся скилов — не найденоназначения не пересекаются—
Скилы DSH не про киновсе 8 — про харнесс и Office; ни один не знает про кадры, канон, CapCut, Polza, FreeVideo🟠

4. Ждёт решения Антона

5. Реестр инструментов

Реестр инструментов tools/

Собрано автоматически 10.10.2026 19:46 из докстрок скриптов: 562 штук, 9 групп. Пересобрать: python tools/build_tools_registry.py --apply.

Столбец «--run» означает, что скрипт сам проверяет флаг подтверждения. Если у платного скрипта стоит «—», запускать его без понимания последствий нельзя.

Полный реестр всех скриптов с описаниями — tools/README.md (99 КБ). Пересобрать: python tools/build_tools_registry.py --apply.

другие виды: ⌂Основная✅ Действия и подтверждения📋 Сводка дняИндексP1 · персонажи и локацииP2 · тетрадь и VFXПлан комплексаОзвучкаМузыка💧 Вода и новые кадры (промты)🎥 Видео на MiniMax H3 (пары кадров)✍️ Промты: я и GPT-6 Luna📏 Панель: габариты и чертёж🟡 Плита 2.20.2: принято vs в кадрах🔵 Плита 2.20.3: сравнение версий📐 Габариты и формат плит✅ Приёмка правок🎬 Тест видео (Kling)🪝 Крючки частей🎞 Часть 1 — отсмотр📺 Кит запуска канала🚀 Запуск нового канала🎬 Студия Stellar Drift Pictures🎙 Голос агента (варианты)🔊 Голосовые сообщения🚀 Выбор корабля (фильм 07)🔎 Аудит фильма 07✂️ Монтаж тизера (звук)🎬 Тизер фильма 01 (план)🎬 Локальные клипы (FreeVideo)🎬 Фильм 08 «Тишина» — съёмка🔊 Фильм 08 — звуковая партитура✅ Фильм 08 — плиты сняты✅ Фильм 07 — одобрить кадры🔎 Аудит: сводка и одобрения🎞 Клипы Части 4 — отсмотр🎬 Программы монтажа🔊 Звук: слои и средства🎯 Выбрать идею фильма (6 карточек)💡 Идеи нового фильма🎞 Монтаж в DaVinci Resolve⚙️ Локальный конвейер (карта работает)📡 Удалённое общение🖥 Железо и локальная генерация🔍 Апскейл на локальном ПК💵 Модели и цены Polza🖼 Кадры Антона: вода и зелень🧪 Генераторы: цены и примеры
↑