新闻详情

新闻详情

首页 / 资讯中心 / 详情

企业微信二次开发新玩法:用API接口打造会执行任务的智能机器人

发布时间:2026/9/30 13:39:53来源:尧图网络
企业微信二次开发新玩法:用API接口打造会执行任务的智能机器人
最近做的企微二开要求机器人不只是聊天——客户说帮我查下张三的订单然后通知销售机器人要能拆解成多个任务、分别调接口执行、把结果汇总回客户。和之前聊的大模型工具接入不同那篇重点是工具注册和调用循环这篇重点是任务拆解→多接口协同执行→结果汇总回写的完整闭环。把调了哪些接口记下来。Eyun 平台开放的企微 API统一 POSTJSON鉴权用 App Token 加 appidAuthorization: Bearer eyk_xxxx路径{BASE_URL}/wx-api/api/模块/动作响应封套{code, data, detail, message, time}code 为 0 成功。任务拆解AI 拆成多个步骤客户说一句复杂的话AI 先拆解成多个执行步骤def decompose_task(user_msg, context): prompt f 用户请求{user_msg} 可用工具query_customer, query_order, send_message, update_label, create_ticket 请拆解成具体执行步骤每步调一个工具。 steps llm.plan(prompt) return stepsAI 返回步骤列表每步指定调哪个工具、传什么参数。比如查张三订单通知销售拆成query_customer(张三) 拿到客户 uinquery_order(uin) 拿到订单send_message(销售 uin, 订单信息) 通知销售步骤执行调企微接口每个步骤对应一次企微接口调用。步骤间有依赖——后一步要用前一步的结果import requests BASE https://api.eyun.com HEADERS {Authorization: Bearer eyk_xxxx, Content-Type: application/json} def execute_steps(appid, steps, context): results {} for step in steps: tool step[tool] args fill_args(step[args], results) # 用前一步结果填参数 if tool query_customer: results[step[id]] query_customer(appid, args[keyword]) elif tool query_order: results[step[id]] query_order(appid, args[uin]) elif tool send_message: results[step[id]] send_message(appid, args[to], args[content]) elif tool update_label: results[step[id]] update_label(appid, args[uin], args[labels]) return results def fill_args(arg_template, results): # 把 $step1.uin 这种引用替换成实际值 for key, val in arg_template.items(): if isinstance(val, str) and val.startswith($): parts val[1:].split(.) step_id parts[0] field parts[1] arg_template[key] results[step_id][field] return arg_templatefill_args处理步骤间依赖——第二步的参数引用第一步的结果。查客户调联系人接口def query_customer(appid, keyword): if keyword.isdigit() and len(keyword) 11: resp requests.post( f{BASE}/wx-api/api/contact/phoneNumberSearch, headersHEADERS, json{appid: appid, phone: keyword} ) else: resp requests.post( f{BASE}/wx-api/api/contact/search, headersHEADERS, json{appid: appid, keyword: keyword} ) data resp.json()[data] return {uin: data.get(uin), name: data.get(nickName, )}通知销售调消息接口def send_message(appid, to_uin, content): resp requests.post( f{BASE}/wx-api/api/message/sendText, headersHEADERS, json{appid: appid, to: to_uin, content: content} ) return resp.json()[code] 0打标签调标签接口def update_label(appid, uin, labels): resp requests.post( f{BASE}/wx-api/api/label/updateLabel, headersHEADERS, json{appid: appid, uin: uin, labels: labels} ) return resp.json()[code] 0结果汇总AI 组织回复所有步骤执行完AI 把结果汇总成自然语言回客户def summarize_and_reply(appid, from_uin, user_msg, results): summary llm.summarize(user_msg, results) requests.post( f{BASE}/wx-api/api/message/sendText, headersHEADERS, json{appid: appid, to: from_uin, content: summary} )AI 拿到所有步骤的结果生成已查到张三的订单 SO-123金额 300 元已通知销售王五这种汇总回复。不汇总客户只看到最后一步的结果不知道前面查了什么。完整闭环def handle_complex_task(appid, from_uin, content): # 1. 拆解任务 steps decompose_task(content, {}) # 2. 执行步骤 results execute_steps(appid, steps, {}) # 3. 汇总回复 summarize_and_reply(appid, from_uin, content, results)客户一句话进来拆解、执行、汇总、回复整个闭环调多个企微接口。关于消息和联系人接口在Eyun 企业微信 API 平台有说明。执行失败的兜底某步失败要兜底——不能整条链崩def execute_steps_safe(appid, steps, context): results {} for step in steps: try: results[step[id]] execute_step(appid, step, results) except Exception as e: results[step[id]] {error: str(e)} if step.get(required, True): # 关键步骤失败终止并回复 break return results关键步骤失败终止并回复客户查询失败非关键步骤失败继续执行后续。不做兜底一步失败全链崩客户等半天没回复。写在最后会执行任务的智能机器人这套东西本质是把企微多个接口用任务拆解串起来——AI 拆解任务、按步骤调 phoneNumberSearch/sendText/updateLabel 等接口、步骤间传结果、汇总回复。把任务拆解做对、步骤依赖处理好、失败兜底做实机器人真正能执行复杂任务——而不是只会一问一答。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Win11文件只读属性失效的四层拦截机制与根治方案 2026/9/30 15:03:31

