1. 导言

《‍♂️Coze国内版插件汇总-By油猴》中咱们提到了这几点:

  • 插件作业流节点实质API接口调用的封装
  • 插件东西插件子集,插件指定【BaseURL + 默认恳求头】,插件东西指定【调用接口、输入/输出参数】,调用同一插件下的不同插件东西,实质上便是调用 同一域名下的不同接口
  • Coze国内版 供给了如下 68个 官方插件东西:
插件东西名 所属插件 作用
bingWebSearch 必应查找 必应查找引擎。当你需求查找你不知道的信息,比方气候、汇率、时势等,这个东西十分有用。但是绝对不要在用户想要翻译的时分运用它。
text2image ByteArtist 经过文字描绘生成图片
new_year_pets_image ByteArtist 供给新春萌宠图片生成,当用户上传宠物图片或许供给图片链接时,能够用此东西生成新的新春萌宠图片
ImageToolPro ByteArtist 依据用户的描绘生成多种风格的图片
LinkReaderPlugin Link Reader 当你需求获取网页、pdf、抖音视频内容时,运用此东西。能够获取url链接下的标题和内容。
imgUnderstand 图片了解 答复用户关于图画的问题
browse 头条查找 从url链接获取正文信息
search 头条查找 查找用户问询的内容
CodeRunner 代码执行器 这个插件将被调用来运行python代码并在60秒内获取成果,特别处理数学、核算机、图片和文件等。首先,LLM将剖析问题,并用python输出处理这个问题的过程。其次,LLM立即生成代码,依照过程处理问题。LLM会参阅过错音讯调整代码,直到成功。当LLM接收到文件链接时,将文件url和文件名放入参数upload_file_url和upload_file_name中,插件将保存。
getToutiaoNews 头条新闻 查找新闻讯息
web_pilot WebPilot WebPilot 进行互联网查找、剖析以及数据生成。
bingImageSearch 必应图片查找 必应图画查找API允许您的用户在全球范围内找到图片。
query Wolfram Alpha 算式核算,如1+1=2。假如输入的不是数学表达式,需求将输入转换成数学表达式并增加”()”以确保运算的顺序。假如核算失利,尝试再次调用此东西。
DayWeather 墨迹气候 获取指定日期的气候
EmojiMessage Emojesus 这用于处理用户输入的信息,它将用户输入的信息转换为表情符号,同时在当时音讯状况下生成表情符号,并引荐可能需求的表情符号。
EmojiKitchen Emojesus 将用户发送的两个emoji组合成一个emoji。
EmojiTranslation Emojesus 将用户输入的信息翻译成表情符号。
EmojiSearch Emojesus 依据用户当时的音讯查找对应的表情符号。
search arXiv 协助用户在arXiv中查找论文。
company_info 国内股票 显现公司基本信息。 接口阐明:依据“股票列表”中获取的股票代码,检索上市公司的公司概况。 包含公司基本信息、概念、发行信息等。
company_recent_benefits 国内股票 公司最近的赢利状况。 界面阐明:依据“股票榜”中获取的股票代码,获取上市公司曩昔一年各季度的赢利状况。 按截止日期倒序摆放。
profitability_of_company 国内股票 显现给定公司的季节性盈利才能。 接口阐明:该接口汇总个股盈利状况,支撑“Year_Quarter”查询。 年份能够挑选1989年至本年,季度能够挑选1:第一季度、2:中期陈述、3:第三季度、4:年报。 例如,“2021_1”表明2021年第一季度的数据。
season_operate_of_company 国内股票 接口阐明:个股操作才能汇总,支撑按“年_季度”查询。 年份能够挑选1989年至本年,季度能够挑选1:第一季度、2:中期陈述、3:第三季度、4:年报。 例如,“2021_1”表明2021年第一季度的数据。
season_growth_of_company 国内股票 公司的季节增加。 接口阐明:该接口汇总了个股的生长才能,支撑“Year_Quarter”格局的查询。 年份能够挑选1989年至本年,季度能够挑选1:第一季度、2:中期陈述、3:第三季度、4:年报。 例如“2021_1”表明查询2021年第一季度的数据。
season_debt_repay_of_company 国内股票 接口阐明:个股偿债才能汇总,支撑“年_季度”查询。 年份能够挑选1989年至本年,季度能够挑选(1:第一季度陈述,2:中期陈述,3:第三季度陈述,4:年报)。 例如“2021_1”表明查询2021年第一季度的数据。
GenPdf Doc Maker 从您供给的文本生成PDF。
getRoute 飞常准 获取航班列表
get_notion_document_info Notion 获取Notion文件信息
search 我国诗查找 依据给定条件查找我国诗
createDocument 飞书云文档 这是一个能够依据用户输入或许要记录的 Markdown 字符串和总结的标题来创立云文档的东西。
SecondHandCar 懂车帝 当你查询二手车的售卖信息时分能够运用此东西,能够取得二手车的价格、二手车车况图片等信息
CarSeries 懂车帝 当你需求查询新车信息或许查询某个特定车系(如宝马3系,奔驰e级)信息的时分能够运用此东西,能够取得新车价格,车辆结构,车辆生产年份,售卖链接等信息
get_express_info 快递查询帮手 获取快递信息。
SearchHotels 猫途鹰 依据城市称号、入住日期和退房日期查找酒店。
SearchFlights 猫途鹰 依据出发地、目的地、日期、行程类型、排序顺序、成人数量、老年人数量和服务等级查找航班。
charactor_fate 起名 依据命运给出一个合适的姓名。
search_population_density 世界银行 人口密度(每平方公里土地面积的人口数量)。人口密度是年中人口除以平方公里的土地面积。
search_foreign_direct_invest 世界银行 外国直接投资,净流入(国际收支平衡表,当时美元)。外国直接投资是指陈述经济体中的直接投资股权流入。它是股本、赢利再投资及其他资本的总和。回来的数据单位是1美元。
search_total_population 世界银行 总人口是依据人口的事实界说,核算一切居民,无论法令身份或公民身份如何。显现的值是年中估计值。回来的数据单位是1个个体。
search_income_share_highest_10 世界银行 最高10%的人持有的收入份额。收入或消费的百分比份额是按十分位数或五分位数区分的人口子组所取得的份额。
search_current_account_balance 世界银行 常常账户余额(国际收支平衡表,当时美元)。常常账户余额是货品和服务净出口、初级收入净额和二次收入净额的总和。数据以当时美元计价。回来的数据单位是1美元。
search_gdp_info 世界银行 购买者价格的GDP是经济中一切常住生产者的总价值增加之和,再加上任何产品税收,减去未包含在产品价值中的任何补助。数据以当时的美元表明。回来的数据单位为1美元。
search_center_gov_debt_gdp 世界银行 中央政府债务总额(占GDP的百分比)。债务是指在特定日期上政府对别人的一切固定期限合约义务的全部储备。它包含国内外的债务,如货币和货币存款、非股份证券和借款。
search_consumer_price_index 世界银行 顾客价格指数(2010年=100)。顾客价格指数反映的是平均顾客获取一篮子可能固定或在指定间隔(如每年)改动的商品和服务的本钱变化。通常运用Laspeyres公式核算。数据为期间平均值。
search_a_country_basic_info 世界银行 查找国家id,国际代码,首都城市,经度,纬度。特别提示,您能够一次性经过这个东西获取一切国家的国家id。国家id是这个插件的一切其他东西需求运用的参数。
search_unemployment 世界银行 总赋闲人数(占劳动力总数的百分比)(国家估计)。赋闲是指劳动力中没有作业但现有并寻求作业的人口的份额。各国对劳动力和赋闲的界说不同。
search_gdp_per_capita 世界银行 人均GDP是国内生产总值除以年中人口数。GDP是经济中一切常住生产者的总价值增加之和,再加上任何产品税收,减去未包含在产品价值中的任何补助。数据以当时的美元表明。回来的数据单位为1美元。
food 食物大师 食物热量查询。输入食物称号,输出其热量。
calories 食物大师 查找适合输入热量的食物。
create_hanzi_gif 写汉字 为用户创立展示汉字笔顺的gif动画。输入参数有必要是中文。
BankInterestRate 国内银行利率 银行利率查询,可查询指定银行的借款利率、存款利率、公积金利率
job_recommendation 猎聘 协助用户查找作业招聘,依据用户的作业经验、教育阅历、地理位置、薪水、职位称号、作业性质等
ocr Simple OCR 图画URL的光学字符识别
lyrics_to_song AI乐队 依据歌词生成歌曲
searchLocation 地图精灵 周边查找:用户能够轻松查找邻近的餐厅、娱乐场所以及各种其他餐饮和休闲点,让他们快速找到周围的服务和娱乐挑选。
searchDirection 地图精灵 路线引荐:供给高效的路线规划和建议,协助用户快速找到最佳出行路线,节省时间和精力。
ForexTrendPlugin 外汇走势 外汇走势
ExpressDeliveryPlugin 国内快递查询 快递状况查询
SecondHandHouse 美好里 假如想要购买二手房或许查询二手房信息的时分能够运用此东西,输入二手房的城市、户型、小区称号等,能够获取二手房所在的区域,房子图片,二手房总价,每平米价格等信息
NewHouse 美好里 假如你想买新房,能够先用这个东西获取新房的信息,输入想要的户型、区域、城市、小区称号等,能够获取新房的详细信息,包含房子图片,价格,每平米价格等
HouseRenting 美好里 经过此东西获取租房的信息,包含房子所在的区域,小区称号,房子图片,租房的价格
roll_the_dice 骰子大师 掷骰子
get_dice_images 骰子大师 依据输入的整数获取对应值的骰子图画。
count_dice 骰子大师 找到具有某一设定值的骰子数量。(包含能够被视为任何数字的1。)
AddRankConfig 游戏积分排行榜 增加排名装备。
WriteRank 游戏积分排行榜 编写排名。
GetRankInfo 游戏积分排行榜 获取排名信息。
GameEnd 游戏积分排行榜 游戏结束。

