# 请求附来源的研究分析

标准 URL： https://sosoapi.ai/zh-hans/docs/mcp/research-assistant-request

`sosoapi_research_assistant_request`

以明确的 processing_intent 请求有界限且附来源的分析；可能无法使用。同一变更绝不重新生成。需要 agent:research。

## 配置与传输方式

配置：full

传输方式：stdio、http

选择 core 或 full 以控制客户端显示的工具；这不会变更权限。本地文件上传需要 stdio，无法通过 HTTP 使用。设置 SOSOAPI_OUTPUT_SCHEMAS=1 可在探索结果加入输出schema。无论是否启用此设置，工具皆会返回结构化结果。

## 权限与副作用

注解帮助客户端描述工具。每次调用仍会检查用户身份验证、角色、资源访问和能力授权。

```json
{
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": true
}
```

`/research-api/assistant/request` — agent:research; 已接受的领域执行或明确无法使用；只有已完成且获授权的执行才包含答案

## 输入字段

```json
{
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid"
    },
    "mutation_id": {
      "type": "string",
      "format": "uuid"
    },
    "conversation_id": {
      "type": "string",
      "format": "uuid"
    },
    "expected_revision": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "parent_message_id": {
      "anyOf": [
        {
          "type": "string",
          "format": "uuid"
        },
        {
          "type": "null"
        }
      ]
    },
    "question": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2000
    },
    "request_kind": {
      "type": "string",
      "enum": [
        "question",
        "overview",
        "themes",
        "audiences",
        "sentiment",
        "query_suggestions"
      ]
    },
    "processing_intent": {
      "type": "string",
      "enum": [
        "google_gemini_selected_context"
      ]
    }
  },
  "required": [
    "workspace_id",
    "mutation_id",
    "conversation_id",
    "expected_revision",
    "parent_message_id",
    "question",
    "request_kind",
    "processing_intent"
  ],
  "additionalProperties": false
}
```

## 结构化输出

此 schema 描述成功工具结果中的 structuredContent。MCP 响应也包含 content，并可能在调用失败时设置 isError。对于发布，请读取帖子的最终结果，不要把获接受的请求或文字响应当作确认。链接的 API 操作说明了权限和重试规则。

