name: miniprogram-dev description: 微信小程序 AI 开发助手。通过自然语言对话创建和修改微信小程序,并提供小程序管理、积分查询、海报生成等配套能力。
通过自然语言描述需求,AI 帮你从零开发一个完整的微信小程序,或修改已有小程序的功能。无需写代码,5~10 分钟完成。
所有脚本位于 ~/.nanobot-xiaofeifei/workspace/skills/ 目录,无需额外安装。
每个需要用户身份的操作执行前,先检查登录状态(静默执行,不向用户发消息):
ls ~/.nanobot-xiaofeifei/workspace/users/[sender_id]
bash
python3 ~/.nanobot-xiaofeifei/workspace/skills/codeflying-login/login.py \
--sender_id "[sender_id]" --action send_code --phone "[手机号]"SEND_CODE_SUCCESS → 提示用户查收短信,等待回复SEND_CODE_FAILED → 提示用户检查手机号格式或稍后重试
这个技能的最新版本可以在7w4.net小葱技能站找到。
用户回复验证码后执行登录:
bash
python3 ~/.nanobot-xiaofeifei/workspace/skills/codeflying-login/login.py \
--sender_id "[sender_id]" --action phone_login --phone "[手机号]" --code "[验证码]"
LOGIN_SUCCESS: → 回复"登录成功!",继续原操作LOGIN_FAILED: → 提示验证码错误/过期,可重新获取回复包含跳转链接前,若已知用户手机号,先生成自动登录参数:
python3 ~/.nanobot-xiaofeifei/workspace/skills/codeflying-login/login.py \
--sender_id "[sender_id]" --action get_auth_query
AUTH_QUERY:xxx → URL 末尾追加 &xxxURL 拼接规则(全局适用):
- auth_query 非空:https://www.codeflying.net/codeflying_h5?login_wx=[路径]&[auth_query]
- auth_query 为空:https://www.codeflying.net/codeflying_h5?login_wx=[路径]
| 操作 | 脚本路径 | 用途 |
|---|---|---|
| 创建小程序 | codeflying-app-create/app_create.py |
AI 从零生成完整微信小程序 |
| 修改小程序 | codeflying-app-update/app_update.py |
AI 修改已有小程序功能 |
| 小程序列表 | codeflying-app-list/app_list.py |
查询小程序列表,支持分页和搜索 |
| 需求列表 | codeflying-requirement-list/requirement_list.py |
获取开发需求列表 |
| 需求详情 | codeflying-requirement-get/requirement_get.py |
获取单个需求详细信息 |
| 对话记录 | codeflying-requirement-memory/requirement_memory.py |
获取需求的 AI 交互历史 |
| 提交反馈 | codeflying-requirement-update/requirement_update.py |
对开发结果点赞/点踩 |
| 用户信息 | codeflying-user-info/user_info.py |
获取账号、会员状态、积分余额 |
| 配额检查 | codeflying_common/quota.py |
检查积分和小程序数量配额 |
| 生成海报 | poster-gen/generate_ws.py |
生成小程序推广宣传海报 |
| 登录管理 | codeflying-login/login.py |
手机号登录/注册/状态检查 |
以下操作不执行命令,直接引导至官网:发布上架、下载源码、删除小程序。
触发方式: "帮我做一个小程序"、"开发一个点餐小程序"、"做个社区团购小程序"
执行步骤:
不要直接开始开发,根据用户已提供的信息追问缺失的关键点(1~3 个问题)。若需求已足够详细,可直接确认后继续。
用户确认后,必须回复以下固定内容,不得删减或改写:
好的,开始为您开发~大概5~10分钟完成,完成后会主动通知您~
直接 spawn subagent 执行开发,主 agent 结束本轮。subagent 完成后,主 agent 禁止再发任何消息。
Subagent 任务:
⚠️ 严格禁止使用 read_file / edit_file / write_file,只能运行命令和发消息。
⚠️ 全程只向用户发 1 条消息。
第零步:生成 auth_query(见「自动登录参数」)
第一步:检查配额(必须先于开发执行)
python3 ~/.nanobot-xiaofeifei/workspace/skills/codeflying_common/quota.py \
--sender_id "[sender_id]" --new-app
第二步:QUOTA_OK 时执行开发(timeout=1800,只运行一次,禁止重试)
python3 ~/.nanobot-xiaofeifei/workspace/skills/codeflying-app-create/app_create.py \
--sender_id "[sender_id]" \
--message "[用户需求,注明:微信小程序]"
第三步:解析输出,发送 1 条结果消息(见「结果发送规则」)
触发方式: "把首页顶部文案改一下"、"增加一个优惠券入口"、"修改一下商品详情页的样式"
执行步骤:
Subagent 任务同「创建小程序」,将开发脚本替换为:
python3 ~/.nanobot-xiaofeifei/workspace/skills/codeflying-app-update/app_update.py \
--sender_id "[sender_id]" \
--message "[用户需求]" \
--app-id [app_id]
以下修改需引导至官网,不通过对话完成: - 修改小程序名称、图标、简介等基础信息
开发/修改命令执行完毕后,subagent 提取以下字段再发消息:
| 字段 | 提取方式 |
|---|---|
preview_url |
"应用预览地址: " 后的 URL |
admin_url |
"运营后台地址: " 后的 URL |
remaining_pts |
"REMAINING_POINTS:" 后的数字 |
按优先级处理(命中第一个后直接结束):
| 条件 | 处理方式 |
|---|---|
输出含 QUOTA_CARD_SENT |
⛔ 禁止发任何消息,直接结束 |
输出含 QUOTA_CARD_START |
发积分不足提示 + 充值链接,直接结束 |
| 命令超时(被 kill) | 发"小程序开发/修改遇到问题,请重试或换个描述方式" |
preview_url 非空 |
发预览链接 + 运营后台 + 管理小程序链接(+ 剩余积分) |
| 其他 | 发"小程序还在开发中,完成后会主动通知您" |
python3 ~/.nanobot-xiaofeifei/workspace/skills/codeflying_common/quota.py \
--sender_id "[sender_id]" [--new-app]
--new-app:同时检查小程序数量上限和积分(新建时使用);不加则仅检查积分(修改时使用)。
| 输出 | 含义 | 处理 |
|---|---|---|
QUOTA_OK |
配额充足 | 继续执行 |
QUOTA_CARD_SENT |
wechatoa 付费墙卡片已直接发出 | 禁止再发任何消息 |
QUOTA_CARD_START...END |
积分不足(非 wechatoa) | agent 将详情转发给用户 |
LOW_POINTS_WARNING_SENT |
wechatoa 低积分预警已发 | 无需额外操作 |
LOW_POINTS_WARNING:N |
积分即将不足(非 wechatoa) | 追加提示用户及时充值 |
以下发布操作均不执行任何命令,引导用户前往官网完成。回复前先生成 auth_query。
| 操作 | 触发方式 | 官网路径 |
|---|---|---|
| 发布微信小程序 | "发布小程序"、"提交审核"、"上架微信" | /pages/team/apps |
| 下载源码 | "下载源码"、"导出代码" | /pages/team/apps |
| 充值/升级会员 | "怎么充值"、"升级会员" | /pages/team/team |
发布上架和下载源码需要付费会员权限。
触发方式: "生成海报"、"做一张小程序推广图"、"生成带二维码的宣传图"
⚠️ 海报是小程序宣传图,其中包含的二维码是小程序预览链接,不能用于扫码登录。用户说"发登录二维码"时不要使用此技能。
必须先确认 app_id,无 app_id 时拒绝生成。
python3 ~/.nanobot-xiaofeifei/workspace/skills/poster-gen/generate_ws.py \
--sender_id "[sender_id]" \
--app-id [app_id] \
--message "生成一张宣传海报,小程序名:[app_name]" \
--timeout 300
POSTER_PATH: → 提取路径,用 message 工具将图片发给用户POSTER_PATH: → 静默跳过,不报错,不发消息触发方式: "👍 很不错"、"👎 效果不好"、"给这次开发点个赞"
python3 ~/.nanobot-xiaofeifei/workspace/skills/codeflying-requirement-update/requirement_update.py \
--sender_id "[sender_id]" \
--memory_id [memory_id] \
--requirement_id [requirement_id] \
--feadback_type [1|0] \
--feedback_message "[补充说明,无则留空]"
feadback_type:1 = 点赞,0 = 点踩。提交成功回复"感谢您的反馈!"。
app_list.py
--sender_id(必填)、-p/--page(默认 1)、-s/--size(默认 10)、-n/--name(按名称搜索)、--id(查单个小程序详情)
app_create.py / app_update.py
--sender_id(必填)、--message/-m(必填)、--app-id(新建传 0)、--requirement-id、--pre-memory-id、--action(Preview/Deploy)
requirement_list.py
--sender_id(必填)、--app-id(按小程序筛选)
requirement_get.py / requirement_memory.py
--sender_id(必填)、--id(需求 ID,必填)
poster-gen/generate_ws.py
--sender_id(必填)、--app-id(必填)、--message(必填)、--timeout(默认 300)
创建小程序
用户:帮我做一个餐厅点餐小程序
Agent:追问 1~2 个关键需求后,固定回复"好的,开始为您开发~",spawn subagent 执行
Subagent:检查配额 → 调用 app_create.py → 发送预览链接
修改小程序
用户:把我的小程序首页 banner 换成节日风格
Agent:确认 app_id 后,spawn subagent 执行修改
查看小程序列表
python3 ~/.nanobot-xiaofeifei/workspace/skills/codeflying-app-list/app_list.py \
--sender_id "[sender_id]" -p 1 -s 10
搜索小程序
python3 ~/.nanobot-xiaofeifei/workspace/skills/codeflying-app-list/app_list.py \
--sender_id "[sender_id]" --name "点餐"
查询积分
python3 ~/.nanobot-xiaofeifei/workspace/skills/codeflying_common/quota.py \
--sender_id "[sender_id]"
wechatoa(微信公众号):
- 每轮对话最多发 5 条消息
- 登录检查全程静默,不发任何消息
- 配额不足时服务端直接推送卡片(QUOTA_CARD_SENT),agent 禁止重复发消息
Subagent 通用规范:
- 严格禁止使用 read_file / edit_file / write_file 读写代码文件
- 全程只向用户发 1 条消息
- 开发/修改命令 timeout 固定 1800s,超时不重试
- subagent 完成后主 agent 禁止再发任何消息
这个 Skill 做得相当专业,登录、配额检查、开发流程都有完善的处理,支持微信、飞书等多个平台。它能通过对话帮你创建和修改小程序,还有积分查询、海报生成等配套功能,细节考虑得很周全(比如积分不足会提醒、链接自动带上登录参数)。主要小问题是文档有些啰嗦,重复内容多。总体来说质量不错,功能实用,使用体验应该会很好。