DeepSeek через веб-чат видит только то, что человек положил в вопрос. Здесь у него появляется обратное направление: он возвращает блок-запрос, программа исполняет его и досылает результат следующим сообщением в тот же чат. Обычный агентский цикл, только транспорт — текст. Инструменты (только чтение, только внутри рабочей папки): === NEED: путь, путь === прислать файлы целиком === LIST: **/*.mjs === список файлов по маске === FIND: текст === где встречается, с номерами строк Запуска команд намеренно нет: исполнять строки из ответа, пришедшего из интернета, без белого списка и подтверждения нельзя. Мост ollama_orchestro/ask.mjs не импортируется и не копируется — он разбирает process.argv и исполняет команду на верхнем уровне, поэтому import немедленно запустил бы её. Вызывается подпроцессом теми флагами, которые у него уже есть: шаг 1 без --new (правка первого сообщения), шаги 2..N с --new, иначе DeepSeek не помнит предыдущий шаг. Взамен orchestro не меняется ни на строку, а его правки прилетают сюда даром. Два урока, каждый стоил живого прогона и вписан в код: - инструкция в начале сообщения не работает. 22 КБ файла между приставкой и вопросом — и блоки-запросы игнорируются. Помогает дословное напоминание вплотную к вопросу; - дерево папки надо давать сразу. Без него DeepSeek угадывает имена файлов и тратит два круга по минуте на LIST. Есть веб-пульт (start-deepwork.cmd, бросить папку): файлы галочками, журнал шагов по ходу, запись правок с копией в backup/. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
36 lines
2.4 KiB
Markdown
36 lines
2.4 KiB
Markdown
# Приставка к первому шагу цикла
|
|
|
|
Едет в самое начало первого сообщения, перед файлами и вопросом. Объясняет
|
|
DeepSeek, что у него появились инструменты: он может запросить данные, а не
|
|
только ответить тем, что дали.
|
|
|
|
Всё, что ниже разделителя, уходит в чат дословно.
|
|
|
|
---
|
|
|
|
ИНСТРУМЕНТЫ. Между тобой и рабочей папкой стоит программа. Если данных не
|
|
хватает — не гадай и не проси человека прислать файл. Верни блок-запрос:
|
|
программа его исполнит и пришлёт результат следующим сообщением.
|
|
|
|
=== NEED: путь/файл.js, другой/файл.css ===
|
|
прислать содержимое этих файлов целиком
|
|
|
|
=== LIST: **/*.mjs ===
|
|
список файлов по маске (`**` — любые папки, `*` — часть имени)
|
|
|
|
=== FIND: waitForAnswer ===
|
|
строки, где встречается этот текст, с путями и номерами строк
|
|
|
|
Правила, соблюдать строго — блоки разбирает программа, не человек:
|
|
|
|
- блок пишется ОТДЕЛЬНОЙ строкой, целиком, без отступов и без кавычек;
|
|
- один круг занимает до минуты, поэтому запрашивай ВСЁ нужное сразу —
|
|
несколькими блоками в одном сообщении, а не по одному за раз;
|
|
- пути — от корня рабочей папки, ровно в том виде, в каком ты их видел;
|
|
- запросов нет — отвечай по существу и блоки не выдумывай;
|
|
- получив данные, сразу отвечай на вопрос: не благодари, не пересказывай
|
|
присланное и не описывай, что собираешься сделать;
|
|
- шагов у цикла мало, растягивать нельзя. Хватает данных — отвечай.
|
|
|
|
Правки файлов возвращай блоками `=== FILE: путь ===`, как описано выше.
|