chore(i18n): refresh uk translations
This commit is contained in:
parent
17d99c6dcd
commit
fc3aa87e71
@ -1,21 +1,21 @@
|
||||
---
|
||||
read_when:
|
||||
- Ви хочете зрозуміти, які інструменти надає OpenClaw
|
||||
- Вам потрібно налаштувати, дозволити або заборонити інструменти
|
||||
- Ви обираєте між вбудованими інструментами, Skills і plugins
|
||||
summary: 'Огляд інструментів і плагінів OpenClaw: що агент може робити та як його розширити'
|
||||
- Потрібно налаштувати, дозволити або заборонити інструменти
|
||||
- Ви обираєте між вбудованими інструментами, Skills і плагінами
|
||||
summary: 'Огляд інструментів і plugins OpenClaw: що може робити агент і як його розширювати'
|
||||
title: Інструменти та плагіни
|
||||
x-i18n:
|
||||
generated_at: "2026-05-02T13:56:43Z"
|
||||
generated_at: "2026-05-03T11:17:03Z"
|
||||
model: gpt-5.5
|
||||
provider: openai
|
||||
source_hash: 892eb520c14c13e4f55c80aa17ccd2578cc803796844c15cd71674cb2a0a8adf
|
||||
source_hash: 4d1f776639ec2a90d8c02418c4b2c62ae7534ea535f626bc1172f1301c32c6f0
|
||||
source_path: tools/index.md
|
||||
workflow: 16
|
||||
---
|
||||
|
||||
Усе, що агент робить окрім генерування тексту, відбувається через **інструменти**.
|
||||
Інструменти — це спосіб, у який агент читає файли, виконує команди, переглядає веб, надсилає
|
||||
Усе, що агент робить поза генеруванням тексту, відбувається через **інструменти**.
|
||||
Інструменти — це спосіб, у який агент читає файли, запускає команди, переглядає веб, надсилає
|
||||
повідомлення та взаємодіє з пристроями.
|
||||
|
||||
## Інструменти, Skills і плагіни
|
||||
@ -32,10 +32,10 @@ OpenClaw має три рівні, які працюють разом:
|
||||
|
||||
</Step>
|
||||
|
||||
<Step title="Skills навчають агента коли і як діяти">
|
||||
Skill — це markdown-файл (`SKILL.md`), який додається до системного промпта.
|
||||
<Step title="Skills навчають агента, коли і як діяти">
|
||||
Skill — це markdown-файл (`SKILL.md`), вставлений у системний промпт.
|
||||
Skills надають агенту контекст, обмеження та покрокові вказівки для
|
||||
ефективного використання інструментів. Skills зберігаються у вашому робочому просторі, у спільних папках
|
||||
ефективного використання інструментів. Skills розміщуються у вашому робочому просторі, у спільних папках
|
||||
або постачаються всередині плагінів.
|
||||
|
||||
[Довідник Skills](/uk/tools/skills) | [Створення Skills](/uk/tools/creating-skills)
|
||||
@ -43,39 +43,39 @@ OpenClaw має три рівні, які працюють разом:
|
||||
</Step>
|
||||
|
||||
<Step title="Плагіни пакують усе разом">
|
||||
Плагін — це пакет, який може реєструвати будь-яке поєднання можливостей:
|
||||
Плагін — це пакет, який може реєструвати будь-яку комбінацію можливостей:
|
||||
канали, постачальників моделей, інструменти, Skills, мовлення, транскрипцію в реальному часі,
|
||||
голос у реальному часі, розуміння медіа, генерацію зображень, генерацію відео,
|
||||
отримання вебвмісту, вебпошук тощо. Деякі плагіни є **core** (постачаються з
|
||||
OpenClaw), інші — **зовнішніми** (публікуються спільнотою в npm).
|
||||
OpenClaw), інші — **зовнішніми** (опубліковані спільнотою в npm).
|
||||
|
||||
[Установлення та налаштування плагінів](/uk/tools/plugin) | [Створення власного](/uk/plugins/building-plugins)
|
||||
[Встановлення та налаштування плагінів](/uk/tools/plugin) | [Створіть власний](/uk/plugins/building-plugins)
|
||||
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Вбудовані інструменти
|
||||
|
||||
Ці інструменти постачаються з OpenClaw і доступні без установлення будь-яких плагінів:
|
||||
Ці інструменти постачаються з OpenClaw і доступні без встановлення будь-яких плагінів:
|
||||
|
||||
| Інструмент | Що він робить | Сторінка |
|
||||
| Інструмент | Що він робить | Сторінка |
|
||||
| ------------------------------------------ | --------------------------------------------------------------------- | ------------------------------------------------------------ |
|
||||
| `exec` / `process` | Виконує shell-команди, керує фоновими процесами | [Exec](/uk/tools/exec), [Схвалення Exec](/uk/tools/exec-approvals) |
|
||||
| `code_execution` | Виконує ізольований віддалений аналіз Python | [Виконання коду](/uk/tools/code-execution) |
|
||||
| `browser` | Керує браузером Chromium (навігація, клацання, знімок екрана) | [Браузер](/uk/tools/browser) |
|
||||
| `web_search` / `x_search` / `web_fetch` | Шукає в інтернеті, шукає дописи X, отримує вміст сторінок | [Веб](/uk/tools/web), [Отримання вебвмісту](/uk/tools/web-fetch) |
|
||||
| `read` / `write` / `edit` | Файлове введення/виведення в робочому просторі | |
|
||||
| `apply_patch` | Багатофрагментні патчі файлів | [Застосування патча](/uk/tools/apply-patch) |
|
||||
| `message` | Надсилає повідомлення в усіх каналах | [Надсилання агентом](/uk/tools/agent-send) |
|
||||
| `canvas` | Керує node Canvas (презентація, обчислення, знімок) | |
|
||||
| `nodes` | Виявляє спарені пристрої та націлюється на них | |
|
||||
| `cron` / `gateway` | Керує запланованими завданнями; перевіряє, патчить, перезапускає або оновлює gateway | |
|
||||
| `image` / `image_generate` | Аналізує або генерує зображення | [Генерація зображень](/uk/tools/image-generation) |
|
||||
| `music_generate` | Генерує музичні треки | [Генерація музики](/uk/tools/music-generation) |
|
||||
| `video_generate` | Генерує відео | [Генерація відео](/uk/tools/video-generation) |
|
||||
| `tts` | Одноразове перетворення тексту на мовлення | [TTS](/uk/tools/tts) |
|
||||
| `sessions_*` / `subagents` / `agents_list` | Керування сеансами, статус і оркестрація підагентів | [Підагенти](/uk/tools/subagents) |
|
||||
| `session_status` | Легке зчитування у стилі `/status` і перевизначення моделі сеансу | [Інструменти сеансу](/uk/concepts/session-tool) |
|
||||
| `exec` / `process` | Запускає shell-команди, керує фоновими процесами | [Exec](/uk/tools/exec), [Схвалення Exec](/uk/tools/exec-approvals) |
|
||||
| `code_execution` | Запускає ізольований віддалений аналіз Python | [Виконання коду](/uk/tools/code-execution) |
|
||||
| `browser` | Керує браузером Chromium (навігація, клік, знімок екрана) | [Браузер](/uk/tools/browser) |
|
||||
| `web_search` / `x_search` / `web_fetch` | Шукає в інтернеті, шукає дописи X, отримує вміст сторінок | [Веб](/uk/tools/web), [Отримання вебвмісту](/uk/tools/web-fetch) |
|
||||
| `read` / `write` / `edit` | Файлове введення/виведення в робочому просторі | |
|
||||
| `apply_patch` | Багатофрагментні патчі файлів | [Застосування патча](/uk/tools/apply-patch) |
|
||||
| `message` | Надсилає повідомлення через усі канали | [Надсилання агентом](/uk/tools/agent-send) |
|
||||
| `canvas` | Керує node Canvas (present, eval, snapshot) | |
|
||||
| `nodes` | Виявляє спарені пристрої та націлюється на них | |
|
||||
| `cron` / `gateway` | Керує запланованими завданнями; інспектує, патчить, перезапускає або оновлює gateway | |
|
||||
| `image` / `image_generate` | Аналізує або генерує зображення | [Генерація зображень](/uk/tools/image-generation) |
|
||||
| `music_generate` | Генерує музичні треки | [Генерація музики](/uk/tools/music-generation) |
|
||||
| `video_generate` | Генерує відео | [Генерація відео](/uk/tools/video-generation) |
|
||||
| `tts` | Одноразове перетворення тексту на мовлення | [TTS](/uk/tools/tts) |
|
||||
| `sessions_*` / `subagents` / `agents_list` | Керування сесіями, статус і оркестрація підагентів | [Підагенти](/uk/tools/subagents) |
|
||||
| `session_status` | Легке зчитування у стилі `/status` і перевизначення моделі сесії | [Інструменти сесії](/uk/concepts/session-tool) |
|
||||
|
||||
Для роботи із зображеннями використовуйте `image` для аналізу та `image_generate` для генерації або редагування. Якщо ви націлюєтеся на `openai/*`, `google/*`, `fal/*` або іншого нестандартного постачальника зображень, спершу налаштуйте автентифікацію/API-ключ цього постачальника.
|
||||
|
||||
@ -83,53 +83,53 @@ OpenClaw має три рівні, які працюють разом:
|
||||
|
||||
Для роботи з відео використовуйте `video_generate`. Якщо ви націлюєтеся на `qwen/*` або іншого нестандартного постачальника відео, спершу налаштуйте автентифікацію/API-ключ цього постачальника.
|
||||
|
||||
Для генерації аудіо, керованої workflow, використовуйте `music_generate`, коли плагін, наприклад
|
||||
ComfyUI, реєструє його. Це окремо від `tts`, який перетворює текст на мовлення.
|
||||
Для генерації аудіо на основі workflow використовуйте `music_generate`, коли плагін, наприклад
|
||||
ComfyUI, реєструє його. Це окремо від `tts`, який є перетворенням тексту на мовлення.
|
||||
|
||||
`session_status` — це легкий інструмент статусу/зчитування в групі сеансів.
|
||||
Він відповідає на запитання у стилі `/status` про поточний сеанс і може
|
||||
за потреби встановити перевизначення моделі для окремого сеансу; `model=default` очищає це
|
||||
перевизначення. Як і `/status`, він може доповнювати розріджені лічильники токенів/кешу та
|
||||
мітку активної runtime-моделі з останнього запису використання в транскрипті.
|
||||
`session_status` — це легкий інструмент статусу/зчитування в групі сесій.
|
||||
Він відповідає на запитання у стилі `/status` щодо поточної сесії та може
|
||||
за потреби встановлювати перевизначення моделі для окремої сесії; `model=default` очищає це
|
||||
перевизначення. Як і `/status`, він може дозаповнювати розріджені лічильники токенів/кешу та
|
||||
мітку активної runtime-моделі з останнього запису використання транскрипту.
|
||||
|
||||
`gateway` — це runtime-інструмент лише для власника для операцій із gateway:
|
||||
`gateway` — це runtime-інструмент лише для власника для операцій gateway:
|
||||
|
||||
- `config.schema.lookup` для одного обмеженого шляхом піддерева конфігурації перед редагуванням
|
||||
- `config.schema.lookup` для одного піддерева конфігурації, обмеженого шляхом, перед редагуванням
|
||||
- `config.get` для поточного знімка конфігурації + хешу
|
||||
- `config.patch` для часткових оновлень конфігурації з перезапуском
|
||||
- `config.apply` лише для заміни повної конфігурації
|
||||
- `config.apply` лише для повної заміни конфігурації
|
||||
- `update.run` для явного самооновлення + перезапуску
|
||||
|
||||
Для часткових змін надавайте перевагу `config.schema.lookup`, а потім `config.patch`. Використовуйте
|
||||
Для часткових змін надавайте перевагу `config.schema.lookup`, потім `config.patch`. Використовуйте
|
||||
`config.apply` лише тоді, коли ви навмисно замінюєте всю конфігурацію.
|
||||
Докладнішу документацію з конфігурації див. у [Конфігурація](/uk/gateway/configuration) та
|
||||
Для ширшої документації з конфігурації прочитайте [Конфігурація](/uk/gateway/configuration) і
|
||||
[Довідник конфігурації](/uk/gateway/configuration-reference).
|
||||
Інструмент також відмовляється змінювати `tools.exec.ask` або `tools.exec.security`;
|
||||
застарілі псевдоніми `tools.bash.*` нормалізуються до тих самих захищених шляхів exec.
|
||||
|
||||
### Інструменти, надані Plugin
|
||||
### Інструменти, надані плагінами
|
||||
|
||||
Plugins можуть реєструвати додаткові інструменти. Кілька прикладів:
|
||||
Плагіни можуть реєструвати додаткові інструменти. Деякі приклади:
|
||||
|
||||
- [Відмінності](/uk/tools/diffs) — переглядач і рендерер відмінностей
|
||||
- [Завдання LLM](/uk/tools/llm-task) — крок LLM лише з JSON для структурованого виводу
|
||||
- [Lobster](/uk/tools/lobster) — типізоване середовище виконання робочих процесів із відновлюваними затвердженнями
|
||||
- [Генерація музики](/uk/tools/music-generation) — спільний інструмент `music_generate` з провайдерами на основі робочих процесів
|
||||
- [OpenProse](/uk/prose) — оркестрація робочих процесів із пріоритетом markdown
|
||||
- [Tokenjuice](/uk/tools/tokenjuice) — стискає шумні результати інструментів `exec` і `bash`
|
||||
- [Відмінності](/uk/tools/diffs) — переглядач і рендерер diff
|
||||
- [LLM-завдання](/uk/tools/llm-task) — LLM-крок лише з JSON для структурованого виводу
|
||||
- [Lobster](/uk/tools/lobster) — типізований workflow-runtime з відновлюваними схваленнями
|
||||
- [Генерація музики](/uk/tools/music-generation) — спільний інструмент `music_generate` із постачальниками на основі workflow
|
||||
- [OpenProse](/uk/prose) — markdown-first оркестрація workflow
|
||||
- [Tokenjuice](/uk/tools/tokenjuice) — ущільнення шумних результатів інструментів `exec` і `bash`
|
||||
|
||||
Інструменти Plugin все ще створюються за допомогою `api.registerTool(...)` і оголошуються в
|
||||
списку `contracts.tools` маніфесту Plugin. OpenClaw фіксує перевірений
|
||||
дескриптор інструмента під час виявлення та кешує його за джерелом Plugin і контрактом, тому
|
||||
подальше планування інструментів може пропускати завантаження runtime Plugin. Виконання інструмента все ще завантажує
|
||||
власний Plugin і викликає живу зареєстровану реалізацію.
|
||||
Інструменти плагінів усе одно створюються через `api.registerTool(...)` і оголошуються в
|
||||
списку `contracts.tools` маніфесту плагіна. OpenClaw захоплює перевірений
|
||||
дескриптор інструмента під час виявлення та кешує його за джерелом плагіна й контрактом, тож
|
||||
подальше планування інструментів може пропускати завантаження runtime плагіна. Виконання інструмента все одно завантажує
|
||||
плагін-власник і викликає живу зареєстровану реалізацію.
|
||||
|
||||
## Конфігурація інструментів
|
||||
|
||||
### Списки дозволу й заборони
|
||||
### Списки дозволів і заборон
|
||||
|
||||
Керуйте тим, які інструменти агент може викликати через `tools.allow` / `tools.deny` у
|
||||
конфігурації. Заборона завжди має перевагу над дозволом.
|
||||
Керуйте тим, які інструменти може викликати агент, через `tools.allow` / `tools.deny` у
|
||||
конфігурації. Заборона завжди має пріоритет над дозволом.
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -140,10 +140,10 @@ Plugins можуть реєструвати додаткові інструме
|
||||
}
|
||||
```
|
||||
|
||||
OpenClaw завершує роботу без доступу, коли явний список дозволів не відповідає жодним викликаним інструментам.
|
||||
Наприклад, `tools.allow: ["query_db"]` працює лише якщо завантажений Plugin справді
|
||||
реєструє `query_db`. Якщо жоден вбудований інструмент, Plugin або вбудований у пакет MCP-інструмент не відповідає
|
||||
списку дозволів, запуск зупиняється до виклику моделі, замість того щоб продовжуватися як
|
||||
OpenClaw завершується без доступу, коли явний список дозволів не визначає жодного викличного інструмента.
|
||||
Наприклад, `tools.allow: ["query_db"]` працює лише якщо завантажений плагін справді
|
||||
реєструє `query_db`. Якщо жоден вбудований інструмент, плагін або bundled MCP-інструмент не відповідає
|
||||
списку дозволів, запуск зупиняється до виклику моделі замість того, щоб продовжити як
|
||||
текстовий запуск, який міг би вигадати результати інструментів.
|
||||
|
||||
### Профілі інструментів
|
||||
@ -151,35 +151,35 @@ OpenClaw завершує роботу без доступу, коли явни
|
||||
`tools.profile` задає базовий список дозволів до застосування `allow`/`deny`.
|
||||
Перевизначення для окремого агента: `agents.list[].tools.profile`.
|
||||
|
||||
| Профіль | Що він включає |
|
||||
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `full` | Необмежена базова конфігурація для ширшого доступу до команд і керування; те саме, що залишити `tools.profile` незаданим |
|
||||
| Профіль | Що він включає |
|
||||
| ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `full` | Усі core та необов’язкові інструменти плагінів; необмежена базова конфігурація для ширшого доступу до команд/керування |
|
||||
| `coding` | `group:fs`, `group:runtime`, `group:web`, `group:sessions`, `group:memory`, `cron`, `image`, `image_generate`, `music_generate`, `video_generate` |
|
||||
| `messaging` | `group:messaging`, `sessions_list`, `sessions_history`, `sessions_send`, `session_status` |
|
||||
| `minimal` | Лише `session_status` |
|
||||
| `messaging` | `group:messaging`, `sessions_list`, `sessions_history`, `sessions_send`, `session_status` |
|
||||
| `minimal` | Лише `session_status` |
|
||||
|
||||
<Note>
|
||||
`tools.profile: "messaging"` навмисно вузький для агентів, зосереджених на каналах.
|
||||
Він не включає ширші інструменти команд і керування, як-от файлова система, runtime,
|
||||
браузер, canvas, вузли, cron і керування Gateway. Використовуйте `tools.profile: "full"`
|
||||
як необмежену базову конфігурацію для ширшого доступу до команд і керування, а потім скорочуйте
|
||||
доступ за допомогою `tools.allow` / `tools.deny`, коли потрібно.
|
||||
Він виключає ширші інструменти команд/керування, такі як файлова система, runtime,
|
||||
браузер, canvas, nodes, cron і керування gateway. Використовуйте `tools.profile: "full"`
|
||||
як необмежену базу для ширшого доступу до команд/керування, а потім звужуйте
|
||||
доступ через `tools.allow` / `tools.deny`, коли потрібно.
|
||||
</Note>
|
||||
|
||||
`coding` включає легкі вебінструменти (`web_search`, `web_fetch`, `x_search`),
|
||||
але не повний інструмент керування браузером. Автоматизація браузера може керувати реальними
|
||||
сесіями та профілями з виконаним входом, тому додайте її явно за допомогою
|
||||
сесіями та профілями з виконаним входом, тому додайте її явно через
|
||||
`tools.alsoAllow: ["browser"]` або для окремого агента
|
||||
`agents.list[].tools.alsoAllow: ["browser"]`.
|
||||
|
||||
<Note>
|
||||
Налаштування `tools.exec` або `tools.fs` під обмежувальним профілем (`messaging`, `minimal`) не розширює неявно список дозволів профілю. Додайте явні записи `tools.alsoAllow` (наприклад, `["exec", "process"]` для exec або `["read", "write", "edit"]` для fs), коли хочете, щоб обмежувальний профіль використовував ці налаштовані розділи. OpenClaw реєструє попередження під час запуску, коли розділ конфігурації присутній без відповідного дозволу `alsoAllow`.
|
||||
Налаштування `tools.exec` або `tools.fs` у межах обмежувального профілю (`messaging`, `minimal`) не розширює неявно список дозволів профілю. Додайте явні записи `tools.alsoAllow` (наприклад, `["exec", "process"]` для exec або `["read", "write", "edit"]` для fs), коли хочете, щоб обмежувальний профіль використовував ці налаштовані секції. OpenClaw записує startup-попередження, коли секція конфігурації наявна без відповідного дозволу `alsoAllow`.
|
||||
</Note>
|
||||
|
||||
Профілі `coding` і `messaging` також дозволяють налаштовані пакетні MCP-інструменти
|
||||
під ключем Plugin `bundle-mcp`. Додайте `tools.deny: ["bundle-mcp"]`, коли
|
||||
Профілі `coding` і `messaging` також дозволяють налаштовані bundle MCP-інструменти
|
||||
під ключем плагіна `bundle-mcp`. Додайте `tools.deny: ["bundle-mcp"]`, коли
|
||||
хочете, щоб профіль зберігав свої звичайні вбудовані інструменти, але приховував усі налаштовані MCP-інструменти.
|
||||
Профіль `minimal` не включає пакетні MCP-інструменти.
|
||||
Профіль `minimal` не включає bundle MCP-інструменти.
|
||||
|
||||
Приклад (найширша поверхня інструментів за замовчуванням):
|
||||
|
||||
@ -193,11 +193,11 @@ OpenClaw завершує роботу без доступу, коли явни
|
||||
|
||||
### Групи інструментів
|
||||
|
||||
Використовуйте скорочення `group:*` у списках дозволу/заборони:
|
||||
Використовуйте скорочення `group:*` у списках дозволів/заборон:
|
||||
|
||||
| Група | Інструменти |
|
||||
| Група | Інструменти |
|
||||
| ------------------ | --------------------------------------------------------------------------------------------------------- |
|
||||
| `group:runtime` | exec, process, code_execution (`bash` приймається як псевдонім для `exec`) |
|
||||
| `group:runtime` | exec, process, code_execution (`bash` приймається як псевдонім для `exec`) |
|
||||
| `group:fs` | read, write, edit, apply_patch |
|
||||
| `group:sessions` | sessions_list, sessions_history, sessions_send, sessions_spawn, sessions_yield, subagents, session_status |
|
||||
| `group:memory` | memory_search, memory_get |
|
||||
@ -208,22 +208,22 @@ OpenClaw завершує роботу без доступу, коли явни
|
||||
| `group:nodes` | nodes |
|
||||
| `group:agents` | agents_list |
|
||||
| `group:media` | image, image_generate, music_generate, video_generate, tts |
|
||||
| `group:openclaw` | Усі вбудовані інструменти OpenClaw (за винятком інструментів Plugin) |
|
||||
| `group:openclaw` | Усі вбудовані інструменти OpenClaw (крім Plugin-інструментів) |
|
||||
|
||||
`sessions_history` повертає обмежений, відфільтрований з міркувань безпеки вигляд пригадування. Він вилучає
|
||||
теги мислення, каркас `<relevant-memories>`, простотекстові XML-корисні навантаження викликів інструментів
|
||||
`sessions_history` повертає обмежене, відфільтроване з міркувань безпеки подання пригадування. Воно вилучає
|
||||
теги мислення, каркас `<relevant-memories>`, текстові XML-навантаження викликів інструментів
|
||||
(зокрема `<tool_call>...</tool_call>`,
|
||||
`<function_call>...</function_call>`, `<tool_calls>...</tool_calls>`,
|
||||
`<function_calls>...</function_calls>` і скорочені блоки викликів інструментів),
|
||||
знижений каркас викликів інструментів, витіклі ASCII/повноширинні керівні
|
||||
`<function_calls>...</function_calls>` і обрізані блоки викликів інструментів),
|
||||
понижений каркас викликів інструментів, витеклі ASCII/повноширинні керівні
|
||||
токени моделі та некоректний XML викликів інструментів MiniMax із тексту асистента, а потім застосовує
|
||||
редагування/усічення та, за потреби, заповнювачі для надмірно великих рядків замість того, щоб діяти
|
||||
як сирий дамп стенограми.
|
||||
редагування/обрізання й можливі заповнювачі для надмірно великих рядків замість того, щоб діяти
|
||||
як сирий дамп транскрипту.
|
||||
|
||||
### Обмеження для окремих провайдерів
|
||||
### Обмеження, специфічні для провайдера
|
||||
|
||||
Використовуйте `tools.byProvider`, щоб обмежувати інструменти для окремих провайдерів без
|
||||
зміни глобальних стандартних налаштувань:
|
||||
Використовуйте `tools.byProvider`, щоб обмежувати інструменти для конкретних провайдерів без
|
||||
зміни глобальних типових значень:
|
||||
|
||||
```json5
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user