{"title":"FAQ — rozwiązywanie problemów","slug":"troubleshooting","category":"faq","summary":"Rozwiązania częstych problemów Synapse — autoryzacja, sieć, dane, wdrożenie.","audience":["human","llm"],"tags":["faq","troubleshooting","problems","solutions"],"difficulty":"beginner","updated":"2026-06-27","word_count":647,"read_minutes":3,"lang":"pl","translated":true,"requested_lang":"pl","content_markdown":"\n# FAQ — rozwiązywanie problemów\n\nRozwiązania częstych problemów Synapse.\n\n## Nie mogę się zalogować\n\n### Symptomy\n\n- `POST /login` zwraca 401\n- „Invalid email or password\"\n\n### Rozwiązania\n\n1. **Zweryfikować poprawność e-maila** — wielkość liter ma znaczenie\n2. **Sprawdzić hasło** — minimum 6 znaków\n3. **Najpierw zarejestrować**, jeśli nie ma konta: `POST /register`\n4. **Zresetować hasło** (jeśli skonfigurowano SMTP) przez interfejs WWW\n\n## Zgubiłem Mind Key\n\n### Symptomy\n\n- Brak dostępu do wspomnień\n- Mind Key został usunięty/zgubiony\n\n### Rozwiązania\n\nMind Key nie można odzyskać. Należy:\n\n1. Zalogować się, aby uzyskać JWT: `POST /login`\n2. Wylistować umysły: `GET /minds` (z JWT)\n3. Utworzyć nowy umysł: `POST /minds`\n4. Zapisać nowy Mind Key\n5. (Opcjonalnie) Usunąć stary umysł: `DELETE /minds/:id`\n\n**Dane w starym umyśle są utracone**, chyba że Mind Key zostanie odnaleziony.\n\n## Wywołania API zwracają 401\n\n### Symptomy\n\n- Wszystkie wywołania API zwracają 401 Unauthorized\n- „Mind Key fehlt oder ungültig\"\n\n### Rozwiązania\n\n1. **Zweryfikować format nagłówka**: `Authorization: Bearer mk_...`\n2. **Sprawdzić, czy Mind Key zaczyna się od `mk_`** (nie `eyJ`, które to JWT)\n3. **Przetestować bezpośrednio**:\n   ```bash\n   curl -H \"Authorization: Bearer mk_YOUR_KEY\" \\\n        https://synapse.schaefer.zone/memory/recall\n   ```\n4. **Mind Key może być cofnięty** — utworzyć nowy umysł\n\nPatrz [Autoryzacja](/docs/getting-started/authentication).\n\n## Wywołania API zwracają 404\n\n### Symptomy\n\n- 404 Not Found\n- „Route not found\"\n\n### Rozwiązania\n\n> [!CRITICAL]\n> Nie wolno zgadywać ścieżek endpointów. Istnieją tylko ścieżki w `GET /endpoints`.\n\n1. **Sprawdzić poprawne endpointy**: `curl https://synapse.schaefer.zone/endpoints`\n2. **Porównać URL dokładnie** — wielkość liter ma znaczenie, bez końcowych ukośników\n3. **Sprawdzić metodę HTTP** — `GET /memory` i `POST /memory` to różne endpointy\n\n## Wywołania API zwracają 429\n\n### Symptomy\n\n- 429 Too Many Requests\n- „Rate limit exceeded\"\n\n### Rozwiązania\n\n1. **Przełączyć się na autoryzację nagłówkiem** (bez limitu):\n   ```bash\n   # Nie\n   curl \".../memory/recall?key=mk_...\"\n   \n   # Tak\n   curl -H \"Authorization: Bearer mk_...\" .../memory/recall\n   ```\n2. **Odczekać `Retry-After` sekund**, jeśli trzeba użyć `?key=`\n\nPatrz [Limity żądań](/docs/api/rate-limits).\n\n## Wyszukiwanie wspomnień nie zwraca wyników\n\n### Symptomy\n\n- `GET /memory/search?q=...` zwraca puste\n- Wspomnienia na pewno istnieją\n\n### Rozwiązania\n\n1. **Zweryfikować istnienie wspomnień**: `GET /memory/recall`\n2. **Sprawdzić składnię wyszukiwania** — FTS5 ma specyficzną składnię\n3. **Spróbować prostszego zapytania** — `?q=docker` zamiast `?q=docker+swarm+deployment`\n4. **Użyć wyszukiwania semantycznego** do zapytań koncepcyjnych: `GET /memory/semantic-search?q=...`\n\nPatrz [Wyszukiwanie FTS5](/docs/concepts/fts5-search).\n\n## Wspomnienia nie utrwalają się\n\n### Symptomy\n\n- POST /memory zwraca sukces\n- GET /memory/recall nie pokazuje ich\n\n### Rozwiązania\n\n1. **Zweryfikować ten sam Mind Key** — różne klucze = różne umysły\n2. **Sprawdzić odpowiedź** — POST zwraca `{ \"id\": \"mem_...\", \"status\": \"stored\" }`\n3. **Spróbować GET /memory** (lista JSON) zamiast /memory/recall (tekst)\n4. **Sprawdzić filtr** — `?category=` lub `?tag=` mogą je ukrywać\n\n## Narzędzia nie pojawiają się w Claude Desktop\n\n### Symptomy\n\n- Claude Desktop pokazuje 0 narzędzi\n- Brak ikony 🔌\n\n### Rozwiązania\n\n1. **W pełni zrestartować Claude Desktop** (Cmd+Q)\n2. **Zweryfikować, czy plik konfiguracyjny** jest poprawnym JSON-em\n3. **Sprawdzić Node.js 18+** zainstalowany\n4. **Uruchomić MCP ręcznie**: `npx -y synapse-mcp-api@latest`\n5. **Sprawdzić logi**: `~/Library/Logs/Claude/mcp.log`\n\nPatrz [Rozwiązywanie problemów MCP](/docs/mcp/troubleshooting).\n\n## Synapse jest offline\n\n### Symptomy\n\n- Nie można dotrzeć do synapse.schaefer.zone\n- curl przekracza czas oczekiwania\n\n### Rozwiązania\n\n1. **Sprawdzić połączenie internetowe** — spróbować innej strony\n2. **Sprawdzić kondycję Synapse**: `curl https://synapse.schaefer.zone/health`\n3. **Poczekać** — może to być tymczasowa awaria lub wdrożenie\n4. **Sprawdzić stronę statusu** (jeśli dostępna)\n\nDla self-hosted: sprawdzić status kontenera Docker, połączenie z bazą danych.\n\n## Błędy bazy danych\n\n### Symptomy\n\n- 500 Internal Server Error\n- „Database connection failed\"\n\n### Rozwiązania\n\nDla self-hosted:\n\n1. **Sprawdzić, czy PostgreSQL działa**: `docker ps | grep postgres`\n2. **Sprawdzić DATABASE_URL** w środowisku\n3. **Sprawdzić migracje**: `npm run migrate:check`\n4. **Sprawdzić miejsce na dysku**: `df -h`\n\nDla hostowanej wersji: zgłosić do wsparcia.\n\n## Webhook się nie wyzwala\n\n### Symptomy\n\n- Zarejestrowany webhook, ale brak wywołań zwrotnych\n- Brak POST pod podany URL\n\n### Rozwiązania\n\n1. **Zweryfikować osiągalność URL**: `curl -X POST your-url -d '{}'`\n2. **Sprawdzić filtr zdarzeń** — `memory.*` pasuje do wszystkich zdarzeń pamięci\n3. **Przetestować webhook**: `POST /webhooks/:id/test`\n4. **Sprawdzić, czy webhook jest włączony**: `GET /webhooks/:id`\n5. **Zweryfikować SSL** — Synapse wymaga ważnego HTTPS dla URL-i webhooków\n\nPatrz [Webhooks API](/docs/api/webhooks).\n\n## Zadanie cron się nie uruchamia\n\n### Symptomy\n\n- Utworzono zadanie cron, ale się nie wyzwala\n- `next_run` się nie aktualizuje\n\n### Rozwiązania\n\n1. **Sprawdzić składnię harmonogramu** — musi być poprawny cron 5-polowy lub liczba całkowita sekund\n2. **Zweryfikować, czy endpoint jest dozwolony** — musi być http(s), bez prywatnych IP\n3. **Sprawdzić, czy zadanie jest włączone**: `GET /cron`\n4. **Poczekać na następny zaplanowany czas** — cron nie jest natychmiastowy\n\nPatrz [Cron i Scheduler](/docs/api/cron).\n\n## Potrzebna dalsza pomoc?\n\n1. **Sprawdzić istniejącą dokumentację**: <https://synapse.schaefer.zone/docs>\n2. **Przeszukać dokumentację**: `GET /docs/search?q=your+question`\n3. **Otworzyć zgłoszenie**: <https://gitlab.com/schaefer-services/synapse/-/issues>\n4. **Kontakt**: patrz strona `/support`\n\n## Następne kroki\n\n- [Błędy i ich obsługa](/docs/api/errors)\n- [FAQ API](/docs/faq/api-faq)\n- [Rozwiązywanie problemów MCP](/docs/mcp/troubleshooting)\n","content_html":"<h1>FAQ — rozwiązywanie problemów</h1>\n<p>Rozwiązania częstych problemów Synapse.</p>\n<h2>Nie mogę się zalogować</h2>\n<h3>Symptomy</h3>\n<ul>\n<li><code>POST /login</code> zwraca 401</li>\n<li>„Invalid email or password&quot;</li>\n</ul>\n<h3>Rozwiązania</h3>\n<ol>\n<li><strong>Zweryfikować poprawność e-maila</strong> — wielkość liter ma znaczenie</li>\n<li><strong>Sprawdzić hasło</strong> — minimum 6 znaków</li>\n<li><strong>Najpierw zarejestrować</strong>, jeśli nie ma konta: <code>POST /register</code></li>\n<li><strong>Zresetować hasło</strong> (jeśli skonfigurowano SMTP) przez interfejs WWW</li>\n</ol>\n<h2>Zgubiłem Mind Key</h2>\n<h3>Symptomy</h3>\n<ul>\n<li>Brak dostępu do wspomnień</li>\n<li>Mind Key został usunięty/zgubiony</li>\n</ul>\n<h3>Rozwiązania</h3>\n<p>Mind Key nie można odzyskać. Należy:</p>\n<ol>\n<li>Zalogować się, aby uzyskać JWT: <code>POST /login</code></li>\n<li>Wylistować umysły: <code>GET /minds</code> (z JWT)</li>\n<li>Utworzyć nowy umysł: <code>POST /minds</code></li>\n<li>Zapisać nowy Mind Key</li>\n<li>(Opcjonalnie) Usunąć stary umysł: <code>DELETE /minds/:id</code></li>\n</ol>\n<p><strong>Dane w starym umyśle są utracone</strong>, chyba że Mind Key zostanie odnaleziony.</p>\n<h2>Wywołania API zwracają 401</h2>\n<h3>Symptomy</h3>\n<ul>\n<li>Wszystkie wywołania API zwracają 401 Unauthorized</li>\n<li>„Mind Key fehlt oder ungültig&quot;</li>\n</ul>\n<h3>Rozwiązania</h3>\n<ol>\n<li><strong>Zweryfikować format nagłówka</strong>: <code>Authorization: Bearer mk_...</code></li>\n<li><strong>Sprawdzić, czy Mind Key zaczyna się od <code>mk_</code></strong> (nie <code>eyJ</code>, które to JWT)</li>\n<li><strong>Przetestować bezpośrednio</strong>:<pre><code class=\"hljs language-bash\">curl -H <span class=\"hljs-string\">&quot;Authorization: Bearer mk_YOUR_KEY&quot;</span> \\\n     https://synapse.schaefer.zone/memory/recall</code></pre></li>\n<li><strong>Mind Key może być cofnięty</strong> — utworzyć nowy umysł</li>\n</ol>\n<p>Patrz <a href=\"/docs/getting-started/authentication\">Autoryzacja</a>.</p>\n<h2>Wywołania API zwracają 404</h2>\n<h3>Symptomy</h3>\n<ul>\n<li>404 Not Found</li>\n<li>„Route not found&quot;</li>\n</ul>\n<h3>Rozwiązania</h3>\n<div class=\"callout callout-critical\">Nie wolno zgadywać ścieżek endpointów. Istnieją tylko ścieżki w `GET /endpoints`.</div><ol>\n<li><strong>Sprawdzić poprawne endpointy</strong>: <code>curl https://synapse.schaefer.zone/endpoints</code></li>\n<li><strong>Porównać URL dokładnie</strong> — wielkość liter ma znaczenie, bez końcowych ukośników</li>\n<li><strong>Sprawdzić metodę HTTP</strong> — <code>GET /memory</code> i <code>POST /memory</code> to różne endpointy</li>\n</ol>\n<h2>Wywołania API zwracają 429</h2>\n<h3>Symptomy</h3>\n<ul>\n<li>429 Too Many Requests</li>\n<li>„Rate limit exceeded&quot;</li>\n</ul>\n<h3>Rozwiązania</h3>\n<ol>\n<li><strong>Przełączyć się na autoryzację nagłówkiem</strong> (bez limitu):<pre><code class=\"hljs language-bash\"><span class=\"hljs-comment\"># Nie</span>\ncurl <span class=\"hljs-string\">&quot;.../memory/recall?key=mk_...&quot;</span>\n\n<span class=\"hljs-comment\"># Tak</span>\ncurl -H <span class=\"hljs-string\">&quot;Authorization: Bearer mk_...&quot;</span> .../memory/recall</code></pre></li>\n<li><strong>Odczekać <code>Retry-After</code> sekund</strong>, jeśli trzeba użyć <code>?key=</code></li>\n</ol>\n<p>Patrz <a href=\"/docs/api/rate-limits\">Limity żądań</a>.</p>\n<h2>Wyszukiwanie wspomnień nie zwraca wyników</h2>\n<h3>Symptomy</h3>\n<ul>\n<li><code>GET /memory/search?q=...</code> zwraca puste</li>\n<li>Wspomnienia na pewno istnieją</li>\n</ul>\n<h3>Rozwiązania</h3>\n<ol>\n<li><strong>Zweryfikować istnienie wspomnień</strong>: <code>GET /memory/recall</code></li>\n<li><strong>Sprawdzić składnię wyszukiwania</strong> — FTS5 ma specyficzną składnię</li>\n<li><strong>Spróbować prostszego zapytania</strong> — <code>?q=docker</code> zamiast <code>?q=docker+swarm+deployment</code></li>\n<li><strong>Użyć wyszukiwania semantycznego</strong> do zapytań koncepcyjnych: <code>GET /memory/semantic-search?q=...</code></li>\n</ol>\n<p>Patrz <a href=\"/docs/concepts/fts5-search\">Wyszukiwanie FTS5</a>.</p>\n<h2>Wspomnienia nie utrwalają się</h2>\n<h3>Symptomy</h3>\n<ul>\n<li>POST /memory zwraca sukces</li>\n<li>GET /memory/recall nie pokazuje ich</li>\n</ul>\n<h3>Rozwiązania</h3>\n<ol>\n<li><strong>Zweryfikować ten sam Mind Key</strong> — różne klucze = różne umysły</li>\n<li><strong>Sprawdzić odpowiedź</strong> — POST zwraca <code>{ &quot;id&quot;: &quot;mem_...&quot;, &quot;status&quot;: &quot;stored&quot; }</code></li>\n<li><strong>Spróbować GET /memory</strong> (lista JSON) zamiast /memory/recall (tekst)</li>\n<li><strong>Sprawdzić filtr</strong> — <code>?category=</code> lub <code>?tag=</code> mogą je ukrywać</li>\n</ol>\n<h2>Narzędzia nie pojawiają się w Claude Desktop</h2>\n<h3>Symptomy</h3>\n<ul>\n<li>Claude Desktop pokazuje 0 narzędzi</li>\n<li>Brak ikony 🔌</li>\n</ul>\n<h3>Rozwiązania</h3>\n<ol>\n<li><strong>W pełni zrestartować Claude Desktop</strong> (Cmd+Q)</li>\n<li><strong>Zweryfikować, czy plik konfiguracyjny</strong> jest poprawnym JSON-em</li>\n<li><strong>Sprawdzić Node.js 18+</strong> zainstalowany</li>\n<li><strong>Uruchomić MCP ręcznie</strong>: <code>npx -y synapse-mcp-api@latest</code></li>\n<li><strong>Sprawdzić logi</strong>: <code>~/Library/Logs/Claude/mcp.log</code></li>\n</ol>\n<p>Patrz <a href=\"/docs/mcp/troubleshooting\">Rozwiązywanie problemów MCP</a>.</p>\n<h2>Synapse jest offline</h2>\n<h3>Symptomy</h3>\n<ul>\n<li>Nie można dotrzeć do synapse.schaefer.zone</li>\n<li>curl przekracza czas oczekiwania</li>\n</ul>\n<h3>Rozwiązania</h3>\n<ol>\n<li><strong>Sprawdzić połączenie internetowe</strong> — spróbować innej strony</li>\n<li><strong>Sprawdzić kondycję Synapse</strong>: <code>curl https://synapse.schaefer.zone/health</code></li>\n<li><strong>Poczekać</strong> — może to być tymczasowa awaria lub wdrożenie</li>\n<li><strong>Sprawdzić stronę statusu</strong> (jeśli dostępna)</li>\n</ol>\n<p>Dla self-hosted: sprawdzić status kontenera Docker, połączenie z bazą danych.</p>\n<h2>Błędy bazy danych</h2>\n<h3>Symptomy</h3>\n<ul>\n<li>500 Internal Server Error</li>\n<li>„Database connection failed&quot;</li>\n</ul>\n<h3>Rozwiązania</h3>\n<p>Dla self-hosted:</p>\n<ol>\n<li><strong>Sprawdzić, czy PostgreSQL działa</strong>: <code>docker ps | grep postgres</code></li>\n<li><strong>Sprawdzić DATABASE_URL</strong> w środowisku</li>\n<li><strong>Sprawdzić migracje</strong>: <code>npm run migrate:check</code></li>\n<li><strong>Sprawdzić miejsce na dysku</strong>: <code>df -h</code></li>\n</ol>\n<p>Dla hostowanej wersji: zgłosić do wsparcia.</p>\n<h2>Webhook się nie wyzwala</h2>\n<h3>Symptomy</h3>\n<ul>\n<li>Zarejestrowany webhook, ale brak wywołań zwrotnych</li>\n<li>Brak POST pod podany URL</li>\n</ul>\n<h3>Rozwiązania</h3>\n<ol>\n<li><strong>Zweryfikować osiągalność URL</strong>: <code>curl -X POST your-url -d &#39;{}&#39;</code></li>\n<li><strong>Sprawdzić filtr zdarzeń</strong> — <code>memory.*</code> pasuje do wszystkich zdarzeń pamięci</li>\n<li><strong>Przetestować webhook</strong>: <code>POST /webhooks/:id/test</code></li>\n<li><strong>Sprawdzić, czy webhook jest włączony</strong>: <code>GET /webhooks/:id</code></li>\n<li><strong>Zweryfikować SSL</strong> — Synapse wymaga ważnego HTTPS dla URL-i webhooków</li>\n</ol>\n<p>Patrz <a href=\"/docs/api/webhooks\">Webhooks API</a>.</p>\n<h2>Zadanie cron się nie uruchamia</h2>\n<h3>Symptomy</h3>\n<ul>\n<li>Utworzono zadanie cron, ale się nie wyzwala</li>\n<li><code>next_run</code> się nie aktualizuje</li>\n</ul>\n<h3>Rozwiązania</h3>\n<ol>\n<li><strong>Sprawdzić składnię harmonogramu</strong> — musi być poprawny cron 5-polowy lub liczba całkowita sekund</li>\n<li><strong>Zweryfikować, czy endpoint jest dozwolony</strong> — musi być http(s), bez prywatnych IP</li>\n<li><strong>Sprawdzić, czy zadanie jest włączone</strong>: <code>GET /cron</code></li>\n<li><strong>Poczekać na następny zaplanowany czas</strong> — cron nie jest natychmiastowy</li>\n</ol>\n<p>Patrz <a href=\"/docs/api/cron\">Cron i Scheduler</a>.</p>\n<h2>Potrzebna dalsza pomoc?</h2>\n<ol>\n<li><strong>Sprawdzić istniejącą dokumentację</strong>: <a href=\"https://synapse.schaefer.zone/docs\">https://synapse.schaefer.zone/docs</a></li>\n<li><strong>Przeszukać dokumentację</strong>: <code>GET /docs/search?q=your+question</code></li>\n<li><strong>Otworzyć zgłoszenie</strong>: <a href=\"https://gitlab.com/schaefer-services/synapse/-/issues\">https://gitlab.com/schaefer-services/synapse/-/issues</a></li>\n<li><strong>Kontakt</strong>: patrz strona <code>/support</code></li>\n</ol>\n<h2>Następne kroki</h2>\n<ul>\n<li><a href=\"/docs/api/errors\">Błędy i ich obsługa</a></li>\n<li><a href=\"/docs/faq/api-faq\">FAQ API</a></li>\n<li><a href=\"/docs/mcp/troubleshooting\">Rozwiązywanie problemów MCP</a></li>\n</ul>\n","urls":{"html":"/docs/faq/troubleshooting","text":"/docs/faq/troubleshooting?format=text","json":"/docs/faq/troubleshooting?format=json","llm":"/docs/faq/troubleshooting?format=llm"},"translations_available":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"]}