前些天又敞开了 上架插件 的功用,能够看到 主页商铺-插件 多了新插件:

‍♀️Coze官方插件不够用?手把手教你自己造(白嫖)

自界说插件 的过程十分简略:

  • 选中一个作业区(个人空间或团队),点击顶部的 插件 标签切换到插件页,点击右上角的 创立插件
  • 在弹出的 编辑插件装备 窗口中依次装备:插件图标插件称号插件描绘插件URL (接口的BaseURL)、Header 列表(恳求头列表)、授权办法 (不需求授权、Service[Token或API Key]、Oauth)。

插件创立完,就到 创立东西 了:

  • 填写基本信息东西称号东西描绘东西路径(API接口)、恳求办法(GET、POST等);
  • 装备输入参数:点击 新增参数,完结相关装备:参数称号参数描绘参数类型传入办法是否必填
  • 装备输出参数: 点击 新增参数,完结相关装备:参数称号参数描绘参数类型是否必填。也能够点击右上角的 主动解析 来主动生成输出参数,注:只支撑JSON类型的回来数据!!!
  • 调试与校验:输入参数,点击运行,检查插件东西的呼应成果,假如 调试经过,点击 完结 即可。

详细创立的 操作流程图解 能够看我之前写的《用Coze纽扣轻松搭个Bot,从此告别”标题党”》,十分简略,等下也会讲到。我感觉 自界说插件的难点,反而是去哪找 称心如意的API接口?惯例思路无非这几个:

  • 查找免费/开源接口 → 如:玩Android敞开APISocialSisterYi/bilibili-API-collect 等,这个得自己搜,Github上挺多。
  • 付费接口 → 如:聚合数据,一般依照调用次数收费,也会供给一定的 免费调用次数 (如50次/天)。
  • 接口破解 → 经过 抓包逆向破解APP 等办法获取私密API,但谨记偷着乐,这很可
  • 买云服务器自己供给接口 → 本钱较高,首先你得买个云服务器,然后有技术门槛,你起码能能把站点支棱起来,感觉能经过纽扣插件 获利了,再搞也不迟,当然,你要为爱发电也是能够的。