Win11文件只读属性失效的四层拦截机制与根治方案

1. 这不是“属性勾选框失灵”,而是Win11文件系统权限模型的悄然升级 你右键一个文件,点“属性”,在“常规”选项卡里看到那个灰掉的“只读”复选框——它明明没被勾选,但文件就是改不了、删不掉、保存失败;或者你手动勾…

阅读更多 →
内网流媒体搭建避坑:别让转码与花哨功能拖垮你的家庭影院 2026/9/30 15:03:31

内网流媒体搭建避坑:别让转码与花哨功能拖垮你的家庭影院

内网流媒体这套系统,我前前后后折腾了快一年,从最早把各种功能都塞进去,到后来一点点砍掉,最后留在生产环境里的东西大概只剩三分之一。最近翻了下项目的提交记录和功能开关配置,越看越觉得一个道理清楚:很…

阅读更多 →
Linux下用mlabel修改FAT卷标:U盘与镜像文件命名实操 2026/9/30 15:03:31

Linux下用mlabel修改FAT卷标:U盘与镜像文件命名实操

FAT卷标可能就是这么小的一件事:用mlabel给U盘和镜像改名有段时间我一直在Linux下跟U盘较劲。插上一块移动硬盘,lsblk看得到分区,blkid能看到文件系统类型,但想在Windows的"此电脑"里显示个清楚明白的名字,比…

阅读更多 →
Kubernetes 私有镜像仓库实战:从 Harbor 搭建到节点拉取全链路 2026/9/30 15:03:31

Kubernetes 私有镜像仓库实战:从 Harbor 搭建到节点拉取全链路

我在多个生产环境里帮团队落地过 Kubernetes 集群,其中“镜像到底放哪”这个问题,几乎是每个初建集群的团队都会卡住的点。直接用 Docker Hub 吧,拉取慢、有配额限制,尤其在内网环境里根本没法用;自己随便搭个 Registr…

阅读更多 →
无动物源重组人 IL‑13 蛋白分子特征与免疫 2026/9/30 15:03:30

无动物源重组人 IL‑13 蛋白分子特征与免疫

重组人白介素 13(Human IL‑13 protein, Animal‑Free)属于 Ⅱ 型免疫调节细胞因子,成熟蛋白由 112 个氨基酸组成,预测分子量 13.3 kDa,大肠杆菌无标签表达,全套生产纯化流程采用无动物源原料。IL‑13 主要…

阅读更多 →
Fli 并发与限流设计揭秘:Google Flights 搜索库的令牌桶、线程池与日期扫描熔断机制完整剖析 2026/9/30 15:03:23

Fli 并发与限流设计揭秘:Google Flights 搜索库的令牌桶、线程池与日期扫描熔断机制完整剖析

Fli 并发与限流设计揭秘:Google Flights 搜索库的令牌桶、线程池与日期扫描熔断机制完整剖析 【免费下载链接】fli Google Flights MCP, CLI and Python Library 项目地址: https://gitcode.com/gh_mirrors/fli2/fli Fli 是一个 Google Flights 机票搜索工具…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