Об этом проекте

Downcity — это проект инфраструктуры агентов для разработчиков, независимых создателей и команд, которые выпускают множество продуктов и рабочих процессов на основе агентов. Его основа — один многократно используемый слой выполнения, обслуживающий множество агентов и продуктов, так что маршрутизацию моделей, инструменты, память, задачи, аутентификацию, использование, биллинг и операции не нужно перестраивать для каждого нового продукта ИИ. Репозиторий представляет собой монорепозиторий pnpm workspace. Публичный пакет downcity предоставляет две поверхности команд: city/downcity, локальный контейнер City, который управляет и запускает агентов, и fed/downfed, менеджер сервера Федерации. Вспомогательные пакеты включают @downcity/workspace (ресурсы рабочей области, укорененные файлы и инструменты поиска, окружение, частное хранилище и встроенный shell), @downcity/agent (выполнение агента и контейнер City с AgentWorkspace, Session, Plugin SDK, многоагентским владением и транспортом HTTP/RPC), @downcity/federation (выполнение Федерации и SDK Embassy для сервисов, аутентификации, окружения, Bureau, доступа пользователей и администраторов), @downcity/type (общие типы протокола), @downcity/services (аккаунты, баланс, использование, платежи и потоки Stripe) и @downcity/ui (компоненты React + Tailwind для консоли и хост-приложений). Стартовые шаблоны охватывают сценарии агентов, краевой Федерации, локальной Федерации и пользовательского интерфейса React, а каталог домашней страницы содержит веб-сайт и документацию для конечных пользователей. Типовое локальное использование: установите CLI с помощью npm или pnpm, подключитесь к Федерации через downcity federation use и federation status, зарегистрируйте репозиторий как рабочую область с помощью downcity agent create ., затем запустите локальный City с помощью downcity on и осмотрите его с помощью downcity agent list или downcity status. Идентификация агента и конфигурация хранятся в пользовательском каталоге ~/.downcity (agents/, plugins/), а рабочая область загружается во время выполнения. В README отмечается, что агенты не имеют независимого состояния запущен/остановлен, и что чат все еще работает, пока CLI City выключен, потому что для взаимодействия создается и удаляется временный локальный City. Перечисленные встроенные возможности агента включают чат, задачи, память, shell, контакты, навыки, веб, звук и рабочую доску. Интеграция предлагается на нескольких уровнях. Пример SDK создает Workspace с песочницей Shell, создает Agent и Session, внедряет модель, созданную хост-приложением (в README указано, что @downcity/agent не разрешает идентификаторы провайдера или модели самостоятельно), отправляет запрос и ожидает завершения хода. Класс RemoteAgent подключается к запущенному City по HTTP через базовый URL. Поверхности продукта — это CLI Downcity, SDK агента, SDK City и SDK UI, а также плагины, сервисы и компоненты пользовательского интерфейса React. Поддержка платформы и безопасность: macOS использует Seatbelt, Linux использует Bubblewrap, а Windows 11 24H2 и новее (сборка 26100+) описывается как разработка/нестабильная версия через Microsoft MXC processcontainer с родным выполнением cmd.exe. В README говорится, что сбои предварительной проверки никогда не приводят к откату к нерестриктивному выполнению, и что MXC находится в публичной предварительной версии, а не является производственной границей безопасности. Команды shell и скриптов выполняются в песочнице агента по умолчанию, с записываемым проектом, открытой сетью и домашней/кэш-папкой песочницы в .downcity/sandbox. Советы включают аудит изменений с помощью git status и git diff, хранение секретов в локальных переменных окружения или downcity env, использование токенов для границ консоли, HTTP и чата, а также обращение внимания на то, что установки на уровне хоста и запись в системные каталоги выходят за пределы песочницы. Документация опубликована на downcity.ai/docs с отдельными страницами для SDK City, SDK агента и SDK UI, README на уровне пакетов и переводом основного README на упрощенный китайский язык.