SKILL.md
readonly只读
name
extension-http-outcalls
description
由后端容器(而非前端)执行的 HTTP 出站调用。
version
0.1.6
HTTP 出站调用
用于 Caffeine AI 的 HTTP 出站调用扩展。
概述
此技能增加了从后端容器发起 HTTP GET 和 POST 请求的能力。适用于与外部 API 和服务集成。
后端
对于必须在后端执行的 HTTP 出站调用:
有一个预制模块 mo:caffeineai-http-outcalls/outcall.mo,该模块不可修改。它提供了在后端发起 HTTP GET 或 PUT 请求的基本功能。
module {
public type TransformationInput = {
context : Blob;
response : IC.HttpRequestResult;
};
public type TransformationOutput = IC.HttpRequestResult;
public type Transform = query TransformationInput -> async TransformationOutput;
public type Header = {
name: Text;
value: Text;
};
// IC 在 HTTP 出站调用中使用的转换回调辅助函数。
public func transform(input : TransformationInput) : TransformationOutput;
// HTTP GET 请求,带转换回调函数。
public func httpGetRequest(url : Text, extraHeaders: [Header], transform : Transform) : async Text;
// HTTP POST 请求,指定转换回调。
public func httpPostRequest(url : Text, extraHeaders: [Header], body : Text, transform : Transform) : async Text;
};
GET 用法示例:
import OutCall "mo:caffeineai-http-outcalls/outcall";
actor {
public query func transform(input: OutCall.TransformationInput) : async OutCall.TransformationOutput {
OutCall.transform(input);
};
func makeGetOutcall(url: Text) : async Text {
await OutCall.httpGetRequest(url, [], transform);
};
};
提示:Motoko 不直接支持 JSON 解析。建议将 JSON 传输到前端进行解析。
POST 用法类似。