真的就只有上面几种 获取API接口 的办法么?嘿嘿,杰哥再给你支个 奇招Mock API,简略点说便是:界说接口API,每次恳求回来写死的数据

不明白没关系,看我怎样 操作 就行了,以 Apifox 为例实现一波~

2. 启用云端Mock

注册账号登录后,点击我的团队,在 My Workspace 里新建一个项目:

‍♀️Coze官方插件不够用?手把手教你自己造(白嫖)

接着右上角点击 请挑选环境,此刻只有前面三个环境能够用,但它们都是需求有 自己服务器 的:

‍♀️Coze官方插件不够用?手把手教你自己造(白嫖)

点击 办理环境,定位到 云端Mock,提示 未敞开云端Mock功用

‍♀️Coze官方插件不够用?手把手教你自己造(白嫖)

点击 去敞开,跳转页面后,定位到 云端Mock 右侧的开关,启用

‍♀️Coze官方插件不够用?手把手教你自己造(白嫖)

然后就能够 拜访到咱们界说的API接口 了,点击仿制URL,加上 pet/1,回车建议恳求,能够看到回来的数据:

‍♀️Coze官方插件不够用?手把手教你自己造(白嫖)

行吧,接着以聚合数据的新闻头条接口为例,来新建一个接口。

3. 增加Mock希望

