Files
playchat/docs/api.md
T
colcaroliandClaude Sonnet 4.6 4a08ba29fa Add system memory monitoring, Bedrock support, and Discord integrations
- Add CPU/GPU memory monitoring endpoint and frontend widget
- Add Amazon Bedrock model support (API key / inference profiles) plus model selector entries
- Add Discord weather/laundry notification job (JMA forecast + LLM-generated message)
- Add Discord bot that replies to mentions via the configured LLM, with weather-aware context
- Add scheduled "useless tips" job with separate webhook and quiet-hours skip
- Switch FastAPI startup to lifespan handler, log viewer, markdown rendering, and toast UI additions

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 00:59:38 +09:00

2.6 KiB
Raw Blame History

API リファレンス

ベースURL: http://localhost:8000
Swagger UI: http://localhost:8000/docs


チャット

POST /chat/stream

SSE でストリーミング応答を返す。

リクエストボディ

{
  "message": "こんにちは",
  "session_id": "uuid(省略時は新規セッション作成)",
  "model": "gpt-5.4(省略時は DEFAULT_MODEL)"
}

SSE イベント

type value タイミング
session_id セッション UUID 新規セッション作成直後
chunk テキスト断片 LLM トークン生成ごと
done — 正常完了
error エラーメッセージ 例外発生時

GET /chat/sessions

セッション一覧を updated_at 降順で返す。

レスポンス

[
  {
    "id": "uuid",
    "title": "セッションタイトル",
    "model": "gpt-5.4",
    "updated_at": "2026-06-01T12:00:00"
  }
]

GET /chat/sessions/{session_id}/messages

セッションのメッセージ一覧を created_at 昇順で返す。

レスポンス

[
  { "id": 1, "role": "user", "content": "...", "created_at": "..." },
  { "id": 2, "role": "assistant", "content": "...", "created_at": "..." }
]

DELETE /chat/sessions/{session_id}

セッションと紐づくメッセージ・メモリをすべて削除。204 No Content を返す。


メモリ

GET /memory/{session_id}

セッションの長期メモリ(要約)一覧を created_at 昇順で返す。

レスポンス

[
  {
    "id": 1,
    "session_id": "uuid",
    "summary": "要約テキスト",
    "created_at": "2026-06-01T12:00:00"
  }
]

DELETE /memory/{memory_id}

特定のメモリエントリを削除。204 No Content を返す。


ログ

GET /logs

LLM API 呼び出しログを created_at 降順で返す。

クエリパラメーター

パラメーター 型 説明
session_id string セッションで絞り込み
status ok / error 成功・失敗で絞り込み
limit int (≤500) 最大件数(デフォルト 100)
offset int スキップ件数

レスポンス

[
  {
    "id": 1,
    "session_id": "uuid",
    "model": "gpt-5.4",
    "request_json": "[{\"role\":\"user\",\"content\":\"...\"}]",
    "response_text": "...",
    "error": null,
    "latency_ms": 832.5,
    "created_at": "2026-06-01T12:00:00"
  }
]

DELETE /logs/{log_id}

指定ログを削除。204 No Content を返す。


ヘルスチェック

GET /health

{ "status": "ok" }