fix(agent): accept image content in view_image

This commit is contained in:
jxxghp
2026-09-11 23:33:04 +08:00
parent 80b510a6a5
commit 9cc2ab08ad
5 changed files with 76 additions and 19 deletions

View File

@@ -54,7 +54,7 @@ WebAgent 在 Agent 正在运行时仍可提交文本和附件。宿主为每个
## 工具图片与模型视觉
`browse_webpage(action="screenshot")` 和 `view_image(url=...|file_path=...)` 在 Agent 中返回真实图像块和有限来源说明。图像在通用文本截断之前处理,最终请求按完整工具回复批次附加带工具来源的临时图像观察,兼容 Chat、Responses、Anthropic 与 Gemini 的图片输入;原始用户消息、工具调用 ID 和授权不变。`view_image` 的远程 URL 只允许通过公网安全校验的 HTTP(S) 地址,本地路径继续遵守 Agent 文件访问边界。
`browse_webpage(action="screenshot")` 和 `view_image(url=...|file_path=...|image_data=...)` 在 Agent 中返回真实图像块和有限来源说明。图像在通用文本截断之前处理,最终请求按完整工具回复批次附加带工具来源的临时图像观察,兼容 Chat、Responses、Anthropic 与 Gemini 的图片输入;原始用户消息、工具调用 ID 和授权不变。`view_image` 的远程 URL 只允许通过公网安全校验的 HTTP(S) 地址,本地路径继续遵守 Agent 文件访问边界,`image_data` 支持纯 Base64、data URL 和原始字节。
每次模型请求都检查实际模型资料和 `LLM_SUPPORT_IMAGE_INPUT` 开关。已知纯文本模型会得到明确的“未接收工具图片”说明。服务明确拒绝图片时,只对该次模型调用做一次文字回退,随后本轮沿用文字观察,不重复执行图片工具或其他工具;认证、限流等错误保持原来的错误语义。临时观察不会写入会话历史。

View File

@@ -552,7 +552,7 @@ MCP、HTTP 工具管理接口、本地 CLI 和内置 Agent 都从同一严格目
内置 Agent 在专用格式化路径把成功截图转换为图像输入,外部 HTTP/MCP 客户端仍按
原 JSON 合同消费;本次不宣称外部 MCP 已提供原生 image content block。
`view_image` 只供内置 Agent 使用:它会在 Agent 专用格式化路径把 URL 或本地图片转换为
`view_image` 只供内置 Agent 使用:它会在 Agent 专用格式化路径把 URL、本地图片或图片内容转换为
原生图像输入,HTTP/MCP 直调不提供该工具,避免把只能由视觉中间件消费的图像块误当作普通 JSON。
内置命令工具 `execute_command(action="run")` 的返回值为 JSON 字符串,包含