Skip to Content
デベロッパーガイドデーモン REST API リファレンス

デーモン REST API リファレンス

これは qwen serve --no-web を実行して独自の UI を提供するインテグレーション向けの公開 REST/SSE インターフェースです。まず インテグレーションガイド を確認し、その後このページでエンドポイントを調べ、HTTP プロトコルリファレンス で詳細なライフサイクルセマンティクスを参照してください。

OpenAPI

25 操作の厳選されたコントラクトは OpenAPI 3.1 JSON  として利用可能です。この URL を OpenAPI 互換のレンダラー、クライアントジェネレーター、または検証ツールにインポートしてください。チェックインされた JSON は以下でインデックス化された操作のポータブルなインターフェースコントラクトであり、CI でガイド、プロトコル見出し、および登録済みルートに対して検証されています。

このインデックスはデーモンの REST サーフェスの厳選されたコアサブセットをカバーしており、すべてではありません。その外にはファーストパーティの Web Shell ルート、条件付きの内部サーフェス、およびその他の公開されているが非コアのルート——ファイル変更、ワークスペース登録、セッション整理と生成、ワークスペース MCP、スキル、プロバイダーなど——があります。これらのサーフェスは独自のケーパビリティタグで宣伝されており、HTTP プロトコルリファレンス にセッション、ワークスペースステータス、ファイルサーフェスがドキュメント化され、MCP サーバー管理、認証プロバイダー、デバイスフローサインインは デーモン認証とセキュリティノート でカバーされています。これらはこの契約の範囲外ですが、非推奨ではありません。

インデックスの読み方

  • ケーパビリティGET /capabilities で確認する機能タグです。ダッシュは操作に専用の機能タグがないことを意味します。古いデーモンビルドをサポートする必要があるクライアントは 404 を処理してください。
  • スコープ はどのランタイムが操作を所有するかを示します。process-global はデーモン全体の状態を読み取り、selected-runtime はリクエストのワークスペース選択を使用し、persisted-workspace は永続化されたセッションストレージを解決し、live-session-owner はライブセッションでルーティングし、legacy-primary は常にデーモンのプライマリワークスペースをターゲットにします。GET /session/:id/export はプライマリ固定です。管理された内部ランタイムのみを解決し、その後プライマリワークスペースにフォールバックします。
  • このインデックスのすべての操作は v1 REST コントラクトで 安定 です。非推奨の unstable_session_resume ケーパビリティ名は単なるエイリアスです。安定した resume ルートには session_resume を使用してください。

Discovery

OperationCapabilityScopeTypeScript SDK
GET /healthhealthprocess-globalDaemonClient.health
GET /capabilitiescapabilitiesprocess-globalDaemonClient.capabilities

セッションライフサイクル

OperationCapabilityScopeTypeScript SDK
POST /sessionsession_createselected-runtimeDaemonClient.createOrAttachSession
POST /session/:id/loadsession_loadselected-runtimeDaemonClient.loadSession
POST /session/:id/resumesession_resumeselected-runtimeDaemonClient.resumeSession
POST /session/:id/heartbeatclient_heartbeatlive-session-ownerDaemonClient.heartbeat
PATCH /session/:id/metadatasession_metadatalive-session-ownerDaemonClient.updateSessionMetadata
POST /session/:id/modelsession_set_modellive-session-ownerDaemonClient.setSessionModel
DELETE /session/:idsession_closelive-session-ownerDaemonClient.closeSession

プロンプトとイベント

OperationCapabilityScopeTypeScript SDK
GET /session/:id/statussession_statuslive-session-ownerDaemonClient.sessionStatus
POST /session/:id/promptsession_promptlive-session-ownerDaemonClient.promptNonBlocking
POST /session/:id/cancelsession_cancellive-session-ownerDaemonClient.cancel
GET /session/:id/eventssession_eventslive-session-ownerDaemonClient.subscribeEvents
GET /session/:id/transcriptsession_transcriptpersisted-workspaceDaemonClient.getSessionTranscriptPage
GET /session/:id/contextsession_contextlive-session-ownerDaemonClient.sessionContext
GET /session/:id/exportsession_exportlegacy-primaryDaemonClient.exportSession
GET /session/:id/pending-promptslive-session-ownerDaemonClient.getPendingPrompts

POST /session/:id/prompt はプロンプトがキューに入ると 202 を返します。エージェントが完了した時点ではありません。まずサブスクライブし、promptIdturn_complete または turn_error を関連付けます。

権限

OperationCapabilityScopeTypeScript SDK
POST /session/:id/permission/:requestIdsession_permission_votelive-session-ownerDaemonClient.respondToSessionPermission
POST /permission/:requestIdpermission_votelegacy-primaryDaemonClient.respondToPermission

新しいマルチワークスペースインテグレーションは常にセッションスコープのルートを使用してください。レガシールートは別のランタイムが所有するリクエストに対して、すでに解決済みの投票と同じ 404 を返す可能性があります。

読み取り専用ワークスペースコンテキスト

OperationCapabilityScopeTypeScript SDK
GET /workspace/toolslegacy-primaryDaemonClient.workspaceTools
GET /fileworkspace_file_readlegacy-primaryDaemonClient.readWorkspaceFile
GET /file/bytesworkspace_file_byteslegacy-primaryDaemonClient.readWorkspaceFileBytes
GET /statworkspace_file_readlegacy-primaryDaemonClient.fileStat
GET /listworkspace_file_readlegacy-primaryDaemonClient.dirList
GET /globworkspace_file_readlegacy-primaryDaemonClient.glob

これらの単一ルートはプライマリワークスペースをターゲットにします。複数の登録済みワークスペースを公開するインテグレーションは完全なプロトコルでドキュメント化されているワークスペース修飾の対照ルートを使用し、workspace_qualified_rest_core をプリフライトしてください。

共通プロトコルルール

  • 通常のルートは Authorization: Bearer <token> で認証します。デフォルトのループバック /health プローブは免除される場合があります。非ループバックバインドは免除されません。
  • 作成・ロードレスポンスで X-Qwen-Client-Id が提供された場合は送信してください。これは添付・属性識別子であり、エンドユーザーのセキュリティプリンシパルではありません。
  • エラーボディは追加的なものとして扱います。主に HTTP ステータスと、存在する場合は安定した code または errorKind で分岐してください。
  • SSE レスポンスヘッダーを保持し、プロキシバッファリングを無効にしてください。デーモンがエポックを提供した場合は Last-Event-IDX-Qwen-Event-Epoch の両方で再開します。
  • ワークスペースの信頼境界はテナント分離ではありません。セキュリティプリンシパルまたはプロセスレベルの障害境界を独立させる必要がある場合は別のデーモンを実行してください。
Last updated on