Skip to content

Latest commit

 

History

History
283 lines (213 loc) · 26.1 KB

File metadata and controls

283 lines (213 loc) · 26.1 KB

SAIPEN Logo

SAIPEN

Протокол продолжения для агентов ИИ-программирования. Память проекта хранится в обычных файлах Markdown внутри проекта (.saipen/), поэтому любой совместимый холодный агент — без истории чата, без памяти сессии — может запустить /saipen continue, прочитать сохранённые next_action, и продолжить работу без необходимости спрашивать у пользователя что-либо ещё. Состояние принадлежит проекту, а не памяти одного поставщика моделей.

Один комманд для возобновления. Состояние в обычных файлах. Проверенные контракты.

Репозиторий проверяет себя при каждом push; установка, состояние, проверки и удаление — всё локальное — никакой облачной службы, никакого демона, никакой базы данных.

Validation Release License: MIT

v8.0.1 | Спецификация | Руководство | Ядро | Обслуживание | Стиль | Интерфейс | Соответствие | MIT

Короткие кнопки, чтоб пальцы не отсохли: cc ведёт проект к схождению (продолжает активную цель, если она задана), sss докладывает статус и код не лапает, st ставит чекпоинт и жмёт тормоз. Вся карта из 19 шорткатов; на русской раскладке работают сс, ссс, аа, ее, еее, рр. fffocus; xxcut; vvbuild; zzundo.

Project
  |
  +-- .saipen/STATE.md ------ what is happening right now (phase, ticket, mode, next_action)
  +-- .saipen/BOARD.md ------ what work exists (DOING / TODO / DONE / BLOCKED)
  +-- .saipen/LOG.md -------- why the project reached this state (event history)
  +-- .saipen/KNOWLEDGE/ ---- what durable facts must survive sessions
          |
          v
   /saipen continue
          |
          v
      cold agent
          |
          v
     next_action -> work -> checkpoint -> next ticket

Что сохраняется

Живая память проекта хранится в .saipen/ — обычных файлах, которые вы можете читать, сравнивать и коммитить вместе с кодом. Холодный агент отвечает на пять вопросов только из файлов:

Файл / поле Ответы
STATE.md Что происходит прямо сейчас? (фаза, активный тикет, режим работы, блокировщик)
BOARD.md Какие работы существуют / какие активны? (граф тикетов: DOING, TODO, DONE, BLOCKED)
LOG.md Почему проект достиг этого состояния? (дописываемый граф событий)
KNOWLEDGE/ Какие устойчивые факты проекта должны выжить сессиями?
next_actionSTATE.md) Какое точное действие должен выполнить следующий агент?

Это контрольный договор, а не рекомендация по дизайну: saipen stop и каждый переход тикета пишут файлы в фиксированном порядке, и результат проверяется валидатором. Ничего не хранится в хостедной базе данных, и ничего не теряется, когда сессия заканчивается.

Быстрый старт

1. Установите один раз на машину — обучает Claude Code, Codex, Gemini, OpenCode, Aider, Antigravity и любой общий ~/.agents/skills читатель (FreeBuff и т.д.):

git clone https://github.com/vacterro/saipen
cd saipen
powershell -ExecutionPolicy Bypass -File .\bootstrap\inject.ps1     # Windows
bash bootstrap/inject.sh                                            # macOS / Linux

What that touches, so nothing is a surprise: it appends a marked <!-- SAIPEN:BEGIN -->...<!-- SAIPEN:END --> блок к инструкционным файлам агента, которые у вас уже есть (~/.claude/CLAUDE.md, ~/.config/opencode/AGENTS.md, ~/.codex/AGENTS.md, ~/.gemini/GEMINI.md) — сначала создавая резервные копии в .bak] — и копирует протокол в соответствующие папки навыков. Ничего вне этих путей, никакого демона, никаких сетевых вызовов.

2. Запустите проект — откройте агента в вашей папке, введите:

