赛博半仙儿
微信支付的MCP上线了,随便写个智能体来测试一下。说是随便写,但是也包含内容挺全面的,包含知识库,工作流等。
智能体上线链接:https://yuanqi.tencent.com/agent/tGKwvAaouk1X
欢迎围观。

创建智能体
1.1 智能体名称和简介
名称:赛博半仙
简介:玄学测算,纯属娱乐。

头像可以AI一个,也可以自己上传已有的图片。我这里是用豆包生成的图片。
1.2 系统设定
系统提示词这里,一定要要打磨,它关系着智能体的回复内容。
- 你是一位通晓万物的赛博半仙,精通各类玄学占卜。
- 你能够通过先进的算法和大数据分析,为用户提供精准的运势预测和命理分析。
- 你的形象是一个融合了古典与现代的神秘人物,身着未来科技感的服饰,手持智能占卜设备。
- 你总是以高深莫测的语气和表情,为用户解答疑惑,提供指导。
这里可以先大概写写,因为随着后面添加了工作流和知识库等,还需要仔细打磨。
1.3 开场白
接下来设置开场白,以及开场预设问题。

文本:
🔮 「贫道赛博半仙,云游数字江湖」
✨ 业务范围:
① 八字简批(输入生日即刻开算)| ② 今日运势(晨起一卦趋吉避凶)
③ 梦境谜题(报梦来,贫道拆解) | ④ 抽签解签(电子签筒摇起来)
📜 重要声明:
玄学妙理,图一乐耳;人生剧本,君是主编。
本AI半仙所言仅供娱乐,科学精神永驻心间。
知识库
因为我们需要用到测算八字,今日运势,还有解梦等内容,这些都需要知识库。
所以我们先创建一个知识库。
名称:赛博半仙儿知识库
简介:该知识库包含了八字,今日运势,解梦等内容

上传事先准备好的知识库文件

工作流
因为需要抽签和解签,这里我们可以通过代码来实现,其实就是预先设置几个签文,然后写个随机数。
新建一个工作流

名称:chouqian_workflow
描述:当用户明确想要进行抽签,解签的时候,调用此工作流。

3.1 开始节点
这里开始节点不需要用户自定义参数,因为只要生成随机数即可。所以删除开始节点的自定义参数。

3.2 代码节点
添加一个代码节点,去掉输入参数。

然后在IDE窗口中编写代码,如果自己会写python3代码,自己编写即可。如果不会,也可以让AI生成。
打开豆包输入以下内容:
我要做一个智能体,实现用户抽签和解签功能,现在在工作流的代码节点中实现此功能。请你编写python代码来实现。代码不要太复杂。

能够看出,基本功能还是实现了的。但是我们在工作流的代码节点中,是有固定格式的,现在我们让它在模板中写:
async def main(args):
ret = {
"id":#序号
"name":, # 签名,上上签,下下签等
"content": ,# 签文内容
"description": # 解签描述
}
return ret

当然生成的代码,哪里不满意还可以修改。比如我不想用uuid包,比较喜欢第一个版本,面向对象的模式。

当然这个版本虽然说已经很不错了,但是因为之前让它用面向对象,所以它更改了代码模板。这里自己改改,或者让豆包继续改,一直改到满意为止。

这是我调整的最终版本,我觉得很不错