简略设置下接口地址,加一个分页的恳求参数。

‍♀️Coze官方插件不够用?手把手教你自己造(白嫖)

回来呼应那里,点击 经过JSON等生成

‍♀️Coze官方插件不够用?手把手教你自己造(白嫖)

粘贴聚合数据接口回来的json,会主动解析生成对应字段,然后点击 确认

‍♀️Coze官方插件不够用?手把手教你自己造(白嫖)

然后呼应那里就能够看到生成的字段啦:

‍♀️Coze官方插件不够用?手把手教你自己造(白嫖)

保存下接口,直接浏览器拜访下:mock.apifox.com/m1/xxx-0-de…

‍♀️Coze官方插件不够用?手把手教你自己造(白嫖)

能够,数据正常回来,问题来了,这个数据是写死的,假如想 依据不同的条件回来不同的数据呢?比方page=2,回来第二页的数据,page = 3,回来第三页的数据这样?:Apifox供给了 Mock希望。点击 高级Mock

‍♀️Coze官方插件不够用?手把手教你自己造(白嫖)

点击 新建希望,设置下 参数条件,比方,设置url里的page为1和2,别离回来不同的数据:

‍♀️Coze官方插件不够用?手把手教你自己造(白嫖)
‍♀️Coze官方插件不够用?手把手教你自己造(白嫖)

此刻拜访:mock.apifox.com/m1/xxx-0-de…

‍♀️Coze官方插件不够用?手把手教你自己造(白嫖)

便是第二页的数据啦♪(^∇^*)

4. Coze自界说插件

接着回到 纽扣,新建插件,插件url装备成咱们的云端Mock的url:

‍♀️Coze官方插件不够用?手把手教你自己造(白嫖)

接着点击 创立东西,填下API地址:

‍♀️Coze官方插件不够用?手把手教你自己造(白嫖)

装备下page参数,传入办法要用 Query

‍♀️Coze官方插件不够用?手把手教你自己造(白嫖)

点下 主动解析,会主动完结输出参数的装备,点击保存并持续:

‍♀️Coze官方插件不够用?手把手教你自己造(白嫖)

接着能够别离 输入1、2 测试是否为希望的回来成果,假如输入其它值则是依据字段主动生成的数据:

‍♀️Coze官方插件不够用?手把手教你自己造(白嫖)

点击 完结,然后 发布上架插件 简略填下插件信息:

‍♀️Coze官方插件不够用?手把手教你自己造(白嫖)

上架成功后,就能够在主页看到咱们的自界说插件啦:

‍♀️Coze官方插件不够用?手把手教你自己造(白嫖)