saipen set

Нет установки? Вставьте одну строку в любой агент:

Сначала прочитайте <clone>/saipen/BOOT.md (ядро холодного запуска), затем <clone>/saipen/INDEX.md + <clone>/saipen/STYLE.md и следуйте им.

Изменили мнение? Один комманд возвращает всё на место:

powershell -ExecutionPolicy Bypass -File .\bootstrap\uninstall.ps1  # Windows
bash bootstrap/uninstall.sh                                         # macOS / Linux

Оно удаляет точно отмеченный блок (оставляя остальную часть вашего файла в покое), сначала сохраняет копию .uninstalled.bak, а затем удаляет папки с навыками.

Почему бы просто не использовать историю чата?

SAIPEN направлена на конкретную проблему: ИИ-агент для кодирования, который ничего не запоминает после окончания сессии. Другие инструменты и привычки частично решают эту проблему:

Подход Для чего полезен Что не несёт
История чата / память модели Удобно, никакой настройки Зависит от сессии и поставщика; не сохраняется вместе с проектом, поэтому холодный агент никогда её не увидит
Статический AGENTS.md / файл с инструкциями Прочие правила и соглашения Сам по себе не представляет текущее состояние задачи, next_action, или историю восстановления
Система отслеживания проблем / TODO-лист Управление задачами и задержками Сам по себе не определяет семантику продолжения агента — что должен прочитать и выполнить холодный агент при возобновлении
SAIPEN Живое состояние выполнения, очередь задач, история событий, прочие знания и проверяемые правила продолжения — всё это в обычных файлах рядом с кодом Ничего; именно эта комбинация и является контрактом

Разница не в каком-то одном файле. SAIPEN делает шаг возобновления проверяемым машиной: первое действие холодного агента после /saipen continue определяется сохранённым next_action и проверяется валидатором, а не восстанавливается из памяти.

Инженерные доказательства

SAIPEN сочетает в себе нормативный протокол в обычных файлах с выполнимыми, ориентированными на сбой проверками. Репозиторий демонстрирует проектирование протокола/машины состояний, инструменты на Python, схемы состояния, рассуждения о восстановлении, регрессионные тесты, границы рабочих процессов с несколькими агентами и дисциплину спецификаций.

  • Проектный контракт. SPEC.md определяет модель продолжения, основанную на файлах, и устойчивый контракт на диске; CORE.md и MAINTENANCE.md управляют текущим нормативным поведением.
  • Проверяемое состояние. Канонический валидатор с использованием только стандартной библиотеки читает живую схему STATE и проверяет переходы фаз, зависимости тикетов, связи графа событий, инварианты между документами, возможности и состояние восстановления.
  • Охват сбоев. CONFORMANCE.md сопоставляет требования с фикстурами сценариев; исполнитель сценариев выполняет структурные тесты на прохождение/провал, включая повреждённое состояние восстановления, недопустимые переходы, циклы зависимостей и ограничения только для чтения.
  • Контроль регрессии. audit_checks.py изменяет известные хорошие копии и доказывает, что проверки валидатора всё ещё могут выдать ошибку, а не принимает постоянно зелёный результат как доказательство.
  • Выполняемый уровень. saipen.py предоставляет операции с журналом состояния; bootstrap/ содержит помощники для установки, удаления и экспорта, с необязательным установщиком хука pre-commit.
  • Явные компромиссы. Основное состояние протокола — это обычные файлы без зависимости во время выполнения. Каноническая валидация и CLI-инструменты требуют Python, но используют только его стандартную библиотеку и не требуют установки pip.

Архитектура

Три уровня, строго односторонние зависимости:

CORE            continuation / state / checkpoint / validation       required
  └─ MAINTENANCE   autonomous HUNT / ADD / CLEAN evolution           optional, on top of Core
       └─ GOAL MODE / SUBAGENTS   opt-in throughput/execution        optional