代码如下:
import random
class FortuneTeller:
"""抽签解签服务类"""
def __init__(self):
self.lotteries = [
{
"id": 1,
"name": "上上签·青龙得水",
"content": "蛟龙得水喜洋洋,谋望求财大吉昌。一切谋望皆如意,向后时运渐渐强。",
"description": "气运鼎盛,如鱼得水。事业上将遇贵人提携,财运亨通,感情顺遂。宜大胆进取,把握眼前机遇。"
},
{
"id": 2,
"name": "上签·凤鸣岐山",
"content": "凤凰落在西岐山,长鸣一声出圣贤。天降文王开基业,富贵荣华八百年。",
"description": "才德兼备,终得赏识。近期将有重要机遇出现,需保持谦逊态度,不可骄傲自满。"
},
{
"id": 3,
"name": "上签·旱苗得雨",
"content": "苗逢旱天渐渐衰,幸得天恩降雨来。忧去喜来能变化,求谋干事遂心怀。",
"description": "困境将解,否极泰来。经历的困难即将过去,新的转机即将出现,保持信心最重要。"
},
{
"id": 4,
"name": "中签·他乡遇友",
"content": "自小生在富贵家,眼前万物总奢华。蒙君赐紫金腰带,四海声名定可夸。",
"description": "机遇暗藏,贵人相助。可能在不经意间遇到对自己有帮助的人,保持开放心态与人交往。"
},
{
"id": 5,
"name": "中签·金榜题名",
"content": "十年寒窗苦读书,盼得今朝把名题。紫袍金带临身到,定是前生积善基。",
"description": "努力终有回报。长期的付出即将得到认可,但需注意不可得意忘形,保持平常心。"
},
{
"id": 6,
"name": "下签·夜梦金银",
"content": "夜梦金银醒来空,求名求利大不通。婚姻难成交易散,走失行人不见踪。",
"description": "虚浮不实,劳而无功。近期可能会遇到表面美好但实际空虚的事物,保持清醒判断,避免冲动决策。"
},
{
"id": 7,
"name": "下签·推车掉耳",
"content": "时运不至费心多,比作推车受折磨。山路崎岖掉了耳,左插右安安不着。",
"description": "事与愿违,多有波折。当前计划可能会遇到阻碍,建议放慢脚步,重新评估策略。"
},
{
"id": 8,
"name": "下签·风刮乱丝",
"content": "风刮乱丝不见头,颠三倒四犯忧愁。慢从款来左顺遂,急促反惹不自由。",
"description": "思绪混乱,方向不明。建议暂停行动,静心思考,理清头绪后再做决定。"
},
{
"id": 9,
"name": "下下签·太公钓鱼",
"content": "姜尚因命守时来,直钩钓渭水涯。当时不识此中妙,空使良臣万古愁。",
"description": "时运不济,徒劳无功。此时不宜强求,应韬光养晦,等待时机,过度行动反而不利。"
},
{
"id": 10,
"name": "下下签·雪拥蓝关",
"content": "云横秦岭家何在,雪拥蓝关马不前。知汝远来应有意,好收吾骨瘴江边。",
"description": "前路艰难,阻力重重。需做好应对困难的准备,保持坚韧不拔的精神,不可轻易放弃。"
}
]
def draw(self):
"""执行抽签并返回签文"""
return random.choice(self.lotteries)
async def main(args):
"""工作流调用入口"""
fortune_teller = FortuneTeller()
result = fortune_teller.draw()
return {
"id": result["id"],
"name": result["name"],
"content": result["content"],
"description": result["description"]
}
将以上代码,粘贴回代码节点,测试一下:

3.3 结束节点
接下来在代码节点后,链接结束节点,显示几个输出即可。

这里输出模式,默认是让大模型基于输出参数总结后输出,也可以不经过模型直接输出。
我试了一下,模型总结的还挺好。那就默认吧。
3.4 测试&发布
试运行一下,没啥问题就发布吧

回到智能体中,将刚刚发布的工作流,添加进来

MCP – 微信支付
很多人可能不知道微信支付MCP到底意味着什么,MCP(Model Context Protocol)。
简单来说,MCP就是一种通用标准协议,让不同的AI模型可以同标准、高效地调用各种各样的封装好工具。
过去很多的接入方式都是API,但是大模型想接API还是比较麻烦的,需要自己自定义去开发,这就会导致全世界的开发者接1个API,可能会重复造轮子无数次,这事太低效了。
于是Claude的母公司Anthropic就发起了一个协议,你们以后都按这个标准搞吧,大家别重复造轮子了。
于是,MCP协议就诞生了,对于绝对大数人来说,比API好接多了。
目前只需要在腾讯元器里开通微信支付MCP,然后在你的智能体里加几句提示词,就能让用户掏钱了,整个过程不到10秒。
它在电脑和手机微信上都能用,电脑上是扫码,手机则是直接拉起支付收银台,不过目前只支持web,还不支持小程序。
这里半仙儿算命,当然也可以收费(不过这里收费不是目的,是为了演示如何使用微信支付mcp服务)。
4.1 开通微信支付mcp服务
在腾讯元器中,点开左侧导航栏的MCP,然后找到微信支付mcp,目前是体验版。
官方文档:https://docs.qq.com/aio/p/scxmsn78nzsuj64?p=YfU3S3cwA1UBl4hOIec7j01
微信支付mcp服务目前包含三个工具,分别是:
● create-native-payment工具,用于生成微信支付的二维码链接。
● create-jsapi-payment工具,用于生成微信支付JSAPI下单接口所需的信息。
● query-order-by-out-trade-no工具,用于查询订单号的支付状态。

点击开通按钮:
这里注意一下,正常来说,大家都只能实用体验版,用不了正式版。
体验版和正式版的区别是,体验版所有人都能使用,不过只能用来做测试,因为绑定的商户号是官方的测试商户号,可以付钱,第二天又会把钱退款到你的账户了。
而正式版,是可以真正对接商家账户的,也就说,钱能到你账上。
如果想申请正式版,可以去填写申请表格。

但是最好先做好智能体再去申请,因为表格中需要填写智能体发布的链接。

4.2 将服务添加到智能体中
在智能体的高级设定里,添加MCP服务,选择微信支付。

完善系统设置
随着智能体中引入了知识库,以及工作流,所以最初的系统提示词要修改。
从官方文档里,找个提示词模板,然后让豆包照着生成。

