Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计提醒

yqcloud-function-callingyqcloud 函数调用

Agent Skill

yqcloud-function-calling 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

282

周安装

12

GitHub Stars

公开资料未说明

下载量

99
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:yqcloud-function-calling(yqcloud 函数调用)
来源仓库:https://github.com/binjie09/zknow-skills
仓库路径:skills/yqcloud-function-calling
安装命令:
npx skills add https://github.com/binjie09/zknow-skills --skill yqcloud-function-calling
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/binjie09/zknow-skills --skill yqcloud-function-calling

简介

用于在云平台上调用函数式服务接口。适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

  • 支持根据输入参数动态触发后端计算任务。
  • 适合事件驱动架构或无服务器应用场景。
  • 需确保 IAM 权限正确配置以避免未授权访问。
  • yqcloud-function-calling 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

YQCloud 自定义 Function Calling 格式

yqcloud-ai-node 运行时接收符合此格式的函数定义,AI 决定调用某函数后,运行时自动发起 HTTP 请求(或交由前端处理),并将结果返回给 AI 继续对话。


1. JSON 结构

每个函数定义是一个 JSON 对象,包含外层(给 AI 看的标准 function calling 描述)和内层 function 字段(给运行时看的执行配置)。

{
  // ===== 外层:AI 可见 =====
  "name": "函数名",
  "description": "函数用途描述,AI 据此判断何时调用",
  "parameters": {
    "type": "object",
    "properties": { /* AI 需要填的参数 */ },
    "required": ["必填参数名"]
  },

  // ===== 内层:运行时执行配置 =====
  "function": {
    "type": "call_url",          // "call_url" = 发 HTTP 请求 | "manual" = 前端自行处理
    "method": "GET",             // HTTP 方法
    "url": "请求地址",            // 支持变量占位符和路径参数
    "headers": {},               // 请求头
    "queryParams": "a,b",        // 可选,逗号分隔。指定哪些参数放 query string,其余放 body
    "defaultPostData": {},       // 可选,POST 请求的默认 body 数据
    "requestParser": "JS代码",   // 可选,预处理 AI 传来的参数
    "responseParser": "JS代码",  // 可选,后处理 HTTP 响应
    "stopAfterFunctionCall": false,  // true = 调用后停止 AI 继续生成
    "stopAfterFunctionCallCondition": "JS代码",  // 可选,动态判断是否停止
    "typingMessage": "正在查询...",  // 可选,调用中显示给用户的提示
    "resultTips": "查询完成",        // 可选,结果返回时的提示
    "toolChoice": {},               // 可选,强制 AI 选择某工具
    "extraParamsBuilder": "JS代码"  // 可选,从结果中提取额外参数
  },

  // ===== 国际化(可选)=====
  "intl": {
    "zh_CN": { "description": "中文描述" },
    "en_US": { "description": "English description" }
  }
}

2. 变量占位符

urlheaders 中可使用以下占位符,运行时自动替换:

