---
title: "对话"
method: POST
path: "/v1/app/{app_key}/chat/completion"
tags: ["对话", "对话-internal"]
---

# 对话

`POST /v1/app/{app_key}/chat/completion`

与 Agent 进行对话交互，支持流式响应

## Path parameters

- `app_key` string, required

## Request body

- SwaggerChatReq
  - `agent_app_key` string — agent app key
  - `agent_id` string — agentID
  - `agent_key` string — agentKey
  - `agent_run_id` string — Agent运行ID（中断恢复时由前端传入）
  - `agent_version` string — agent版本
  - `chat_mode` string — 聊天模式
  - `chat_option` ChatoptChatOption
    - `enable_dependency_cache` boolean — 是否需要使用缓存
    - `is_need_doc_retrival_post_process` boolean — 是否需要文档检索后处理
    - `is_need_history` boolean — 是否需要历史上下文
    - `is_need_progress` boolean — 是否需要progress
  - `conversation_id` string — 会话ID
  - `custom_querys` object — 自定义查询
  - `executor_version` string — executor version v1 或 v2 默认v2
  - `history` ComvalobjLLMMessage[] — 历史上下文
    - `content` string
    - `role` string
  - `inc_stream` boolean — 是否增量返回
  - `interrupted_assistant_message_id` string — 中断的助手消息ID
  - `model_name` string — 指定使用的大模型名称
  - `query` string — 查询内容
  - `regenerate_assistant_message_id` string — 重新生成的助手消息ID
  - `regenerate_user_message_id` string — ConfirmPlan bool `json:"confirm_plan"` // 是否确认计划
  - `resume_interrupt_info` V2agentexecutordtoAgentResumeInfo
    - `action` string — 操作类型: confirm | skip
    - `data` V2agentexecutordtoInterruptData
      - `interrupt_config` V2agentexecutordtoInterruptConfig
        - `confirmation_message` string — 确认提示消息
        - `requires_confirmation` boolean — 是否需要用户确认
      - `tool_args` V2agentexecutordtoToolArg[] — 工具参数列表
        - `key` string — 参数名称
        - `type` string — 参数类型
        - `value` unknown
      - `tool_description` string — 工具描述
      - `tool_name` string — 工具名称
    - `modified_args` V2agentexecutordtoModifiedArg[] — 修改后的参数
      - `key` string — 参数名称
      - `value` unknown
    - `resume_handle` V2agentexecutordtoInterruptHandle
      - `current_block` integer — 当前代码块索引
      - `frame_id` string — 执行帧ID
      - `interrupt_type` string — 中断类型
      - `restart_block` boolean — 是否重启代码块
      - `resume_token` string — 恢复令牌
      - `snapshot_id` string — 快照ID
  - `selected_files` AgentreqSelectedFile[] — 用户选择的临时区文件
    - `file_name` string, required — 文件名
  - `stream` boolean — NOTE: 新增stream参数，控制流式返回
  - `temp_files` ValueobjectTempFile[] — 临时文件
    - `details` unknown
    - `id` string
    - `name` string
    - `type` string

## Response `200`

成功

- SwaggerChatResp
  - `agent_run_id` string — Agent运行ID（从Executor返回）
  - `assistant_message_id` string — 助手消息ID
  - `conversation_id` string — 会话ID
  - `error` RestHTTPError
    - `baseError` RestBaseError
      - `description` string — 错误描述
      - `error_code` string — 错误码
      - `error_details` unknown
      - `error_link` string — 错误链接
      - `solution` string — 解决方法
    - `httpcode` integer
    - `language` string
  - `message` ConversationmsgvoMessage
    - `agent_info` ValueobjectAgentInfo
      - `agent_id` string
      - `agent_name` string
      - `agent_status` string
      - `agent_version` string
    - `content` unknown
    - `content_type` 'prompt' | 'explore' | 'other' | 'explore' | 'prompt' | 'other'
    - `conversation_id` string
    - `ext` ConversationmsgvoMessageExt
      - `agent_run_id` string — Agent 运行 ID
      - `error` AgentresperrRespError
        - `error` unknown
        - `type` 'agent_factory' | 'agent_executor'
      - `interrupt_info` V2agentexecutordtoToolInterruptInfo
        - `data` V2agentexecutordtoInterruptData
          - `interrupt_config` V2agentexecutordtoInterruptConfig
            - `confirmation_message` string — 确认提示消息
            - `requires_confirmation` boolean — 是否需要用户确认
          - `tool_args` V2agentexecutordtoToolArg[] — 工具参数列表
            - `key` string — 参数名称
            - `type` string — 参数类型
            - `value` unknown
          - `tool_description` string — 工具描述
          - `tool_name` string — 工具名称
        - `handle` V2agentexecutordtoInterruptHandle
          - `current_block` integer — 当前代码块索引
          - `frame_id` string — 执行帧ID
          - `interrupt_type` string — 中断类型
          - `restart_block` boolean — 是否重启代码块
          - `resume_token` string — 恢复令牌
          - `snapshot_id` string — 快照ID
      - `related_queries` string[] — 相关问题（query 列表）
      - `total_time` number — 总耗时（秒）
      - `total_tokens` integer — 总 token 数
      - `ttft` integer — 首 token 时间（毫秒）
    - `id` string
    - `index` integer
    - `reply_id` string
    - `role` 'user' | 'assistant'
    - `status` 'received' | 'processed' | 'processing' | 'succeded' | 'failed' | 'cancelled'
  - `user_message_id` string — 用户消息ID

## Other responses

- `400` — 请求参数错误
- `500` — 服务器内部错误

---

[API](https://skmtc.net/kweaver-ai/apis/agent-factory-api.md) · [All operations](https://skmtc.net/kweaver-ai/apis/agent-factory-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kweaver-ai/agent-factory-api/revisions/94c8acc695b9/schema)