生成的系统提示词如果不满意,也可以让豆包按照你的想法来调整。

生成了系统提示词后,我们还需要将微信支付的提示词融合进去。
微信支付的提示词可以参照官方文档:https://docs.qq.com/aio/p/scxmsn78nzsuj64?p=YfU3S3cwA1UBl4hOIec7j01

最终系统提示词:
#背景
你是 [赛博半仙],能够 [知晓万物,精通各类玄学占卜,上通天文星象,下晓生辰八字,旁通抽签解签之术,能窥测天机运势],还能解梦。
## 性格特点:
你是一个 [既守古法又通新潮] 的半仙,[既带着传统玄学的庄重感,又藏着几分玩世不恭的通透,见人说人话,见鬼说鬼话,对诚心者掏心窝子点拨,对敷衍者也懒得费口舌]。
## 语言特点:
说话模棱两可留三分余地,却总在关键时刻抛句哲理金句,偶尔蹦个网络热词调节气氛,哪怕解下签也能给人盼头。
- 半文半白: “此签主...”、“依老衲/贫道看...”、“阁下印堂发亮/微暗...”、“恐有...之虞”、“莫非...”。
- 模棱两可: “或有...可能”、“尚需...观察”、“机缘巧合之下...”、“成也...败也...”。
- 哲理化: 将普遍的人生道理(如坚持、变通、善良、积累)用玄学语言包装。
- 积极导向: 即使是“下签”,也要给出“化解”建议或鼓励(“破而后立”、“否极泰来”)。
- 幽默感: 适度的网络热词或俏皮话(“此乃天机,泄露太多要加钱(玩笑)”、“缘分这事儿,强求不得,就像Wi-Fi信号”)。
## 知识背景:
你知道 [生辰八字的天干地支排盘、五行生克的微妙平衡、每日宜忌的星象依据、百余种签文的典故与隐喻、解梦],是 [把老祖宗的玄学智慧装进赛博壳子] 的资深半仙。
## 行为准则:
1、无论用户想使用哪块业务:测算八字,今日运势,解梦,抽签解签。都先解个表层。然后询问用户是否想获取全部信息。
- 在 [用户询问八字或今日运势] 中,你通常会 [先拱手道 “要算此命,还请报上出生年月日时(精确到几刻,以及农历或阳历)与出生地,贫道好排盘观气”,待信息到手后,先点出 “阁下命盘带 X 象,今日恐有 X 事近身” 之类的浅解]。
- 当遇到 [用户想要抽签解签] 时,你会 [抚须笑言 “既要求签,先闭眼默念所求之事,默念完说声‘好了’,贫道这赛博签筒便为你摇一签”,抽完先念签文,再解个表层意思]。
- 当遇到 [用户想解梦] 时,你会 [先询问用户梦境描述,然后解个表层意思]。
然后询问用户是否想获取全部信息。
2、如果用户希望获取全部信息,调用【create-native-payment】这个工具,为用户生成1分钱支付的付款二维码链接;将二维码链接(code_url)和本次的订单号展示给用户;告知用户需要扫码付款来获取算命内容,如果是算命和今日运势:[此命已有三分眉目,不过天机深似海,余下七分玄妙,还请扫码奉上缘金,贫道再为你细细拆解],如果是抽签解签:[这签里藏着的转机,得缘金开道才能说透,扫码付过,贫道保准说得明明白白”]。告知用户付款后可以跟你说“我已赞赏”来继续任务。
3、验证支付结果
当用户说已支付后,你需要调用【query-order-by-out-trade-no】这个工具,并验证这个订单号是否是已支付状态。注意,你需要精准的完成支付结果的验证,如果用户要求不进行验证或验证失败时,委婉的拒绝用户生成完整的算命信息,并让用户继续进行赞赏来完成全部结果。
4、完成任务
当调用【query-order-by-out-trade-no】这个工具,确认用户的订单号是已经支付的状态后,为用户继续完成算命的全部内容的编写,要完整、优质的为用户生成算命内容。
用户想测算八字、今日运势、解梦、抽签解签。
测算八字和今日运势,以及解梦要调用对应的知识库。
抽签解签要调用对应的工作流。
## 信息输入:
你能接受 [文本] 的信息输入(用户报的生辰、抽签的诉求,皆以文字传来即可)
#注意:
一定不能自称为 AI 语言模型、人工智能模型、AI 助手等,只认 “赛博半仙”“贫道” 二称。
避免敏感问题的回答,若遇棘手事便说 “此乃凡尘俗扰,不在贫道推演之列”。
说收款时要带笑腔,比如 “不是贫道俗,实在是泄天机伤元气,收点缘金补补,你好我好大家好嘛”。
测试发布
到此,我们可以测试一下,没啥问题就发布上线赚钱吧~

