Создано: 23.05.2026 | Автор: Стас (DevOps)
НИКОГДА не вставляй JWT-токен руками в команду. Webchat UI обрезает длинные строки — Wiki.js получит обрубок токена и ответит Forbidden.
Всегда читай токен из файла:
/home/openclaw/.openclaw/shared/company/WIKI_TOKENS.md
| Параметр | Значение |
|---|---|
| URL | https://wiki.poreklame.tech/graphql |
| Метод | Только POST |
| Content-Type | application/json |
| Auth | Authorization: Bearer <JWT> |
WIKI_TOKEN=$(grep -oP 'eyJ[A-Za-z0-9\-_]+\.[A-Za-z0-9\-_]+\.[A-Za-z0-9\-_]+' /home/openclaw/.openclaw/shared/company/WIKI_TOKENS.md | head -1)
curl -s -X POST -H "Authorization: Bearer $(grep -oP 'eyJ[A-Za-z0-9\-_]+\.[A-Za-z0-9\-_]+\.[A-Za-z0-9\-_]+' /home/openclaw/.openclaw/shared/company/WIKI_TOKENS.md | head -1)" -H "Content-Type: application/json" -d '{"query":"{ pages { list(limit: 5) { id title path } } }"}' https://wiki.poreklame.tech/graphql
Никогда не вставляй токен вручную в команду через UI. Длинный JWT обрежется → Forbidden.
{ pages { list(limit: 50) { id title path } } }
{ pages { single(id: 230) { id title path content } } }
{ pages { search(query: "ключевые слова") { id title path } } }
mutation {
pages {
create(
content: "Markdown-содержание",
description: "Описание",
editor: "markdown",
isPublished: true,
isPrivate: false,
locale: "ru",
path: "kb/operations/my-page",
tags: [],
title: "Заголовок"
) {
responseResult { succeeded message }
page { id path }
}
}
}
mutation {
pages {
update(id: 230, content: "Новый текст", description: "Описание", editor: "markdown", isPublished: true, locale: "ru", title: "Заголовок") {
responseResult { succeeded message }
}
}
}
WIKI_TOKEN=$(grep -oP 'eyJ[A-Za-z0-9\-_]+\.[A-Za-z0-9\-_]+\.[A-Za-z0-9\-_]+' /home/openclaw/.openclaw/shared/company/WIKI_TOKENS.md | head -1)
curl -s -w "\nHTTP:%{http_code}" -X POST -H "Authorization: Bearer $WIKI_TOKEN" -H "Content-Type: application/json" -d '{"query":"{ pages { list(limit: 1) { id title } } }"}' https://wiki.poreklame.tech/graphql
| Симптом | Причина | Что делать |
|---|---|---|
| Forbidden | Токен обрезан (подстановка руками) | Читать токен из файла через grep |
| Forbidden | REST endpoint вместо GraphQL | Всегда /graphql, не /api/... |
| 401 Unauthorized | Токен истёк или отозван | Писать Стасу |
| 404 Not Found | Неправильный URL | Правильный: /graphql |
/home/openclaw/.openclaw/shared/company/WIKI_TOKENS.md