{"title":"トラブルシューティング FAQ","slug":"troubleshooting","category":"faq","summary":"Synapse のよくある問題の解決策 — 認証、ネットワーク、データ、デプロイ。","audience":["human","llm"],"tags":["faq","troubleshooting","problems","solutions"],"difficulty":"beginner","updated":"2026-06-27","word_count":418,"read_minutes":2,"lang":"ja","translated":true,"requested_lang":"ja","content_markdown":"\n# トラブルシューティング FAQ\n\nSynapse のよくある問題の解決策です。\n\n## ログインできない\n\n### 症状\n\n- `POST /login` が 401 を返す\n- \"Invalid email or password\"\n\n### 解決策\n\n1. **メールアドレスが正しいか確認** — 大文字小文字を区別\n2. **パスワードを確認** — 最低 6 文字\n3. **アカウントがない場合は登録**：`POST /register`\n4. **パスワードリセット**（SMTP 構成時）— Web UI 経由\n\n## Mind Key を失くした\n\n### 症状\n\n- メモリにアクセスできない\n- Mind Key が削除/紛失\n\n### 解決策\n\nMind Key は復元できません。以下を行う必要があります。\n\n1. ログインして JWT を取得：`POST /login`\n2. mind を一覧：`GET /minds`（JWT で）\n3. 新しい mind を作成：`POST /minds`\n4. 新しい Mind Key を保存\n5. （オプション）古い mind を削除：`DELETE /minds/:id`\n\n**古い mind のデータは失われます** — Mind Key が見つからない限り。\n\n## API 呼び出しが 401 を返す\n\n### 症状\n\n- すべての API 呼び出しが 401 Unauthorized を返す\n- \"Mind Key fehlt oder ungültig\"\n\n### 解決策\n\n1. **ヘッダー形式を確認**：`Authorization: Bearer mk_...`\n2. **Mind Key が `mk_` で始まるか確認**（`eyJ` は JWT）\n3. **直接テスト**：\n   ```bash\n   curl -H \"Authorization: Bearer mk_YOUR_KEY\" \\\n        https://synapse.schaefer.zone/memory/recall\n   ```\n4. **Mind Key が失効している可能性** — 新しい mind を作成\n\n[Authentication](/docs/getting-started/authentication) を参照。\n\n## API 呼び出しが 404 を返す\n\n### 症状\n\n- 404 Not Found\n- \"Route not found\"\n\n### 解決策\n\n> [!CRITICAL]\n> エンドポイントのパスを推測しないでください。`GET /endpoints` にあるパスのみが存在します。\n\n1. **有効なエンドポイントを確認**：`curl https://synapse.schaefer.zone/endpoints`\n2. **URL を正確に比較** — 大文字小文字を区別、末尾スラッシュなし\n3. **HTTP メソッドを確認** — `GET /memory` と `POST /memory` は異なる\n\n## API 呼び出しが 429 を返す\n\n### 症状\n\n- 429 Too Many Requests\n- \"Rate limit exceeded\"\n\n### 解決策\n\n1. **ヘッダー認証に切り替え**（レート制限なし）：\n   ```bash\n   # Don't\n   curl \".../memory/recall?key=mk_...\"\n   \n   # Do\n   curl -H \"Authorization: Bearer mk_...\" .../memory/recall\n   ```\n2. **`?key=` を使う必要がある場合は `Retry-After` 秒待機**\n\n[Rate Limits](/docs/api/rate-limits) を参照。\n\n## メモリ検索が結果を返さない\n\n### 症状\n\n- `GET /memory/search?q=...` が空を返す\n- メモリが存在することは分かっている\n\n### 解決策\n\n1. **メモリが存在するか確認**：`GET /memory/recall`\n2. **検索構文を確認** — FTS5 には固有の構文があります\n3. **よりシンプルなクエリを試す** — `?q=docker+swarm+deployment` ではなく `?q=docker`\n4. **概念的クエリにはセマンティック検索を使用**：`GET /memory/semantic-search?q=...`\n\n[FTS5 Search](/docs/concepts/fts5-search) を参照。\n\n## メモリが永続化されない\n\n### 症状\n\n- POST /memory は成功を返す\n- GET /memory/recall に表示されない\n\n### 解決策\n\n1. **同じ Mind Key か確認** — 異なるキー = 異なる mind\n2. **レスポンスを確認** — POST は `{ \"id\": \"mem_...\", \"status\": \"stored\" }` を返す\n3. **/memory/recall（テキスト）の代わりに GET /memory（JSON リスト）を試す**\n4. **フィルタを確認** — `?category=` や `?tag=` が隠している可能性\n\n## Claude Desktop にツールが表示されない\n\n### 症状\n\n- Claude Desktop が 0 ツールを表示\n- 🔌 アイコンがない\n\n### 解決策\n\n1. **Claude Desktop を完全に再起動**（Cmd+Q）\n2. **設定ファイルが有効な JSON か確認**\n3. **Node.js 18+ がインストールされているか確認**\n4. **MCP を手動で実行**：`npx -y synapse-mcp-api@latest`\n5. **ログを確認**：`~/Library/Logs/Claude/mcp.log`\n\n[MCP Troubleshooting](/docs/mcp/troubleshooting) を参照。\n\n## Synapse がオフライン\n\n### 症状\n\n- synapse.schaefer.zone に届かない\n- curl がタイムアウト\n\n### 解決策\n\n1. **インターネット接続を確認** — 別のサイトを試す\n2. **Synapse のヘルスを確認**：`curl https://synapse.schaefer.zone/health`\n3. **待機** — 一時的な停止やデプロイの可能性\n4. **ステータスページを確認**（あれば）\n\nセルフホストの場合：Docker コンテナのステータス、データベース接続を確認。\n\n## データベースエラー\n\n### 症状\n\n- 500 Internal Server Error\n- \"Database connection failed\"\n\n### 解決策\n\nセルフホストの場合：\n\n1. **PostgreSQL が実行中か確認**：`docker ps | grep postgres`\n2. **環境の DATABASE_URL を確認**\n3. **マイグレーションを確認**：`npm run migrate:check`\n4. **ディスク容量を確認**：`df -h`\n\nホスト版の場合：サポートに報告。\n\n## Webhook が発火しない\n\n### 症状\n\n- Webhook を登録したがコールバックを受け取らない\n- あなたの URL に POST が来ない\n\n### 解決策\n\n1. **URL が到達可能か確認**：`curl -X POST your-url -d '{}'`\n2. **events フィルタを確認** — `memory.*` は全メモリイベントにマッチ\n3. **Webhook をテスト**：`POST /webhooks/:id/test`\n4. **Webhook が有効か確認**：`GET /webhooks/:id`\n5. **SSL を確認** — Synapse は Webhook URL に有効な HTTPS を要求\n\n[Webhooks API](/docs/api/webhooks) を参照。\n\n## Cron ジョブが実行されない\n\n### 症状\n\n- Cron ジョブを作成したが発火しない\n- `next_run` が更新されない\n\n### 解決策\n\n1. **スケジュール構文を確認** — 有効な 5 フィールド cron または整数秒である必要\n2. **エンドポイントが許可されているか確認** — http(s) で、プライベート IP 不可\n3. **ジョブが有効か確認**：`GET /cron`\n4. **次のスケジュール時刻まで待機** — cron は即時ではない\n\n[Cron & Scheduler](/docs/api/cron) を参照。\n\n## さらにヘルプが必要な場合\n\n1. **既存のドキュメントを確認**：<https://synapse.schaefer.zone/docs>\n2. **ドキュメントを検索**：`GET /docs/search?q=your+question`\n3. **Issue を開く**：<https://gitlab.com/schaefer-services/synapse/-/issues>\n4. **連絡先**：`/support` ページを参照\n\n## 次のステップ\n\n- [Errors & Error Handling](/docs/api/errors)\n- [API FAQ](/docs/faq/api-faq)\n- [MCP Troubleshooting](/docs/mcp/troubleshooting)\n","content_html":"<h1>トラブルシューティング FAQ</h1>\n<p>Synapse のよくある問題の解決策です。</p>\n<h2>ログインできない</h2>\n<h3>症状</h3>\n<ul>\n<li><code>POST /login</code> が 401 を返す</li>\n<li>&quot;Invalid email or password&quot;</li>\n</ul>\n<h3>解決策</h3>\n<ol>\n<li><strong>メールアドレスが正しいか確認</strong> — 大文字小文字を区別</li>\n<li><strong>パスワードを確認</strong> — 最低 6 文字</li>\n<li><strong>アカウントがない場合は登録</strong>：<code>POST /register</code></li>\n<li><strong>パスワードリセット</strong>（SMTP 構成時）— Web UI 経由</li>\n</ol>\n<h2>Mind Key を失くした</h2>\n<h3>症状</h3>\n<ul>\n<li>メモリにアクセスできない</li>\n<li>Mind Key が削除/紛失</li>\n</ul>\n<h3>解決策</h3>\n<p>Mind Key は復元できません。以下を行う必要があります。</p>\n<ol>\n<li>ログインして JWT を取得：<code>POST /login</code></li>\n<li>mind を一覧：<code>GET /minds</code>（JWT で）</li>\n<li>新しい mind を作成：<code>POST /minds</code></li>\n<li>新しい Mind Key を保存</li>\n<li>（オプション）古い mind を削除：<code>DELETE /minds/:id</code></li>\n</ol>\n<p><strong>古い mind のデータは失われます</strong> — Mind Key が見つからない限り。</p>\n<h2>API 呼び出しが 401 を返す</h2>\n<h3>症状</h3>\n<ul>\n<li>すべての API 呼び出しが 401 Unauthorized を返す</li>\n<li>&quot;Mind Key fehlt oder ungültig&quot;</li>\n</ul>\n<h3>解決策</h3>\n<ol>\n<li><strong>ヘッダー形式を確認</strong>：<code>Authorization: Bearer mk_...</code></li>\n<li><strong>Mind Key が <code>mk_</code> で始まるか確認</strong>（<code>eyJ</code> は JWT）</li>\n<li><strong>直接テスト</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 が失効している可能性</strong> — 新しい mind を作成</li>\n</ol>\n<p><a href=\"/docs/getting-started/authentication\">Authentication</a> を参照。</p>\n<h2>API 呼び出しが 404 を返す</h2>\n<h3>症状</h3>\n<ul>\n<li>404 Not Found</li>\n<li>&quot;Route not found&quot;</li>\n</ul>\n<h3>解決策</h3>\n<div class=\"callout callout-critical\">エンドポイントのパスを推測しないでください。`GET /endpoints` にあるパスのみが存在します。</div><ol>\n<li><strong>有効なエンドポイントを確認</strong>：<code>curl https://synapse.schaefer.zone/endpoints</code></li>\n<li><strong>URL を正確に比較</strong> — 大文字小文字を区別、末尾スラッシュなし</li>\n<li><strong>HTTP メソッドを確認</strong> — <code>GET /memory</code> と <code>POST /memory</code> は異なる</li>\n</ol>\n<h2>API 呼び出しが 429 を返す</h2>\n<h3>症状</h3>\n<ul>\n<li>429 Too Many Requests</li>\n<li>&quot;Rate limit exceeded&quot;</li>\n</ul>\n<h3>解決策</h3>\n<ol>\n<li><strong>ヘッダー認証に切り替え</strong>（レート制限なし）：<pre><code class=\"hljs language-bash\"><span class=\"hljs-comment\"># Don&#x27;t</span>\ncurl <span class=\"hljs-string\">&quot;.../memory/recall?key=mk_...&quot;</span>\n\n<span class=\"hljs-comment\"># Do</span>\ncurl -H <span class=\"hljs-string\">&quot;Authorization: Bearer mk_...&quot;</span> .../memory/recall</code></pre></li>\n<li><strong><code>?key=</code> を使う必要がある場合は <code>Retry-After</code> 秒待機</strong></li>\n</ol>\n<p><a href=\"/docs/api/rate-limits\">Rate Limits</a> を参照。</p>\n<h2>メモリ検索が結果を返さない</h2>\n<h3>症状</h3>\n<ul>\n<li><code>GET /memory/search?q=...</code> が空を返す</li>\n<li>メモリが存在することは分かっている</li>\n</ul>\n<h3>解決策</h3>\n<ol>\n<li><strong>メモリが存在するか確認</strong>：<code>GET /memory/recall</code></li>\n<li><strong>検索構文を確認</strong> — FTS5 には固有の構文があります</li>\n<li><strong>よりシンプルなクエリを試す</strong> — <code>?q=docker+swarm+deployment</code> ではなく <code>?q=docker</code></li>\n<li><strong>概念的クエリにはセマンティック検索を使用</strong>：<code>GET /memory/semantic-search?q=...</code></li>\n</ol>\n<p><a href=\"/docs/concepts/fts5-search\">FTS5 Search</a> を参照。</p>\n<h2>メモリが永続化されない</h2>\n<h3>症状</h3>\n<ul>\n<li>POST /memory は成功を返す</li>\n<li>GET /memory/recall に表示されない</li>\n</ul>\n<h3>解決策</h3>\n<ol>\n<li><strong>同じ Mind Key か確認</strong> — 異なるキー = 異なる mind</li>\n<li><strong>レスポンスを確認</strong> — POST は <code>{ &quot;id&quot;: &quot;mem_...&quot;, &quot;status&quot;: &quot;stored&quot; }</code> を返す</li>\n<li><strong>/memory/recall（テキスト）の代わりに GET /memory（JSON リスト）を試す</strong></li>\n<li><strong>フィルタを確認</strong> — <code>?category=</code> や <code>?tag=</code> が隠している可能性</li>\n</ol>\n<h2>Claude Desktop にツールが表示されない</h2>\n<h3>症状</h3>\n<ul>\n<li>Claude Desktop が 0 ツールを表示</li>\n<li>🔌 アイコンがない</li>\n</ul>\n<h3>解決策</h3>\n<ol>\n<li><strong>Claude Desktop を完全に再起動</strong>（Cmd+Q）</li>\n<li><strong>設定ファイルが有効な JSON か確認</strong></li>\n<li><strong>Node.js 18+ がインストールされているか確認</strong></li>\n<li><strong>MCP を手動で実行</strong>：<code>npx -y synapse-mcp-api@latest</code></li>\n<li><strong>ログを確認</strong>：<code>~/Library/Logs/Claude/mcp.log</code></li>\n</ol>\n<p><a href=\"/docs/mcp/troubleshooting\">MCP Troubleshooting</a> を参照。</p>\n<h2>Synapse がオフライン</h2>\n<h3>症状</h3>\n<ul>\n<li>synapse.schaefer.zone に届かない</li>\n<li>curl がタイムアウト</li>\n</ul>\n<h3>解決策</h3>\n<ol>\n<li><strong>インターネット接続を確認</strong> — 別のサイトを試す</li>\n<li><strong>Synapse のヘルスを確認</strong>：<code>curl https://synapse.schaefer.zone/health</code></li>\n<li><strong>待機</strong> — 一時的な停止やデプロイの可能性</li>\n<li><strong>ステータスページを確認</strong>（あれば）</li>\n</ol>\n<p>セルフホストの場合：Docker コンテナのステータス、データベース接続を確認。</p>\n<h2>データベースエラー</h2>\n<h3>症状</h3>\n<ul>\n<li>500 Internal Server Error</li>\n<li>&quot;Database connection failed&quot;</li>\n</ul>\n<h3>解決策</h3>\n<p>セルフホストの場合：</p>\n<ol>\n<li><strong>PostgreSQL が実行中か確認</strong>：<code>docker ps | grep postgres</code></li>\n<li><strong>環境の DATABASE_URL を確認</strong></li>\n<li><strong>マイグレーションを確認</strong>：<code>npm run migrate:check</code></li>\n<li><strong>ディスク容量を確認</strong>：<code>df -h</code></li>\n</ol>\n<p>ホスト版の場合：サポートに報告。</p>\n<h2>Webhook が発火しない</h2>\n<h3>症状</h3>\n<ul>\n<li>Webhook を登録したがコールバックを受け取らない</li>\n<li>あなたの URL に POST が来ない</li>\n</ul>\n<h3>解決策</h3>\n<ol>\n<li><strong>URL が到達可能か確認</strong>：<code>curl -X POST your-url -d &#39;{}&#39;</code></li>\n<li><strong>events フィルタを確認</strong> — <code>memory.*</code> は全メモリイベントにマッチ</li>\n<li><strong>Webhook をテスト</strong>：<code>POST /webhooks/:id/test</code></li>\n<li><strong>Webhook が有効か確認</strong>：<code>GET /webhooks/:id</code></li>\n<li><strong>SSL を確認</strong> — Synapse は Webhook URL に有効な HTTPS を要求</li>\n</ol>\n<p><a href=\"/docs/api/webhooks\">Webhooks API</a> を参照。</p>\n<h2>Cron ジョブが実行されない</h2>\n<h3>症状</h3>\n<ul>\n<li>Cron ジョブを作成したが発火しない</li>\n<li><code>next_run</code> が更新されない</li>\n</ul>\n<h3>解決策</h3>\n<ol>\n<li><strong>スケジュール構文を確認</strong> — 有効な 5 フィールド cron または整数秒である必要</li>\n<li><strong>エンドポイントが許可されているか確認</strong> — http(s) で、プライベート IP 不可</li>\n<li><strong>ジョブが有効か確認</strong>：<code>GET /cron</code></li>\n<li><strong>次のスケジュール時刻まで待機</strong> — cron は即時ではない</li>\n</ol>\n<p><a href=\"/docs/api/cron\">Cron &amp; Scheduler</a> を参照。</p>\n<h2>さらにヘルプが必要な場合</h2>\n<ol>\n<li><strong>既存のドキュメントを確認</strong>：<a href=\"https://synapse.schaefer.zone/docs\">https://synapse.schaefer.zone/docs</a></li>\n<li><strong>ドキュメントを検索</strong>：<code>GET /docs/search?q=your+question</code></li>\n<li><strong>Issue を開く</strong>：<a href=\"https://gitlab.com/schaefer-services/synapse/-/issues\">https://gitlab.com/schaefer-services/synapse/-/issues</a></li>\n<li><strong>連絡先</strong>：<code>/support</code> ページを参照</li>\n</ol>\n<h2>次のステップ</h2>\n<ul>\n<li><a href=\"/docs/api/errors\">Errors &amp; Error Handling</a></li>\n<li><a href=\"/docs/faq/api-faq\">API FAQ</a></li>\n<li><a href=\"/docs/mcp/troubleshooting\">MCP Troubleshooting</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"]}