Token导航 LogoToken导航

Agent Skill · 研究检索

yqcloud-function-calling(yqcloud 函数调用)

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

yqcloud-function-calling 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为需要联网;许可证信息还不明确,第三方扫描有提醒项,按安装量在研究检索类的 73,675 个 Skill 里排第 65,351。

总安装 282周安装 12GitHub Stars 公开资料未说明下载 99核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 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

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

用于在云平台上调用函数式服务接口。适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。支持根据输入参数动态触发后端计算任务。适合事件驱动架构或无服务器应用场景。需确保 IAM 权限正确配置以避免未授权访问。

yqcloud-function-calling 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

来源仓库内路径:skills/yqcloud-function-calling

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/binjie09/zknow-skills --skill yqcloud-function…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

yqcloud-function-calling 怎么安装?

在终端执行 npx skills add https://github.com/binjie09/zknow-skills --skill yqcloud-function-calling。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

yqcloud-function-calling 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

yqcloud-function-calling 需要什么权限?

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

yqcloud-function-calling 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

yqcloud-function-calling 用的人多吗?

公开数据是累计安装 282 次,近一周安装 12 次,下载 99 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

yqcloud-function-calling 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
yqcloud-function-calling

yqcloud 函数调用 · 本页

282—需要联网未明确有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

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. 变量占位符

在 url 和 headers 中可使用以下占位符,运行时自动替换:

占位符含义
${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 示例

requestParser 的 data 是 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 示例

responseParser 的 data 是 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 继续分析

平台分布

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 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills