mcpField
I
iii-http-invoked-functions

iii-http-invoked-functions

github.com/iii-hq开发219 次安装
代码仓库

关于 iii-http-invoked-functions

用于在 iii 引擎中将出站 HTTP 调用注册为函数的技能,说明如何通过 `trigger` 调用、处理请求正文,以及处理非 2xx 响应和网络错误。

主要功能

  1. 01注册出站 HTTP 函数
  2. 02通过 `trigger` 调用函数
  3. 03将 JSON 负载映射为请求正文
  4. 04将 HTTP 和网络错误视为调用失败

适用场景

  1. 01从 iii 调用外部 HTTP 端点
  2. 02适配无法修改的外部系统
  3. 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