Перейти к содержимому

Что нового

Свежие изменения.

Новые возможности, исправления и улучшения десктопного приложения, CLI, веб-приложения и harness. Подписаться по RSS.
  1. v0.1.0

    Предварительная версия Cusp 0.1

    Первая публичная предварительная версия Cusp — с CLI cusp, десктопной оболочкой, harness, который подстраивается под модель, четырьмя протоколами и более чем двадцатью пресетами провайдеров и шлюзов.

    Первая публичная предварительная версия. Cusp 0.1 объединяет среду выполнения, harness и слой провайдеров из закрытых альф и добавляет CLI cusp. Подробности — в анонсе.

    Новое

    CLI cusp

    • Интерактивный терминальный интерфейс: переписка в реальном времени, строки инструментов с разворачиваемым выводом, запросы разрешений, вопросы с вариантами ответа, список задач и строка состояния с моделью, уровнем рассуждений, режимом разрешений и стоимостью.
    • Спиннер cusp и глаголы размышлений в терминале, а в конце каждого хода — итог в одну строку. Учитывает NO_COLOR и аккуратно упрощается в базовых терминалах.
    • Слеш-команды: /clear, /resume, /rename, /rewind, /fork, /model, /effort, /mode, /plan, /todos, /cost, /status, /diff, /export, /init, /review, /compact, /help и /exit.
    • Упоминание файлов через @ с автодополнением, !, чтобы выполнить команду оболочки и поделиться её выводом, история запросов и вставка изображений.
    • Shift+Tab переключает режимы разрешений; Esc прерывает работу; двойной Esc выполняет откат.
    • Неинтерактивный режим с -p: вывод text, json и stream-json, в распространённом формате результатов неинтерактивного режима, ввод stream-json для многоходовых конвейеров, --max-turns и решения о разрешениях на основе --allowedTools и --disallowedTools.
    • Флаги сессий: --continue, --resume, --fork-session, --name, --cwd.
    • Флаги модели: --model provider:model, --effort, --permission-mode, --append-system-prompt.
    • Режимы демона: подключиться к запущенному демону, запустить новый или запустить его встроенным в процесс CLI.
    • Коды выхода: 0 — успех, 1 — сбой, 2 — ошибка использования, 130 — прервано.

    Harness

    • Исполнитель инструментов: проверка и исправление входных данных, хуки PreToolUse, движок разрешений, выполнение, хуки PostToolUse и события протокола на каждом шаге. Вызовы только для чтения в одном пакете выполняются параллельно.
    • Набор инструментов по умолчанию, собранный под каждое семейство моделей.
    • Сгенерированная спецификация инструментов, опубликованная в репозитории, — с точными описаниями и схемами, которые видит каждая модель.

    Протокол и API

    • Схемы запросов и ответов REST v1, общие для демона и всех клиентов.
    • Дополнительный системный промпт и правила разрешений на уровне сессии — их используют --append-system-prompt и --allowedTools.
    • Ручное сжатие контекста с необязательными инструкциями.
    • Подтверждения получения сообщений с порядковыми номерами, чтобы клиенты точно знали, куда попало отправленное сообщение.
    • Эндпоинт с ранжированным списком моделей для выбора модели.

    Из закрытых альф

    • Четыре протокола и более двадцати пресетов провайдеров и шлюзов с определением по вставленному ключу. См. Провайдеры и шлюзы.
    • Форматы правок для каждого семейства моделей: apply_patch, str_replace и правки строк с привязкой к хешу. См. Инструменты.
    • Разрешения, хуки, навыки, субагенты, инструкции и конфигурация MCP читаются из .cusp/ и общих файлов .claude/, AGENTS.md и GEMINI.md. См. Импорт вашей настройки.
    • Песочница Seatbelt и bubblewrap для команд оболочки. См. Песочница.
    • Сессии на основе журнала событий с контрольными точками, откатом, ответвлением и worktree (отдельная рабочая копия). См. Сессии.
    • Десктопная оболочка для macOS, Windows и Linux с демоном под наблюдением, хранением ключей в связке ключей (Keychain) и диплинками cusp://. См. Десктопное приложение.

    Известные ограничения

    • Настоящие ходы модели в демоне появятся следующими: цикл harness сейчас подключается к среде выполнения, а сессии 0.1 в демоне используют сценарный исполнитель для тестирования интерфейса и протокола.
    • Веб-приложение, облачная синхронизация и Команда пока недоступны.
    • Интерфейс рабочей области в десктопном приложении ещё в работе; нативная оболочка, управление демоном и связка ключей уже готовы.
    • --system-prompt принимается, но игнорируется с предупреждением. Используйте --append-system-prompt.
    • Слеш-команды в .claude/commands/ не читаются. Перенесите их в .claude/skills/<name>/SKILL.md.
    • Плагины и маркетплейсы не поддерживаются.
    • Списки разрешённых доменов в песочнице пока не применяются: политика с allowedDomains считается полным доступом к сети, и Cusp сообщает об этом.
    • В Windows нет песочницы для оболочки.
    • Bedrock и Vertex работают с bearer-токенами и API-ключами; поддержка AWS SigV4 и Google Application Default Credentials появится позже.
    • Подготовка окружения и встроенная проверка перед остановкой в работе. Хук Stop, который запускает ваши тесты, работает уже сегодня.
  2. v0.0.9

    Закрытая альфа: harness и провайдеры

    Слой провайдеров для четырёх протоколов и более чем двадцати провайдеров, а также harness с инструментами, разрешениями, хуками, песочницей и чтением ваших существующих файлов настроек.

    Вторая закрытая альфа добавляет два слоя, которые делают настоящую работу: общение с моделями и безопасные действия с вашим кодом.

    Провайдеры

    • @cusp/providers: единый нормализованный потоковый интерфейс поверх OpenAI Chat Completions, OpenAI Responses, Anthropic Messages и Google Gemini, а также детерминированный фиктивный провайдер для тестов.
    • Пресеты для Anthropic, OpenAI, Google, OpenRouter, Vercel AI Gateway, xAI, DeepSeek, Z.ai, Moonshot, MiniMax, Alibaba Qwen, Xiaomi MiMo, Groq, Cerebras, Together, Fireworks, DeepInfra, Novita, SiliconFlow, Mistral, Ollama, LM Studio, LiteLLM и vLLM, с определением хоста для Azure OpenAI, Bedrock и Vertex.
    • Определение по вставленному ключу: префиксы ключей, подсказки по хосту, параллельные проверки без расхода токенов и характерные ошибки позволяют определить провайдера и протокол, получить список моделей и выбрать основную и небольшую модель.
    • Каталог моделей с контекстными окнами, ценами, возможностями и оценкой агентных способностей, дополненный данными из открытых источников.
    • Воспроизведение рассуждений для подписей Anthropic, зашифрованных рассуждений OpenAI, подписей мыслей Gemini и полей рассуждений открытых моделей.
    • Единая шкала уровня рассуждений (от none до max), которая отображается на каждого провайдера и ограничивается тем, что принимает модель.
    • Повторные попытки, как в официальных SDK, перезапуск посреди потока, учёт отклонённых параметров, закреплённые запасные варианты, автоматическое кеширование промптов и расчёт стоимости с учётом кеша.
    • Лестница исправления вызовов инструментов: снисходительный разбор JSON, приведение к схеме и извлечение вызовов инструментов, встроенных в текст.

    Инструменты harness

    • Файловые инструменты: Read (нумерация строк, изображения, PDF, ноутбуки, артефакты), Write, Edit и атомарный MultiEdit с лестницей нечёткого сопоставления, о применении которой сообщается, ApplyPatch (V4A), EditLines со строками, привязанными к хешу, и NotebookEdit.
    • Чтение перед правкой и проверка изменений файла непосредственно перед записью.
    • Поиск: Grep (ripgrep или встроенный движок с идентичным выводом), Glob, LS.
    • Оболочка: Bash на среде выполнения, своей для каждой сессии, с неинтерактивным окружением, удалением секретов, тайм-аутами, которые переводят команды в фон, и ограниченным выводом; Process для долго работающих серверов с определением готовности; Terminal для интерактивных программ на PTY.
    • Веб: WebFetch (преобразование в Markdown, защита частных сетей, сообщения о перенаправлениях на другой хост) и WebSearch.
    • Инструменты сессии: TodoWrite и update_plan, AskUserQuestion, EnterPlanMode и ExitPlanMode, Skill, ToolSearch, Agent, SendMessage, ListAgents.
    • Диагностика после правки от tsgo/tsc и языковых серверов через stdio, а также инструменты Diagnostics и LSP.
    • Наборы инструментов для каждого семейства моделей: apply_patch для GPT, правки str_replace для Claude и Gemini, правки с привязкой к хешу для более слабых и локальных моделей. Редко используемые инструменты откладываются за ToolSearch.

    Разрешения и песочница

    • Движок разрешений с распространённым синтаксисом правил (Bash(npm run test:*), Edit(src/**), WebFetch(domain:…), mcp__server__*), с порядком проверки: запретить, затем спросить, затем разрешить.
    • Полноценный парсер оболочки для составных команд, подстановок, heredoc и обёрток, с классификацией команд только для чтения.
    • Режимы default, acceptEdits, plan, auto, bypass и dontAsk.
    • Защищённые пути: запись в них требует одобрения человека в любом режиме.
    • Порт для классификатора автоматического режима, который видит только ваши сообщения и предлагаемое действие, при сбое запрещает действие и останавливается после повторяющихся блокировок.
    • Песочница Seatbelt (macOS) и bubblewrap (Linux) для команд оболочки, которая запрещает выполнение, если недоступна, и объясняет, какое ограничение заблокировало команду.
    • Детектор циклов для повторяющихся циклов инструментов, повторяющегося содержимого и повторяющихся ошибок.

    Хуки и конфигурация

    • Движок хуков с распространёнными событиями и JSON-протоколом, с обработчиками command, http, mcp_tool, prompt и agent.
    • Загрузчики настроек (управляемые, локальные, проектные, пользовательские), файлов инструкций (CUSP.md, CLAUDE.md, AGENTS.md, GEMINI.md, правила с paths:, импорт через @), навыков, субагентов и стилей ответов, которые читают и .cusp/, и .claude/.
    • Доверие к рабочей области: недоверенные проекты не могут добавлять хуки, переменные окружения, MCP-серверы и разрешающие правила.
    • MCP-клиент для серверов stdio и streamable HTTP (с запасным вариантом через SSE): инструменты MCP доступны как отложенные, а подтверждения привязаны к хешу конфигурации каждого сервера.
  3. v0.0.8

    Закрытая альфа: среда выполнения и десктопная оболочка

    Протокол сессий, локальный демон, типизированный клиент, нативная десктопная оболочка и основа дизайн-системы.

    Первая закрытая альфа. Здесь пока ничто не общается с моделью: этот релиз — фундамент, на котором стоит всё остальное.

    Протокол сессий

    • Сессии — это журналы типизированных событий, в которые можно только дописывать, с порядковым номером внутри каждой сессии: сообщения, потоковые фрагменты, вызовы инструментов, запросы разрешений и решения по ним, вопросы, задачи, контрольные точки, сжатие контекста, статус, ошибки и уведомления.
    • Один набор схем Zod (@cusp/protocol) описывает сущности, события, части содержимого, модели, провайдеров и разрешения для всех компонентов.
    • Фреймы WebSocket для подписки на сессии и рабочие области начиная с заданного порядкового номера, так что клиенты продолжают ровно с того места, где остановились. Отдельные фреймы для потоков терминала (PTY).
    • Единый формат ошибок REST со стабильными кодами ошибок, включая ошибки квот провайдеров.

    Демон

    • Локальная среда выполнения агентов — демон (daemon), — который слушает 127.0.0.1 на случайном порту и требует bearer-токен, свой для каждого запуска.
    • Рабочие области, сессии, хранение событий в SQLite и контентно-адресуемое хранилище блобов для контрольных точек файлов.
    • Откат (обрезать журнал и восстановить файлы) и ответвление (скопировать начало журнала в новую сессию).
    • Статус Git, диффы, ветки, коммиты и отдельные worktree (отдельная рабочая копия) для каждой сессии, которые хранятся вне вашего репозитория.
    • Просмотр файлов, нечёткий поиск по файлам с учётом ignore-файлов и отслеживание изменений в рабочей области.
    • Сессии PTY с историей прокрутки для встроенного терминала.
    • Сценарный исполнитель, который создаёт реалистичные ходы без модели, чтобы каждый клиент можно было собрать и протестировать от начала до конца.

    Клиентский SDK

    • TypeScript SDK — типизированный клиент для демона: REST, возобновляемый поток событий и локальная проекция состояния сессии, из которой отрисовывается любой интерфейс.
    • Загрузчик, который находит запущенный демон или запускает новый, привязанный к родительскому процессу.

    Десктопная оболочка

    • Нативная оболочка на Tauri 2 для macOS, Windows и Linux, которая управляет демоном как sidecar: рукопожатие готовности, проверка состояния каждые 10 секунд, перезапуск с экспоненциальной задержкой и корректное завершение.
    • API-ключи в связке ключей ОС (Keychain, диспетчер учётных данных, Secret Service). Значения не записываются в логи и сообщения об ошибках.
    • Глубокие ссылки cusp:// для сессий и обратных вызовов входа, которые буферизуются, пока интерфейс не будет готов.
    • Нативная строка меню в macOS, значок в трее, глобальное сочетание клавиш, чтобы показать или скрыть окно, уведомления, запуск при входе в систему, открытие в редакторе, перетаскивание файлов.
    • IPC по паттерну изоляции с явным списком разрешённых вызовов, строгая политика безопасности контента и никакого удалённого контента.

    Дизайн-система

    • Дизайн-токены: тёплые нейтральные цветовые шкалы, настроенные отдельно для светлой и тёмной темы, один фирменный синий, оставленный для знака и нескольких особых моментов, типографическая шкала на Inter, Geist Mono и Source Serif 4, отступы, скругления, уровни высоты и пресеты анимации.
    • Знак Cusp, построенный из четырёх окружностей, с логотипом-надписью, комбинациями и иконками приложения.
    • Спиннер cusp, индикатор размышлений со сменяющимися глаголами, талисман и аватары участников команды.
    • Доступные базовые компоненты для полей ввода, всплывающих слоёв, навигации, обратной связи и отображения данных; контраст проверяется тестами.