跳转到内容

上传图片回复

收到用户消息后回复一张图(本地文件、URL 下载、或 LLM 生成的 base64)。

前提

  • 发送文本
  • 一张本地图(~/avatar.png)或一段图片 URL

代码

import { HasheeAgent } from "@hasheeai/agent-sdk-ts";
import { readFile } from "node:fs/promises";
const agent = await HasheeAgent.init({
agentId: process.env.HASHEE_AGENT_ID!,
token: process.env.HASHEE_AGENT_TOKEN!,
baseUrl: "https://api.hashee.ai",
connectionMode: "websocket",
});
agent.addMessageHandler(async (msg) => {
if (msg.payload?.type !== "text") return;
// 方式 A:本地文件
const bytes = await readFile(`${process.env.HOME}/avatar.png`);
// 方式 B:URL 下载
// const res = await fetch("https://example.com/cat.jpg");
// const bytes = new Uint8Array(await res.arrayBuffer());
await agent.uploadFile(msg.conversation_id, {
filename: "avatar.png",
mime: "image/png",
data: bytes,
send_as: "image",
alt: "示例图片",
caption: `你说了"${msg.payload.text}",这是图片回复`,
});
});
console.log("[image-bot] up");

限制

  • 单文件 ≤ 100 MB
  • 加密在本地完成;R2 只存密文 + 验签 SHA-256

进阶