CLI и структурированный выход
Используйте open-science для проверки статуса приложения, выполнения задач, управления Коннекторами и учетными данными и управления локальной службой. Начните с установленной пусковой установки и подтвердите, к какому локальному экземпляру она подключается.
Настройка из терминала
Сначала установите настольное приложение и сделайте его команду open-science доступной. CLI использует бэкэнд приложения; Это не отдельный демон npm. Пакеты Debian включают команду. Если пусковая установка отсутствует, следуйте за установкой пусковой установки платформы или используйте установленную запись CLI, а затем open-science cli install.
open-science init
open-science start --no-open
open-science runtime list --json
open-science doctor --json
init создает каталог конфигурации без запуска приложения. --profile - псевдоним для --config-root для поддерживаемых профилей разработки; Упакованный стартап отвергает эти переопределения. Последовательно используйте один профиль. runtime list показывает обнаруженную готовность фреймворка, версию и управляемый/внешний источник без раскрытия исполняемых путей.
Для неконфигурированной настройки Codex:
open-science runtime install codex --json
open-science codex login
open-science doctor --json
Следуйте за потоком входа. Это подготавливает или восстанавливает управляемое время выполнения Codex и регистрирует подписку через приложение. Он не импортирует внешние файлы входа Codex. Первый загрузочный страп в настоящее время нацелен на Codex, хотя список выполнения включает в себя другие фреймворки. О существующей конфликтной конфигурации сообщается, а не молча заменяется.
Если вместо этого используется ключ OpenAI API, используйте provider add --type official --vendor openai --model MODEL_ID --api-key-env OPENAI_API_KEY --json с поддерживаемым идентификатором модели и ключом, уже поставляемым через среду управления секретом. Для OpenAlex используйте connector configure literature --openalex-key-env OPENALEX_API_KEY --json. Префиксируйте обе команды с помощью open-science. Никогда не ставьте сам ключ в командные аргументы. Успешная проверка учетных данных не устанавливает, что исследовательский запрос завершен или что квота остается.
Прочитайте готовый, индивидуальный проверка и предложите действия следующий от doctor. Отчет может успешно выйти, в то время как ready является ложным. Если бэкэнд отсутствует, Доктор сообщает об этом и выходит из 3. Завершите заявленную предпосылку, проверьте еще раз, затем выполнить задание в предполагаемом проекте.
Точки входа
| Вступление | Требование | Команда |
|---|---|---|
| Установка прикладной пусковой установки | Settings → General → Command line tool → Install command | open-science --help |
| Проверка источника | Встроенные зависимости приложений и репозиторий | node packages/open-science/cli.mjs --help |
| ppm клиент | Node.js 22.5+ и установленное приложение; подтверждение наличия пакета перед установкой | идентификатор пакета @aipoch/open-science |
Установленная пусковая установка использует упакованное время выполнения приложения. Если его каталог отсутствует в PATH, следуйте инструкциям общей панели и откройте новый терминал. Не переименовывайте исполняемый файл в соответствии с брендингом дисплея.
После Install command откройте новое окно PowerShell и запустите:
Get-Command open-science | Select-Object Name, Source
open-science --help
open-science status --json
Убедитесь, что Source указывает на пусковую установку, обычно open-science.cmd под вашим профилем пользователя. Успешный вывод помощи подтверждает запуск пусковой установки. Если статус возвращает {"running":false}, CLI не сообщает о запущенном бэкэнде; Это не означает, что окно рабочего стола закрыто. Проверьте предполагаемый экземпляр с помощью Режим работы сервера перед отправкой задач или загрузкой файлов.
Выполните небольшую командную задачу
Пример Сохранить записку из командной строки
- Установите команду, используя вход выше. Держите настольное приложение работающим с рабочей моделью.
- Запустите
open-science status --json, затемopen-science project list --json. Проверьте предполагаемый экземпляр и скопируйте возвращенный идентификатор проекта. - Сохранить
task.mdс помощью Сохранить project-note.md, содержащий краткую заметку о проверке соединения. Не читайте другие файлы и не используйте сеть. - Запускайте команды под Запуск входных и контрольных флагов. Заменить каждый заполнитель только после получения его идентификатора из предыдущего результата.
- Если запуск приостанавливается для разрешения, ответьте в своем настольном разговоре.
--waitможет отсчитывать время, пока работа продолжается. Проверьтеrun status RUN_ID --json, прежде чем снова подать заявку. - Выберите возвращенный идентификатор артефакта Markdown, загрузите его в новое локальное имя файла и откройте его. Завершенный прогон без запрашиваемого артефакта требует последующих действий в ходе этой сессии. Если артефакт существует, но загрузка не удается, следуйте Артефакт скачать восстановление.
Для выполнения задач первого плана используйте --return-on-attention, проверьте возвращенный план и ответьте через приложение или команды плана ниже. Для интеграции JSON следует отличать запущенный, завершенный, неудавшийся и отмененный, а не рассматривать каждый успешный ответ HTTP как завершенную задачу.
Командные семьи
| Команда | Аргументы/флаги | Эффект |
|---|---|---|
project list | --json | Читайте доступные проекты |
project create | Имя, факультативно --description, один из --agent-context / --agent-context-file | Создать проект |
project update | ID или точное имя, предоставленные метаданные/контекстовые поля | Модифицировать только поставляемые поля; --clear-agent-context Явно проясняет контекст |
project session-defaults show | Идентификатор проекта или точное имя | Читайте дефолты для новых сессий |
project session-defaults update | Проект плюс сеансовые опции | Обновление по умолчанию с защитой от одновременных редактирования |
run | --projectБыстрый ввод, факультативный --session, --wait | Начать или продолжить работу |
run status / run cancel | Проверить. | Проверить или явно отменить пробежку |
session status | Сеансовый идентификатор | Читать сессию Состояние |
session config show | Сеансовый идентификатор | Чтение: сохраняющаяся/эффективная конфигурация и пересмотр |
session config update | Идентификатор сеанса, --revisionПредоставляемые варианты | Изменение поворотов в будущем, когда сессия может принять обновление |
settings agent-routing show/update | Параметры маршрутизации Framework and Reviewer/Subagent | Читать или атомарно обновлять глобальную маршрутизацию |
plan show/approve/reject/revise | идентификатор сеанса; Решение требует точной версии артефакта и его пересмотра. | Читайте или отвечайте на активный план |
artifacts list | Сеансовый идентификатор | Читать сохраненные артефакты |
artifacts download | Идентификатор артефакта, --output | Сохранить внешнюю копию |
Используйте идентификаторы проектов в сценариях. CLI может определить уникальное точное название проекта. Дублирующие имена неоднозначны. Маршрутизация SDK/HTTP требует наличия идентификаторов. Контекст проекта принимает до символов 16,000, а список/создание/обновление результатов обнажает hasAgentContext, а не частный контекстный корпус.
Если artifacts download не работает с HTTP 500, обновите старое приложение и повторите тот же идентификатор возвращенного артефакта. Скачать Recovery Steps отличает завершенную задачу от неудавшейся передачи файлов. Не повторяйте исследовательскую задачу только для того, чтобы получить существующий результат.
Управлять коннекторами и учетными данными
Эти команды используют бегущий бэкэнд и сохраненные настройки. Подтвердите предполагаемый экземпляр перед редактированием. Пользовательские записи Connector и учетные данные требуют локального аутентифицированного соединения; Для сервера запустите CLI на этом сервере, в том числе через SSH.
| Команда | Вход/результат |
|---|---|
| Список разъемов открытой науки — Джонсон | Безопасные настройки просмотров доступных коннекторов |
| Открытый научный разъем CONNECTOR_ID -json | Конфигурация/статус для возвращаемого идентификатора |
| Открытый научный разъем CONNECTOR_ID | Установите включенное предпочтение |
| Открытый научный разъем отключает CONNECTOR_ID | Очистите свои включенные предпочтения |
| open-science connector add (недоступная ссылка) | Прочитайте новое пользовательское определение MCP от JSON stdin |
| Обновление разъема открытой науки CONNECTOR_ID -json | Обновление конфигурации от JSON stdin |
| Открытый научный разъем удалить CONNECTOR_ID | Удалите пользовательское определение MCP |
| Открыто-научный разъемный тест CONNECTOR_ID -json | Откройте инструменты через отдельное соединение, а затем закройте его. |
| Открыто-научный список — Джонсон | Читайте метаданные учетных данных без сырых секретов |
| Открытая наука Добавить -json | Прочитайте новый сертификат от JSON Stdin |
| Обновление CREDENTIAL_ID -json | Обновление имени дисплея и/или секрета от JSON stdin |
Пример Отправьте локальную конфигурацию Connector
Отправьте подготовленный локальный файл конфигурации с:
open-science connector add --json < connector.json
| Поле конфигурации | Требование |
|---|---|
| Имя / DisplayName | Требуется для нового пользовательского Connector; Имя/ID остается стабильным во время обновления |
| транспорт | stdio, streamable_http или Sse; Также требуется для обновления |
| команда / args | Локальные исполняемые и необязательные аргументы для stdio |
| урл | Конечная точка для HTTP/SSE |
| envCredentialIds / headerCredentialIds | Обязательные имена окружения / заголовков для сохраненных учетных данных |
| oauthCredentialId | Объединить существующий общий учетный документ OAuth |
| Опущенные обязательные документы | Сохранение сохраненных значений при обновлении; Пустая среда / объект связывания заголовка очищает карту |
Можно добавлять, редактировать или удалять только пользовательские определения MCP. Enabled — это предпочтение выбора, а не доказательство подключения или глобального аннулирования доступа к Specialist.
испытание не позволяет использовать Connector или выполнять его бизнес-инструменты. Он возвращает успех, дополнительный инструментCount и сообщение. Открытие ограничено десятью секундами, а отказ выходит ненулевым. Связанная живая диагностика Connector не поддерживается. Тестирование может обновить существующие токены OAuth, но не выполняет вход в браузер впервые.
Credential записывает секреты через JSON stdin. Держите их вне командных аргументов и истории снарядов. Ввод токена использует имя отображения, вид: токен и секрет; Также поддерживается api_key. Свяжите возвращенный createdCredential.id с Connector. Старые бэкэнды без этих конечных точек возвращают ошибку, а не возвращаются к прямым настройкам-файлам.
Запуск входных и контрольных флагов
open-science project list --json
open-science run --project PROJECT_ID --prompt-file ./task.md --wait --json
open-science artifacts list SESSION_ID --json
open-science artifacts download ARTIFACT_ID --output ./result.csv --json
Замените капитализированных держателей с возвращенными идентификаторами. В примере не указаны изобретённый Skill или провайдер, который должен существовать на вашей установке.
| Флаг | контракт |
|---|---|
--prompt / --prompt-file | Встроенный текст или файл UTF-8; Stdin может обеспечить подсказку при опущении |
--session | Продолжить указанную сессию |
--cwd | Внешний рабочий каталог; CLI решает относительный путь, сервер канонизирует и проверяет его. |
--approval-profile | ask, auto, full; по умолчанию ask |
--provider + --model / --provider-default-model | Выберите настроенного поставщика и явную или принадлежащую поставщику модель по умолчанию. |
--reasoning-effort | Списки помощи CLI default, low, medium, high, xhigh, max; Выбор модели UI может отличаться |
--skill | Повторяемый установленный идентификатор Skill; Не устанавливайте недостающий Skill |
--plan-first | Требуется ответ на план перед выполнением |
--auto-review / --no-auto-review | Установить сеанс автоматического обзора |
--memory / --no-memory | Установить память сеанса; взаимоисключающий |
--specialist | Привязать новый сеанс с помощью UUID или стабильного имени профиля; Имя презентации не является идентификатором маршрутизации |
--delegation allow/deny | контроль приема новых делегированных работ; Отказ не отменяет существующих детей |
--compute-host | Повторяемые конфигурируемые идентификаторы хоста; выбирает цели выполнения, не настраивает SSH |
--enable-compute-host / --clear-compute-hosts | Управление доступом/дефолтом на новой сессии; Изменения в существующем сессионном доступе используют обновление конфигурации |
Внешний cwd остается в собственности абонента. Повторное использование --session с --cwd требует того же канонического каталога. Запрос на выполнение не перемещает сеанс. Отказ от хост-варианта сохраняет существующий выбор; Используйте явную операцию очистки, когда это предназначено.
Ожидание, внимание и отмена
| Вариант/штат | Результат |
|---|---|
Без --wait | Возвращение после приема; сохранять id и sessionId Опросить позже |
--wait | Дождитесь состояния терминального запуска |
--wait --return-on-attention | Возвращается, когда требуется утверждение структурированного плана; Поводы разрешения - это не одно и то же состояние внимания. |
--timeout-ms | Прекратить ожидание клиента после истечения срока; Серверный запуск продолжается |
--cancel-on-timeout | Явно отменить после тайм-аута; Командир все еще сообщает о тайм-ауте |
run cancel RUN_ID | ожидание отмены/финализации; сохранение уже завершенных артефактов |
Для утверждения плана сначала прочитайте plan show, затем поставьте как --artifact-version, так и --revision. Решение о несвоевременном плане не должно применяться к новому плану. Обновления конфигурации сеанса также требуют пересмотра, возвращенного session config show. Обновления возвращают session_revision_conflict. Активный корневой агент, субагент или Notebook может блокировать обновление с помощью session_busy.
Структурированные коды выхода и выхода
--json выдает один результат. --jsonl доступен с run --wait, транслирует события и заканчивается результатом выполнения. Не объединяйте эти два. Ошибки структурированы на stderr по запросу; Проанализируйте error.code, а не только исходный код процесса.
На местном уровне были воспроизведены следующие ответы по недействительным вариантам:
{"error":{"code":"invalid_cli_usage","message":"Use only one of --json or --jsonl."},"exitCode":2}
| Код завершения | Значение |
|---|---|
| 0 | Командование увенчалось успехом; проверить состояние возвратного пробега/внимания, где это применимо; |
| 1 | Общий / запущенный сбой, тайм-аут, конфликт или отчет о состоянии без запущенной службы |
| 2 | Недействительное использование CLI |
| 3 | Местный демон недоступен |
| 4 | Запрошенный проект/запуск/сессия/артефакт/Specialist не найден |
| 5 | Активная работа заблокировала обновление приложения |
| 6 | Обновление приложения требует ручного этапа установки |
JSONL может включать run.progress и stream.resync-required. Если повторное воспроизведение недоступно после повторного подключения, перечитайте авторитетное состояние запуска; Не думайте, что поток событий — это постоянная история. Команды жизненного цикла имеют отдельные ограничения флага, описанные в Безголовый сервис.
Реализация CLI, Руководитель командной строки.
Технический справочник: Контракт CLI.