新建一个 作业流,测试下咱们的自界说插件:

‍♀️Coze官方插件不够用?手把手教你自己造(白嫖)

Nice,接着如法炮制增加更多API来完善插件里的插件东西吧!

5. 主动更新Mock的回来数据

Mock API 回来的呼应数据都是固定,假如想更新,需求自己 手动 仿制新的Json数据去覆盖。关于 新闻 这类 时效性 要求比较高的信息,更新频率会有点高,比方:每30分钟需求更新一次,让人手动去更

‍♀️Coze官方插件不够用?手把手教你自己造(白嫖)

妥妥得想办法弄下 主动更新,思路:

写个Python脚本守时恳求聚合数据的接口,然后调用下apifox的接口更新下回来数据。

守时使命还好,网上资料全得很:schedule库APScheduler库,或许直接用 操作系统的使命方案器 都行,这其间最重要的一环是 Apifox有没有供给API? 把文档都翻遍了, 总算让我找到了 修正接口的API

‍♀️Coze官方插件不够用?手把手教你自己造(白嫖)

点击 账户设置API拜访令牌新建令牌,输入称号,设置下有效期,点击生成,生成的令牌要保存好,后面是看不到的了,只能 重置

‍♀️Coze官方插件不够用?手把手教你自己造(白嫖)

看了下 接口概况的呼应参数修正接口的恳求参数 字段基本是一样的,先写代码获取下咱们上面创立的新闻头条接口的概况:

import requests as r
headers = {
    'X-Apifox-Version': '2024-01-20',
    'Authorization': 'Bearer APS-xxx',
    'User-Agent': 'Apifox/1.0.0 (https://apifox.com)'
}
def get_api_info(project_id, api_id):
    resp = r.get("https://api.apifox.com/api/v1/projects/{}/http-apis/{}".format(project_id, api_id), headers=headers)
    print(resp.text)
if __name__ == '__main__':
    get_api_info(xxx, xxxxxx)

格局化下接口回来的json,不难看出这便是咱们供给的Mock数据列表:

‍♀️Coze官方插件不够用?手把手教你自己造(白嫖)

接着便是 对字段,将 接口概况回来的数据修正接口的恳求参数 关联上,恳求下聚合数据的新闻头条数据,更新下responseExamples字段,详细代码如下:

import json
import requests as r
# 恳求头
headers = {
    'X-Apifox-Version': '2024-01-20',
    'Authorization': 'Bearer APS-xxx',
    'User-Agent': 'Apifox/1.0.0 (https://apifox.com)',
    'Content-Type': 'application/json'
}
# 更新api接口
def update_api(project_id, api_id):
    request_url = "https://api.apifox.com/api/v1/projects/{}/http-apis/{}?locale=zh-CN".format(project_id, api_id)
    # 拉取接口信息
    resp = r.get(request_url, headers=headers)
    data_json = resp.json()['data']
    # 对下不变的参数
    put_data = {
        "tags": data_json['tags'],
        "requestBody": data_json['requestBody'],
        "parameters": data_json['parameters'],
        "name": data_json['name'],
        "description": data_json['description'],
        "method": data_json['method'],
        "path": data_json['path'],
        "status": data_json['status'],
        "projectId": data_json['projectId'],
        "folderId": data_json['folderId'],
        "auth": data_json['auth'],
        "advancedSettings": data_json['advancedSettings'],
        "responses": data_json['responses'],
    }
    # 恳求聚合数据的新闻头条数据
    jh_resp = r.get("https://v.juhe.cn/toutiao/index", params={"key": "xxx"})
    jh_json = jh_resp.text
    # 更新回来数据responseExamples对应的数据
    put_data['responseExamples'] = [{'name': "成功示例", "ordering": 1, "data": jh_json}]
    # 调用修正接口
    resp = r.put(request_url, headers=headers, json=put_data)
    print(resp.text)    # 输出:{"success":true,"data":null}
if __name__ == '__main__':
    update_api(xxx, yyy)

运行后,能够看到接口文档的 呼应数据 也更新了!赶忙去试试吧~