Плагіни Agent Harness
Agent harness — це низькорівневий виконавець для одного підготовленого ходу агента OpenClaw. Це не постачальник моделей, не канал і не реєстр інструментів. Використовуйте цю поверхню лише для вбудованих або довірених нативних плагінів. Контракт усе ще є експериментальним, оскільки типи параметрів навмисно віддзеркалюють поточний вбудований раннер.Коли використовувати harness
Реєструйте agent harness, коли сімейство моделей має власний нативний рантайм сесій і звичайний транспорт постачальника OpenClaw є хибною абстракцією. Приклади:- нативний сервер coding-agent, який керує потоками й компакцією
- локальний CLI або демон, який має транслювати нативні події плану/міркування/інструментів
- рантайм моделі, якому потрібен власний resume id на додачу до транскрипту сесії OpenClaw
Чим і далі керує ядро
Перш ніж буде вибрано harness, OpenClaw уже визначив:- постачальника й модель
- стан автентифікації рантайму
- рівень міркування й бюджет контексту
- транскрипт OpenClaw/файл сесії
- робочий простір, sandbox і політику інструментів
- колбеки відповіді каналу та колбеки потокової передачі
- політику резервного переходу між моделями й перемикання на живу модель
Зареєструвати harness
Імпорт:openclaw/plugin-sdk/agent-harness
Політика вибору
OpenClaw вибирає harness після визначення постачальника/моделі:OPENCLAW_AGENT_RUNTIME=<id>примусово вибирає зареєстрований harness з таким id.OPENCLAW_AGENT_RUNTIME=piпримусово вибирає вбудований harness PI.OPENCLAW_AGENT_RUNTIME=autoзапитує зареєстровані harness-и, чи підтримують вони визначеного постачальника/модель.- Якщо жоден зареєстрований harness не підходить, OpenClaw використовує PI, якщо резервний перехід до PI не вимкнено.
auto OpenClaw може повернутися до PI, якщо вибраний harness плагіна зазнає збою до того, як хід створить побічні ефекти. Встановіть OPENCLAW_AGENT_HARNESS_FALLBACK=none або embeddedHarness.fallback: "none", щоб зробити такий резервний перехід жорсткою помилкою.
Вбудований плагін Codex реєструє codex як id свого harness. Для сумісності codex-app-server і app-server також указують на цей самий harness, коли ви вручну встановлюєте OPENCLAW_AGENT_RUNTIME.
Поєднання постачальника й harness
Більшість harness-ів також мають реєструвати постачальника. Постачальник робить посилання на моделі, статус автентифікації, метадані моделей і вибір/model видимими для решти OpenClaw. Потім harness заявляє про цей постачальник у supports(...).
Вбудований плагін Codex дотримується цього шаблону:
- id постачальника:
codex - посилання користувача на моделі:
codex/gpt-5.4,codex/gpt-5.2або інша модель, яку повертає сервер застосунку Codex - id harness:
codex - автентифікація: синтетична доступність постачальника, оскільки harness Codex керує нативним входом/сесією Codex
- запит до app-server: OpenClaw надсилає до Codex лише id моделі й дозволяє harness-у взаємодіяти з нативним протоколом app-server
openai/gpt-* залишаються посиланнями постачальника OpenAI й продовжують використовувати звичайний шлях постачальника OpenClaw. Вибирайте codex/gpt-*, коли вам потрібні автентифікація під керуванням Codex, виявлення моделей Codex, нативні потоки та виконання через app-server Codex. /model може перемикатися між моделями Codex, які повертає app-server Codex, без потреби в облікових даних постачальника OpenAI.
Налаштування оператором, приклади префіксів моделей і конфігурації лише для Codex дивіться в Codex Harness.
OpenClaw вимагає Codex app-server версії 0.118.0 або новішої. Плагін Codex перевіряє initialize-handshake app-server і блокує старіші сервери або сервери без версії, щоб OpenClaw працював лише з тією поверхнею протоколу, з якою його було протестовано.
Вимкнення резервного переходу до PI
Типово OpenClaw запускає вбудованих агентів ізagents.defaults.embeddedHarness, установленим у { runtime: "auto", fallback: "pi" }. У режимі auto зареєстровані harness-и плагінів можуть заявити підтримку пари постачальник/модель. Якщо жоден не підходить або якщо автоматично вибраний harness плагіна зазнає збою до створення виводу, OpenClaw повертається до PI.
Установіть fallback: "none", якщо вам потрібно довести, що виконується лише рантайм harness плагіна. Це вимикає автоматичний резервний перехід до PI; це не блокує явний runtime: "pi" або OPENCLAW_AGENT_RUNTIME=pi.
Для вбудованих запусків лише з Codex:
runtime: "auto" і вимкніть резервний перехід:
OPENCLAW_AGENT_RUNTIME усе ще перевизначає налаштований рантайм. Використайте OPENCLAW_AGENT_HARNESS_FALLBACK=none, щоб вимкнути резервний перехід до PI через середовище.
Нативні сесії та дзеркалення транскрипту
Harness може зберігати нативний id сесії, id потоку або daemon-side токен відновлення. Явно пов’язуйте таку прив’язку із сесією OpenClaw і продовжуйте віддзеркалювати видимий користувачу вивід помічника/інструментів у транскрипт OpenClaw. Транскрипт OpenClaw залишається шаром сумісності для:- історії сесії, видимої в каналі
- пошуку та індексації транскрипту
- повернення до вбудованого harness PI на наступному ході
- узагальненої поведінки
/new,/resetі видалення сесії
reset(...), щоб OpenClaw міг очистити її, коли відповідну сесію OpenClaw буде скинуто.
Результати інструментів і медіа
Ядро формує список інструментів OpenClaw і передає його в підготовлену спробу. Коли harness виконує динамічний виклик інструмента, повертайте результат інструмента через форму результату harness, а не надсилайте медіа в канал самостійно. Це дозволяє тексту, зображенням, відео, музиці, TTS, погодженням і результатам інструментів обміну повідомленнями проходити тим самим шляхом доставки, що й запуски на основі PI.Поточні обмеження
- Публічний шлях імпорту є загальним, але деякі псевдоніми типів спроб/результатів усе ще містять назви
Piдля сумісності. - Встановлення сторонніх harness-ів є експериментальним. Надавайте перевагу плагінам постачальників, доки вам не знадобиться нативний рантайм сесій.
- Перемикання harness-ів між ходами підтримується. Не перемикайте harness посеред ходу після того, як уже почалися нативні інструменти, погодження, текст помічника або надсилання повідомлень.