Уведомления из OpenClaw через плагин
В OpenClaw можно отправлять уведомление в Депешер из хука agent_end нативного плагина. Обработчик вызывается при завершении запуска агента. Пример ниже отправляет короткий статус без пересылки диалога. Регистрация обработчика описана в документации хуков OpenClaw.
Подготовьте Депешер
Сначала создайте и подтвердите исходящий канал: Email, Telegram, группу Telegram или Пачку. Затем создайте входящий канал для этого инструмента, свяжите его с выбранным получателем и скопируйте публичный URL. Выполните проверку из статьи «Первое уведомление».
Подготовьте локальный плагин
Нужен установленный OpenClaw с работающим Gateway. Создайте отдельный каталог depesher-notify с тремя файлами.
package.json:
json
{
"name": "depesher-notify",
"version": "1.0.0",
"type": "module",
"openclaw": {
"extensions": ["./index.ts"]
}
}openclaw.plugin.json:
json
{
"id": "depesher-notify",
"name": "Уведомления Депешера",
"activation": {
"onStartup": true
},
"configSchema": {
"type": "object",
"additionalProperties": false
}
}Манифест нужен для загрузки и проверки конфигурации плагина. Его назначение описано в документации OpenClaw.
index.ts:
typescript
import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
const depesherUrl = "https://depesher.ru/w/ВАШ_PUBLIC_ID";
const depesherToken = "";
export default definePluginEntry({
id: "depesher-notify",
name: "Уведомления Депешера",
register(api) {
api.on("agent_end", async () => {
const headers: Record<string, string> = {
"Content-Type": "text/plain",
};
if (depesherToken) {
headers.Authorization = `Bearer ${depesherToken}`;
}
try {
const response = await fetch(depesherUrl, {
method: "POST",
headers,
body: "OpenClaw: запуск агента завершён",
signal: AbortSignal.timeout(15000),
});
if (!response.ok) {
throw new Error(`Депешер вернул HTTP ${response.status}`);
}
} catch (error) {
console.error("Не удалось отправить уведомление в Депешер", error);
}
});
},
});Замените URL адресом своего входящего канала. Если у канала включена защита, заполните depesherToken без префикса Bearer. Для канала без защиты оставьте пустую строку.
Подключите плагин
Из родительского каталога выполните:
bash
openclaw plugins install --link ./depesher-notify --force
openclaw plugins enable depesher-notifyЗдесь --force подтверждает установку локального исходного кода. В openclaw.json объедините эту запись с существующими настройками:
json
{
"plugins": {
"entries": {
"depesher-notify": {
"enabled": true,
"hooks": {
"allowConversationAccess": true
}
}
}
}
}Доступ к conversation hooks требуется и для agent_end. После изменения кода перезапустите Gateway. Если у вас настроены списки разрешённых или запрещённых плагинов, проверьте, что они допускают этот плагин.
Проверьте уведомление
Выполните короткую агентную задачу и найдите уведомление в истории Депешера и у получателя. Для проверки загрузки плагина используйте:
bash
openclaw plugins inspect depesher-notify --runtime --jsonЕсли обработчик не вызывается, проверьте включение плагина и allowConversationAccess. Ошибки отправки пример записывает в журнал Gateway; для проверки URL и получателей используйте диагностику доставки.
Текст «запуск завершён» не различает успех и ошибку. Он сообщает о событии хука; подробный результат смотрите в OpenClaw. Сценарий не добавляет управление агентом из Депешера.