```json
{
  "type": "object",
  "properties": {
    "run": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "workspace_id": {
          "type": "string",
          "format": "uuid"
        },
        "conversation_id": {
          "type": "string",
          "format": "uuid"
        },
        "conversation_revision": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "generation": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "request_kind": {
          "type": "string",
          "enum": [
            "question",
            "overview",
            "themes",
            "audiences",
            "sentiment",
            "query_suggestions"
          ]
        },
        "status": {
          "type": "string",
          "enum": [
            "queued",
            "processing",
            "completed",
            "failed",
            "cancelled",
            "expired",
            "unavailable"
          ]
        },
        "failure_code": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "not_configured",
                "budget_exhausted",
                "access_changed",
                "source_unavailable",
                "context_changed",
                "input_too_large",
                "provider_unavailable",
                "generation_unconfirmed",
                "invalid_output",
                "cancelled",
                "expired",
                "conversation_full"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "created_at": {
          "type": "string",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
          "format": "date-time"
        },
        "expires_at": {
          "type": "string",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
          "format": "date-time"
        },
        "processor": {
          "type": "string",
          "const": "Google Gemini"
        },
        "model_id": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 128
            },
            {
              "type": "null"
            }
          ]
        },
        "model_version": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 128
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "id",
        "workspace_id",
        "conversation_id",
        "conversation_revision",
        "generation",
        "request_kind",
        "status",
        "failure_code",
        "created_at",
        "expires_at",
        "processor",
        "model_id",
        "model_version"
      ],
      "additionalProperties": false
    },
    "message": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid"
            },
            "run_id": {
              "type": "string",
              "format": "uuid"
            },
            "role": {
              "type": "string",
              "enum": [
                "user",
                "assistant"
              ]
            },
            "question": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 2000
                },
                {
                  "type": "null"
                }
              ]
            },
            "answer": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "answer": {
                      "type": "object",
                      "properties": {
                        "statement": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 2000
                        },
                        "basis": {
                          "type": "string",
                          "enum": [
                            "observed",
                            "inferred",
                            "generated"
                          ]
                        },
                        "evidence": {
                          "minItems": 1,
                          "maxItems": 20,
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "evidence_id": {
                                "type": "string",
                                "format": "uuid"
                              },
                              "revision": {
                                "type": "integer",
                                "exclusiveMinimum": 0,
                                "maximum": 9007199254740991
                              }
                            },
                            "required": [
                              "evidence_id",
                              "revision"
                            ],
                            "additionalProperties": false
                          }
                        },
                        "uncertainty": {
                          "type": "string",
                          "maxLength": 1000
                        }
                      },
                      "required": [
                        "statement",
                        "basis",
                        "evidence",
                        "uncertainty"
                      ],
                      "additionalProperties": false
                    },
                    "findings": {
                      "maxItems": 12,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "statement": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 2000
                          },
                          "basis": {
                            "type": "string",
                            "enum": [
                              "observed",
                              "inferred",
                              "generated"
                            ]
                          },
                          "evidence": {
                            "minItems": 1,
                            "maxItems": 20,
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "evidence_id": {
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "revision": {
                                  "type": "integer",
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991
                                }
                              },
                              "required": [
                                "evidence_id",
                                "revision"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "uncertainty": {
                            "type": "string",
                            "maxLength": 1000
                          }
                        },
                        "required": [
                          "statement",
                          "basis",
                          "evidence",
                          "uncertainty"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "sentiment": {
                      "maxItems": 20,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "evidence_id": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "revision": {
                            "type": "integer",
                            "exclusiveMinimum": 0,
                            "maximum": 9007199254740991
                          },
                          "label": {
                            "type": "string",
                            "enum": [
                              "positive",
                              "negative",
                              "neutral",
                              "mixed",
                              "unknown"
                            ]
                          },
                          "uncertainty": {
                            "type": "string",
                            "maxLength": 1000
                          }
                        },
                        "required": [
                          "evidence_id",
                          "revision",
                          "label",
                          "uncertainty"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "query_suggestions": {
                      "maxItems": 5,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "query": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 2000
                          },
                          "excluded_terms": {
                            "maxItems": 20,
                            "type": "array",
                            "items": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 100
                            }
                          },
                          "evidence": {
                            "minItems": 1,
                            "maxItems": 20,
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "evidence_id": {
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "revision": {
                                  "type": "integer",
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991
                                }
                              },
                              "required": [
                                "evidence_id",
                                "revision"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "rationale": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 1000
                          }
                        },
                        "required": [
                          "query",
                          "excluded_terms",
                          "evidence",
                          "rationale"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "limitations": {
                      "minItems": 1,
                      "maxItems": 10,
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 1000
                      }
                    },
                    "quantitative_claims": {
                      "type": "boolean",
                      "const": false
                    },
                    "method_version": {
                      "type": "string",
                      "const": "research-cited/v1"
                    }
                  },
                  "required": [
                    "answer",
                    "findings",
                    "sentiment",
                    "query_suggestions",
                    "limitations",
                    "quantitative_claims",
                    "method_version"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "created_at": {
              "type": "string",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
              "format": "date-time"
            },
            "expires_at": {
              "type": "string",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
              "format": "date-time"
            }
          },
          "required": [
            "id",
            "run_id",
            "role",
            "question",
            "answer",
            "created_at",
            "expires_at"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "conversation_revision": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "availability": {
      "type": "object",
      "properties": {
        "configured": {
          "type": "boolean"
        },
        "reason": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "not_configured",
                "budget_exhausted",
                "access_changed",
                "source_unavailable",
                "context_changed",
                "input_too_large",
                "provider_unavailable",
                "generation_unconfirmed",
                "invalid_output",
                "cancelled",
                "expired",
                "conversation_full"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "processor": {
          "type": "string",
          "const": "Google Gemini"
        },
        "retention_hours": {
          "type": "number",
          "const": 24
        }
      },
      "required": [
        "configured",
        "reason",
        "processor",
        "retention_hours"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "run",
    "message",
    "conversation_revision",
    "availability"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

## 工具调用示例

这些示例使用已依schema检查的虚构值。请将 ID 替换为你有权使用的 ID、将媒体替换为已就绪素材，并将日期替换为已确认的发布时间。提交写入前，请检查账号资格。本页不会发送 API 请求。

```json
{
  "name": "sosoapi_research_assistant_request",
  "arguments": {
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "mutation_id": "11111111-1111-4111-8111-111111111111",
    "conversation_id": "11111111-1111-4111-8111-111111111111",
    "expected_revision": 1,
    "parent_message_id": null,
    "question": "example",
    "request_kind": "question",
    "processing_intent": "google_gemini_selected_context"
  }
}
```

structuredContent

```json
{
  "run": {
    "id": "11111111-1111-4111-8111-111111111111",
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "conversation_id": "11111111-1111-4111-8111-111111111111",
    "conversation_revision": 1,
    "generation": 1,
    "request_kind": "question",
    "status": "queued",
    "failure_code": null,
    "created_at": "2099-01-15T09:00:00Z",
    "expires_at": "2099-01-15T09:00:00Z",
    "processor": "Google Gemini",
    "model_id": null,
    "model_version": null
  },
  "message": null,
  "conversation_revision": 1,
  "availability": {
    "configured": false,
    "reason": null,
    "processor": "Google Gemini",
    "retention_hours": 24
  }
}
```

## 底层 API 操作

- [/research-api/assistant/request](https://sosoapi.ai/zh-hans/docs/api/research-api-assistant-request)
