HarnessAgent 现已在所有适配器中支持图像输入

HarnessAgent 现已在所有适配器中支持图像输入

💡 原文英文,约200词,阅读约需1分钟。
📝

内容提要

AI SDK 的 HarnessAgent 层现已在所有适配器(如 Claude Code、Codex、Cursor 等)中支持图像输入。用户可在标准消息格式的内容数组中混合传入文本与图像文件,由底层视觉模型处理。文中还提供了使用 Codex 适配器描述图片的代码示例。

🔎

延伸解读

统一消息格式降低多适配器切换成本

文章强调图像输入通过标准 AI SDK 消息格式传入,即在 content 数组中混合 { type: 'text' } 与 { type: 'file' } 片段。这意味着开发者无需为不同适配器学习各自的图像传参方式,同一套消息结构可在 Claude Code、Codex、Cursor 等所有列出的适配器中复用,减少了切换底层 harness 时的代码改动。

图像理解能力取决于底层视觉模型

HarnessAgent 层本身只负责接收并传递图像,实际解析由各 harness 背后的视觉模型完成。因此同一张图片在不同适配器下的描述结果、细节保留程度可能不一致。文章未承诺各适配器输出一致,开发者在跨适配器比较或迁移时,应把视觉模型差异视为需要实际验证的变量。

代码示例展示文件读取与沙箱会话配合

示例使用 readFileSync 读取本地 PNG,并以 mediaType 与 data 字段放入 file 片段,同时通过 createVercelNetworkSandboxSession 创建沙箱会话后再调用 generate。这说明图像输入并非孤立功能,而是嵌入现有的会话与沙箱流程中;接入时需同时处理好文件读取、媒体类型标注和会话创建这几个环节。

❓

Q&A

HarnessAgent 现在支持图像输入了吗?

是的,AI SDK 的 HarnessAgent 层现已在所有适配器中支持图像输入。

HarnessAgent 支持哪些适配器接收图像输入?

支持所有可用的适配器,包括 Claude Code、Cline、Codex、Cursor、Deep Agents、fx、GitHub Copilot、Grok Build、OpenCode 和 Pi。

如何在 HarnessAgent 的消息中同时传入文本和图像?

在标准 AI SDK 消息格式中,使用内容数组混合 { type: 'text' } 和 { type: 'file' } 部分即可。例如:content: [{ type: 'text', text: '描述图片' }, { type: 'file', mediaType: 'image/png', data: readFileSync('image.png') }]。

图像输入是由谁处理的?

图像输入由各适配器底层的视觉模型处理。

能否提供一个使用 Codex 适配器描述图片的代码示例?

可以。示例代码:import { HarnessAgent } from '@ai-sdk/harness/agent'; import { codex } from '@ai-sdk/harness-codex'; import { createVercelNetworkSandboxSession } from '@ai-sdk/sandbox-vercel'; import { readFileSync } from 'node:fs'; const agent = new HarnessAgent({ harness: codex }); const sandboxSession = await createVercelNetworkSandboxSession({ runtime: 'node24', ports: [4000], template: await agent.getSandboxTemplate() }); const session = await agent.createSession({ sandboxSession }); const result = await agent.generate({ session, messages: [{ role: 'user', content: [{ type: 'text', text: 'Describe the image in one sentence.' }, { type: 'file', mediaType: 'image/png', data: readFileSync('image.png') }] }] });

在哪里可以找到 HarnessAgent 图像输入的详细文档?

可以阅读 HarnessAgent 图像输入文档(文中链接)以获取更多信息。

🏷️

标签

➡️

继续阅读