Ядро не зависит от поддержки: при отключённой автономной эволюции SAIPEN всё ещё является полным протоколом продолжения — холодный агент всё ещё возобновляется.

  • Ядро машины состоянийINIT → PLAN → SCOUT → BUILD → VERIFY → REVIEW → SHIP → DONE | BLOCKED.
  • Автономное обслуживание — доска остановлена (ничего рабочего в ## TODO, ничего в ## DOING) и не BLOCKED? Автоматические переходы HUNT (сканирует баги) → ADD (развивает функции) → HUNT, вопросы не задаётся. Сессия, сидящая на BLOCKED, никогда не автоматически охотится (Maintenance § 2.1).
  • Режим цели/saipen goal <objective> поворачивает доску и запускает цель вперёд через VERIFY/REVIEW, падая в автономное обслуживание до тех пор, пока не сработает правило завершения или выполнение не достигнет своего предела (3 волны / 20 тикетов, затем контрольные точки и отчёты) (Maintenance § 2.4).
  • Укрепление — пакетный ввод разбирается на хирургические тикеты (CORE § 1.8); продолжение грязного дерева сохраняет незавершённую работу (CORE § 1.5); секретоподобные значения удаляются из журналов (sk-***) (CORE § 1.2).

Общие команды

Ежедневные точки входа; полная текущая поверхность находится в Core § 1.10.

Команда Делает
/saipen set Принять проект: создать состояние .saipen/
/saipen continue Возобновить из сохранённого состояния проекта — без повторного краткого изложения
/saipen plan Превратить запрос или сырую очередь в тикеты
/saipen goal <text> Автономное выполнение волны против новой цели
/saipen validate Запустить проверки соответствия
/saipen status Только для чтения: фаза, тикеты, блокировщики, устаревание
/saipen stop Контрольная точка и остановка
More commands
Команда Делает
/saipen hunt Принудительно запустить обход дефектов/улучшений сейчас
/saipen markhunt Сухая, неограниченная проверка — записывает находки, ничего не исправляет
/saipen ship Контрольные ворота; коммит, тег и отправка, когда разрешено
/saipen clean Очистка доски и состояния
/saipen translate Изолированная фабрика перевода
/saipen prepare / /saipen collect Упаковать работу для передачи / интегрировать готовый пакет
/saipen test Запустить объявленный набор тестов, только отчёт
/saipen crew Фиксированный порядок цепочки команд (охота → воспроизведение → ввод → сборка → перевод → документирование → отправка)
/saipen improve Мета-контрольная проверка улучшений протокола
/saipen sub ... Создать/принять только для чтения подагентов

Ключи пакетов. ee/qq готовят полные пакеты перевода/вики без интеграции; eee/qqq принимают только готовые пакеты, затем интегрируют, проверяют, рассматривают и отправляют.

saicrew. sc / saipen crew (extensions/subs/crew.md) проходит всю встроенную команду в фиксированном порядке — датчики (saihunt, saitest, saipython, saiui), производители (saitranslate, saiwiki) и Core как единственный основной писатель — до тех пор, пока следующий свежий проход не оставит ничего реального для изменения. Он добавляет ровно один свой механизм: устойчивую цель оркестрации (execution_intent: converge with converge_target: crew), которая делает цепочку возобновляемой и восстанавливаемой из доказательств. saipen crew --dry-run --json выводит цепочку только для чтения; bootstrap/saipen_crew.* — ОПЦИОНАЛЬНЫЙ вручную многооконный помощник, никогда не то, что saipen crew означает. См. extensions/subs/crew.md.

Что SAIPEN не является

  • LLM или модель — это протокол, которым следуют агенты, а не интеллект.
  • IDE или база данных с хостингом памяти — состояние — это обычные файлы в вашем проекте; ничего не хостится.
  • Замена Git — Git всё ещё владеет историей версий; коммитируйте .saipen/ как любой другой код.
  • Распределённое согласие — смотрите границу параллелизма ниже.
  • Гарантия того, что LLM будет принимать правильные инженерные решения — это уменьшает потери контекста и дрейф поведения; это не делает стохастических агентов непогрешимыми.

Задача SAIPEN — это продолжение/контракт состояния плюс проверка и инструменты — передача следующему агенту проверенного машиной начального состояния, а не волшебства.

Граница параллелизма. Мутации журналируемого состояния (SAIOPS) используют проектный OS-лок и журнал восстановления (OPS § 5). Обычные редактирования проекта и отсоединённые писатели находятся вне этого лока. SAIPEN не является распределённым согласием, поэтому отсоединённые писатели требуют внешней координации (SPEC).

Экосистема

Проект Отношение к SAIPEN
SAIPENVIEW Локальный центр управления для проектов SAIPEN на Windows — автоматически обнаруживает .saipen/ рабочие пространства, визуализирует живое состояние и вердикты соответствия, управляет тикетами и запускает AI CLI. Спутник, а не авторитет.
SAIWORK Нисходящий форк CodeNomad, интегрирующий SAIPEN: вставляет BOOT.md/STYLE.md в запуски OpenCode, предоставляет ярлыки SAIPEN и представления состояния проекта, добавляет постоянную очередь приглашений.
FastPrompter Переносимый Windows-черновик и менеджер фрагментов, автоматически обнаруживает .saipen/ папки и добавляет только-для-чтения просмотрщик STATE/BOARD/LOG.

Документация

Документ Что это такое
SPEC.md Формальная архитектура, цели проектирования, тест-литмус
CORE.md Нормативное продолжение, конечный автомат, и контракт команды
MAINTENANCE.md Автономное обслуживание и Режим Цели
CONFORMANCE.md Выполняемые/поведенческие требования и правила валидатора
GUIDE.md Человеческое руководство
RFC.md Перенаправление совместимости на разделённые нормативные документы
STYLE.md Стиль и голос коммуникации агента
UI.md Устаревшие руководства по дизайну золотого интерфейса
Брошюра Презентационная брошюра — EN / RU / ET / DED / JA
All 33 translated guides

🇷🇺 Русский · 🇺🇸 English · 🇪🇪 Eesti · 🇯🇵 日本語 · 👴 Версия Деда

🇺🇦 Українська · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano

🇵🇹 Português · 🇳🇱 Nederlands · 🇵🇱 Polski · 🇸🇪 Svenska · 🇩🇰 Dansk

🇫🇮 Suomi · 🇳🇴 Norsk · 🇨🇳 中文 · 🇰🇷 한국어 · 🇹🇭 ไทย

🇻🇳 Tiếng Việt · 🇸🇦 العربية · 🇮🇱 עברית · 🇹🇷 Türkçe · 🇮🇳 हिन्दी

🇮🇩 Bahasa Indonesia · 🇬🇷 Ελληνικά · 🇨🇿 Čeština · 🇷🇴 Română · 🇭🇺 Magyar

🇧🇬 Български · 🇸🇰 Slovenčina · 🇭🇷 Hrvatski

Заметки по настройке

Язык ответа. Агент по умолчанию отвечает на эстонском — это настройка, а не требование протокола, и ничего другого в SAIPEN не связано с Эстонией. Протокол, код, коммиты и каждый документ остаются на английском при каждом значении. Меняйте только в одном месте: строке reply_language: вверху saipen/STYLE.md. et эстонский, en английский, ru русский, auto выбирает из сообщения, которое вы отправили.

Адаптеры. Платформа, не охваченная инъектором (DeepSeek, Qwen, отдельный OpenAI и т.д.)? Заметки по каждой платформе живут в extensions/adapters/.

Скриншоты

Click to expand FreeBuff agent instructions saipen set in nomadcode saipen screenshot 2026-08-01

SAIPEN Stamp