占位符含义
${STATIC#yqcloud_url}YQCloud API 基础地址(如 https://api.yqcloud.com
${tenantId}当前租户 ID
${yqAccessToken}当前用户 access_token

3. URL 路径参数

URL 中的 {paramName} 占位符会被 AI 传入的同名参数值替换。替换后该参数自动从 query/body 中移除,不会重复传参。

示例:URL 为 /api/v1/know/{knowId},AI 传参 {"knowId": "abc123"},实际请求 /api/v1/know/abc123

4. 参数传递规则

HTTP 方法默认行为queryParams
GET所有参数 → query stringqueryParams 指定的 → query string
POST所有参数 → request bodyqueryParams 指定的 → query string,其余 → body

5. JS 代码字段

字段入参用途
requestParserdata(JSON 字符串)、_(lodash)预处理 AI 参数后返回新对象
responseParserdata(响应体对象)、_(lodash)后处理响应后返回给 AI
stopAfterFunctionCallConditiondata(响应对象)、_(lodash)返回 true 则停止 AI 继续
extraParamsBuilderdata(响应对象)、_(lodash)提取额外参数传给前端

requestParser 示例

requestParserdata 是 AI 传参的 JSON 字符串,必须先 JSON.parse(data) 才能使用。返回值作为实际请求参数。

示例 1:重命名参数

// AI 传 { "keyword": "服务器故障" },转换为 API 需要的 { "searchText": "服务器故障" }
"requestParser": "const params = JSON.parse(data); return { searchText: params.keyword };"

示例 2:添加固定参数

// AI 传 { "name": "张三" },追加固定的分页和排序参数
"requestParser": "const params = JSON.parse(data); return { ...params, page: 0, size: 20, sort: 'createdDate,desc' };"

示例 3:用 lodash 处理参数

// 只保留指定字段,过滤掉 AI 可能多传的参数
"requestParser": "const params = JSON.parse(data); return _.pick(params, ['id', 'name', 'type']);"

responseParser 示例

responseParserdata 是 HTTP 响应体对象(已自动解析),无需 JSON.parse。返回值作为函数调用结果返回给 AI。

示例 1:精简返回数据(减少 token 消耗)

// 从分页响应中提取列表,只保留关键字段
"responseParser": "const list = (data?.content || []).filter(i => i.type === 'SERVICE').map(i => _.pick(i, ['id','name','description'])); return { list };"

示例 2:条件返回

"responseParser": "return data?.serviceItemList ? data : {result: 'no data'}"

示例 3:格式化错误信息

"responseParser": "if (data?.failed) { return { error: data.message }; } return { success: true, result: data.body };"

6. 特殊 URL

  • /transparent:不发 HTTP 请求,直接把 AI 传的参数作为"响应"返回。用于需要前端处理的交互场景。

7. 现有函数定义

7.1 ITSM 工单场景

getAllServiceItem — 获取全部服务项

{
  "name": "getAllServiceItem",
  "description": "获取全部服务项列表,用于匹配用户的工单需求",
  "parameters": { "type": "object", "properties": {} },
  "function": {
    "type": "call_url",
    "method": "GET",
    "url": "${STATIC#yqcloud_url}/itsm/v1/${tenantId}/service_items/catalog/page/all?serviceCatalogFlag=true&page=0&size=9999",
    "headers": { "Authorization": "bearer ${yqAccessToken}" },
    "stopAfterFunctionCall": false,
    "responseParser": "const list = (data?.content || []).filter(i => i.type === 'SERVICE' || i.type === 'RECORD').map(i => _.pick(i, ['id','name','shortDescription','description'])); return { allServiceItemList: list };"
  }
}

getCreateTicketParamJsonSchema — 获取工单表单 Schema

{
  "name": "getCreateTicketParamJsonSchema",
  "description": "根据服务项 ID 获取创建工单所需的表单字段 Schema",
  "parameters": {
    "type": "object",
    "properties": { "id": { "type": "string", "description": "服务项 ID" } },
    "required": ["id"]
  },
  "function": {
    "type": "call_url",
    "method": "GET",
    "url": "${STATIC#yqcloud_url}/ai/v1/${tenantId}/itsmScene/getServiceItemSchema",
    "headers": { "Authorization": "bearer ${yqAccessToken}" },
    "stopAfterFunctionCall": false
  }
}

requestUserSelectServiceItem — 请求用户选择服务项

{
  "name": "requestUserSelectServiceItem",
  "description": "当无法确定服务项时,展示候选列表让用户选择(最多传 1 个最可能匹配的)",
  "parameters": {
    "type": "object",
    "properties": { "serviceItemList": { "type": "array", "description": "候选服务项列表,最多 1 个" } },
    "required": ["serviceItemList"]
  },
  "function": {
    "type": "call_url",
    "method": "POST",
    "url": "/transparent",
    "stopAfterFunctionCall": true,
    "responseParser": "return data?.serviceItemList ? data : {result: 'no data'}"
  }
}

createTicket — 创建工单

{
  "name": "createTicket",
  "description": "收集完所有必填字段后创建工单",
  "parameters": { "type": "object", "properties": {}, "additionalProperties": true },
  "function": {
    "type": "manual",
    "stopAfterFunctionCall": true
  }
}

ITSM 调用流程:

用户提出工单需求
  → getAllServiceItem(获取服务项列表)
  → AI 匹配分析
    ├─ 能确定 → getCreateTicketParamJsonSchema → 逐个收集字段 → createTicket
    └─ 无法确定 → requestUserSelectServiceItem → 用户选择 → 重新进入流程

7.2 知识库场景

fetchKnowledgeElement — 查询知识内容详情

使用 URL 路径参数 {knowId},AI 传入 knowId 后自动替换到 URL 路径中。

{
  "name": "fetchKnowledgeElement",
  "description": "根据知识内容 ID 查询知识库中的具体内容详情",
  "parameters": {
    "type": "object",
    "properties": {
      "knowId": { "type": "string", "description": "知识内容 ID" }
    },
    "required": ["knowId"]
  },
  "function": {
    "type": "call_url",
    "method": "GET",
    "url": "${STATIC#yqcloud_url}/knowledge/v1/${tenantId}/know/fetch/element/{knowId}",
    "headers": {
      "Accept": "application/json",
      "Authorization": "bearer ${yqAccessToken}",
      "x-tenant-id": "${tenantId}"
    },
    "stopAfterFunctionCall": false
  },
  "intl": {
    "zh_CN": { "description": "根据知识内容 ID 查询知识库中的具体内容详情" },
    "en_US": { "description": "Fetch knowledge element details by knowId." }
  }
}

8. 编写新函数的检查清单

  1. name 唯一,使用 camelCase
  2. description 清晰说明用途,AI 靠它决定何时调用
  3. parameters 中列出 AI 需要收集的所有参数及 required
  4. URL 路径中需要动态值的部分用 {paramName},运行时自动替换
  5. 需要放 query string 的 POST 参数用 queryParams 声明
  6. 需要后处理响应的写 responseParser,精简返回数据减少 token 消耗
  7. 交互型函数(需要前端介入)设 stopAfterFunctionCall: true
  8. 纯数据查询函数设 stopAfterFunctionCall: false,让 AI 继续分析

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

33.22%
按下载量换算33

Claude

31.2%
按下载量换算31

Cursor

17.47%
按下载量换算17

Gemini CLI

8.92%
按下载量换算9

安全审计

Gen Agent Trust Hub

可疑

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills