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 を使用してください。

検出

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-prompts—live-session-ownerDaemonClient.getPendingPrompts

POST /session/:id/prompt はプロンプトがキューに入ると 202 を返します。エージェントが完了した時点ではありません。まずサブスクライブし、promptId で turn_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/tools—legacy-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 をプリフライトしてください。

追加のドキュメント化された API

上記の 25 操作は安定した OpenAPI インテグレーション契約です。以下の操作は専用プロトコルセクションを持つ HTTP ルートのインデックスを完成させます。これらはドキュメント化された v1 サーフェスですが、条件付き、管理用、または主にファーストパーティクライアントをサポートするため、そのコンパクトな OpenAPI 契約の範囲外です。リストされたすべてのケーパビリティをプリフライトし、欠落しているケーパビリティは利用不可のルートとして扱ってください。グループ化された行は、所有権と SDK ファミリーを共有する場合に複数の操作を含むことがあります。

領域操作ケーパビリティとスコープTypeScript SDK
オペレーター状態GET /daemon/status · GET /branddaemon_status、web_shell_brand;process-globalDaemonClient.daemonStatus、DaemonClient.brand
ワークスペース登録POST /workspaces · PATCH /workspaces/:workspace · DELETE /workspaces/:workspace · GET /workspace-registrations · DELETE /workspace-registrations/:iddynamic_workspace_registration、persistent_workspace_registration、workspace_display_name、workspace_runtime_removal;process-global または selected-runtimeDaemonClient.addWorkspace、DaemonClient.updateWorkspace、WorkspaceDaemonClient.remove;registration-store ルートは生 REST を使用
ワークスペースランタイムステータスGET /workspace/mcp · GET /workspace/skills · GET /workspace/providers · GET /workspace/env · GET /workspace/preflightworkspace_mcp、workspace_skills、workspace_providers、workspace_env、workspace_preflight;legacy-primaryDaemonClient.workspaceMcp、workspaceSkills、workspaceProviders、workspaceEnv、workspacePreflight
ファイル変更POST /file/write · POST /file/editworkspace_file_write;legacy-primaryDaemonClient.writeWorkspaceFile、DaemonClient.editWorkspaceFile
セッション検査とタスクGET /session/:id/supported-commands · GET /session/:id/tasks · POST /session/:id/tasks/:taskId/workflow-action · GET /session/:id/lsp · GET /session/:id/resourcessession_supported_commands、session_tasks、session_lsp、session_resources;live-session-ownerDaemonClient.sessionSupportedCommands、sessionTasks、sessionWorkflowTaskAction、sessionLspStatus、sessionResources
ワークスペース修飾の履歴GET /workspaces/:workspace/session/:id/transcript · GET /workspaces/:workspace/session/:id/export · GET /workspaces/:workspace/session/:id/archive/exportworkspace_persisted_transcript、workspace_session_export、workspace_archived_session_export;persisted-workspaceWorkspaceDaemonClient.getSessionTranscriptPage、exportSession、exportArchivedSession
ワークツリーリカバリーPOST /session/:id/worktree-resetsession_worktree_reset_v1;live-session-ownerDaemonClient.resetWorktreeSession
永続化セッションカタログPOST /sessions/catalog · GET /workspace/:id/session-info · GET /workspaces/:workspace/session-info · GET /workspace/:id/sessions · GET /workspaces/:workspace/sessions · GET /workspaces/:workspace/sessions/live-statesession_info、session_list、workspace_session_live_state;persisted-workspace;session_catalog_batch;メンバーごとに persisted-workspaceDaemonClient.getStandaloneSession、listWorkspaceSessions、listSessionsCatalog、getWorkspaceSessionLiveState
セッション整理GET /workspace/:id/session-groups · POST /workspace/:id/session-groups · PATCH /workspace/:id/session-groups/:groupId · DELETE /workspace/:id/session-groups/:groupId · PATCH /session/:id/organization · PATCH /workspaces/:workspace/session/:id/organizationsession_organization;legacy-primary または persisted-workspaceDaemonClient.listSessionGroups、createSessionGroup、updateSessionGroup、deleteSessionGroup、updateSessionOrganization;WorkspaceDaemonClient.updateSessionOrganization
永続化セッションの一括変更POST /sessions/delete · POST /sessions/archive · POST /sessions/unarchivesession_archive;legacy-primaryDaemonClient.deleteSessionsData、archiveSessionsData、unarchiveSessionsData
オプションのセッションコントロールPOST /session/:id/recap · POST /session/:id/generate · POST /session/:id/approval-modesession_recap、session_generation、session_approval_mode_control;live-session-ownerDaemonClient.recapSession、generation は生 REST、DaemonClient.setSessionApprovalMode
ワークスペース設定POST /workspace/tools/:name/enable · POST /workspace/skills/:name/enable · POST /workspace/skills/enable · POST /workspace/init · POST /workspace/mcp/reload · POST /workspace/mcp/:server/restart · POST /languageworkspace_tool_toggle、workspace_skill_settings_toggle、workspace_skill_settings_batch_toggle、workspace_init、workspace_mcp_manage、workspace_mcp_restart、user_language_sync;legacy-primary または process-globalDaemonClient.setWorkspaceToolEnabled、setWorkspaceSkillEnabled、setWorkspaceSkillsEnabled、initWorkspace、reloadWorkspaceMcp、restartMcpServer、setUserLanguage
デバイスフロー認証POST /workspace/auth/device-flow · GET /workspace/auth/device-flow/:id · DELETE /workspace/auth/device-flow/:id · GET /workspace/auth/statusauth_device_flow;legacy-primaryDaemonClient.startDeviceFlow、getDeviceFlow、cancelDeviceFlow、getAuthStatus

専用のプロトコルセクションがないルートは意図的にこのインデックスから除外されています。これらはファーストパーティの Web Shell の配管や条件付き実装サーフェスである可能性があり、省略によってインテグレーション契約に昇格されることはありません。

共通プロトコルルール

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