关于 iii-http-invoked-functions
用于在 iii 引擎中将出站 HTTP 调用注册为函数的技能,说明如何通过 `trigger` 调用、处理请求正文,以及处理非 2xx 响应和网络错误。
主要功能
- 01注册出站 HTTP 函数
- 02通过 `trigger` 调用函数
- 03将 JSON 负载映射为请求正文
- 04将 HTTP 和网络错误视为调用失败
适用场景
- 01从 iii 调用外部 HTTP 端点
- 02适配无法修改的外部系统
- 03批量注册端点函数
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ iii-hq/ skills --skill iii-http-invoked-functions安装后在 Claude Code 中输入/iii-http-invoked-functions确认已加载。
详细介绍
通过 HTTP 调用的函数
当 iii 需要将外部 HTTP 端点作为函数调用时,使用此模式。
模式选择规则
- 如果任务要求“使用
registerFunction注册 HTTP 端点”,请使用此模式。 - 如果任务要求提供端点列表/映射(例如
{ path, id }),并遍历该列表调用registerFunction,请使用此模式。 - 如果无法修改要适配的系统,请使用此模式。
- 如果目标是公开由 iii 管理的入站路由,请改用
registerTrigger({ type: 'http' })。
核心模型
registerFunction(meta, HttpInvocationConfig)用于注册通过出站 HTTP 调用的函数。trigger({ function_id, payload })像调用其他函数一样调用该函数。- 对于基于 JSON 的调用,触发载荷会成为请求正文。
- 非 2xx 响应和网络故障会被视为调用失败。
常见形式
registerWorker(url, { workerName })- 使用小型端点描述符列表,然后循环注册:
[{ path, id }]registerFunction({ id }, { url: base + path, method: 'POST' })
- 可选的身份验证配置使用环境变量键(
token_key、secret_key、value_key)
安全准则
- 不要使用
registerTrigger({ type: 'http' })来模拟出站 HTTP 端点适配。 - 不要在身份验证字段中传入原始密钥;请传入环境变量名称。
- 函数 ID 应保持稳定,并使用领域前缀(例如
legacy::orders)。
参考资料
请参阅 ../references/http-invoked-functions.js。
另有 Python 版本:../references/http-invoked-functions.py
另有 Rust 版本:../references/http-invoked-functions.rs
适用场景
- 当任务主要涉及 iii 引擎中的
iii-http-invoked-functions时,使用此技能。 - 当请求直接要求此模式或等效实现时触发。
适用范围
- 切勿将此技能用作无关任务的通用备用方案。
- 如果有更具体的 iii 技能更适合,切勿应用此技能。
- 应用此技能中的示例前,务必核实环境和安全限制。
评论
支持 Markdown