妙问 AI 营销助手
概述
本技能通过腾讯广告「妙问」平台的开放 API(https://miaowen.qq.com/)提供 AI 问答服务。
| 问答模式 | 说明 | agent_type |
|---|
| 普通知识库问答 | 开户流程、审核规则、素材规范等通用知识 | 不传 |
| 数据查询 |
账户信息、广告报表数据(天/小时/人群画像等) |
DATA_QUERY |
|
账户深度分析 | 指定账户和时间段的投放深度分析,含时间对比 |
ACCOUNT_ANALYSE |
|
广告诊断 | 指定广告 ID 进行问题诊断(不起量、掉量等) |
DIAGNOSE |
|
创意灵感 | 平台 Top 优秀创意,支持按行业/版位/素材类型/关键词筛选 |
CREATIVE_INSPIRATION |
|
素材审核 | 广告素材审核服务:规则咨询、预审检测、状态查询、拒审分析、素材修复 |
AUDIT |
引用文件
INLINECODE5 存放补充参考资料,正常使用时无需主动阅读:
| 文件 | 查阅时机 |
|---|
| INLINECODE6 | 脚本执行失败需排查根因,或需自行拼 HTTP 请求 |
运行环境
脚本依赖 Node.js ≥ 18(内置 fetch,无需 npm 包)。不要主动检测环境,直接执行脚本,失败时再运行 node --version 排查并按需安装。
Token 管理
不要主动检查 Token,直接执行脚本即可。脚本自动检测 Token 状态,缺失或为空时通过退出码 2/3 告知,届时再引导用户获取并配置。
Token 获取指引
当退出码为 2 或 3 时,展示以下指引:
🔑 需要先获取妙问 API KEY(Access Token)才能使用。
获取步骤:
- 1. 打开 妙问官网 并登录
- 在左侧导航栏点击【Skill 社区】,弹出「skill」操作页
- 在弹出的页面中可以看到「你的 API KEY」,格式为 INLINECODE9
- 点击 API KEY 右侧的「刷新」按钮获取新 Token,点击「复制」按钮复制
- 将复制的 Token 粘贴给我
操作示意图:

Token 保存
用户提供 Token 后执行:
CODEBLOCK0
保存后即可立即使用,无需重启终端或配置环境变量。
工作流程
0. SKILL 更新检查(每天首次使用时必须执行)
每天第一次调用本 SKILL 时,必须先执行更新检查,再处理用户问题。 当天已检查过则跳过。
- 1. 读取本文件顶部 frontmatter 中的
version 字段 - 执行脚本检查更新:
CODEBLOCK1
- 3. 根据返回的
instruction 字段判断是否需要更新,需要则按其指引执行;检查失败时忽略,不阻塞后续流程
1. 判断意图与补全信息
先从对话上下文和历史消息中提取补充信息(账户 ID、广告名称、时间范围等),能从语境推断的无需再问。
仍然含糊时,追问补齐关键上下文:产品、环节、对象、报错信息。给出 2~3 个选项让用户选,最多追问 1 轮。方向明确只缺细节时直接执行。
2. 构造请求体并执行脚本
根据意图确定 agent_type,构造 JSON 请求体后直接执行:
CODEBLOCK2
JSON 请求体用单引号包裹,避免 shell 转义问题。
请求体格式
普通知识库问答(不传 agent_type):
CODEBLOCK3
DATA_QUERY:
CODEBLOCK4
INLINECODE13 中带上账户 ID、时间范围等关键信息。简单查询直写,不必过度包装。API 仅支持历史数据查询。
ACCOUNT_ANALYSE:
CODEBLOCK5
INLINECODE14 为当前分析时间段,prev_* 为对比时间段。用户未指定对比周期时,默认前一个等长周期,未指定当前分析时间段时,默认最近 7 天。
DIAGNOSE:
CODEBLOCK6
CREATIVE_INSPIRATION:
CODEBLOCK7
适用场景:用户需要查看平台上的优秀创意案例,获取创意灵感。query 中带上筛选条件,如 "行业:电商,版位:微信朋友圈,素材类型:图片",可以适当放宽条件,如:查询最近大盘TOP创意
AUDIT:
CODEBLOCK8
适用场景:广告素材审核服务,涵盖:
- - 规则咨询:某类素材能否投放、行业审核限制、表述合规性判断
- 预审检测:投放前预判素材是否可能被拒审,识别风险点
- 状态查询:查询广告/素材的审核状态与进度
- 拒审分析:素材被拒后定位违规点,分析具体拒审原因
- 素材修复:针对拒审原因给出修改建议,指导素材调整方向
query 中尽量包含素材内容描述、广告 ID、拒审原因、所属行业等信息,以获得更精准的回答。
AUDIT 带附件预审——当用户需要对本地图片/素材进行预审时,按以下步骤操作:
- 1. 上传文件:通过
upload.js 将本地文件上传至远程,获取 URL:
CODEBLOCK9
脚本自动处理 Token 鉴权,退出码规范与 chat.js 一致。上传成功后从返回 JSON 的 data.file_url 取得远程 URL。
- 2. 构造带
attachments 的请求体,通过 chat.js 发起预审:
CODEBLOCK10
INLINECODE23 为附件类型(图片用 IMAGE),支持传多个附件。
路由判断原则
- - 出现"我的""帮我查""帮我分析"等指向用户自身数据的表述 → 选对应 Agent
- 明确涉及账户 ID、广告 ID、消耗数据、投放效果 → 选对应 Agent
- 涉及素材审核、拒审、预审、审核状态、素材合规、素材修复等表述 → INLINECODE25
- 仅涉及平台规则、操作指引、通用知识 → 普通知识库问答
- 简单即简单:纯数据查询 →
DATA_QUERY 一步完成,不做多步拆分 - 拿不准时优先普通问答,结尾提示用户可提供更多信息获取深度分析
3. 处理退出码
| 退出码 | 前缀 | 含义 | 处理 |
|---|
| 0 | — | 成功 | 按「结果展示规范」输出 |
| 2 |
[TOKEN_NOT_FOUND] | Token 不存在 | 展示「Token 获取指引」,用户提供后执行
setup_token.js 保存,再重试 |
| 3 |
[TOKEN_EMPTY] | Token 为空 | 同上 |
| 4 |
[API_ERROR] | API 错误 | 根据响应内容判断原因(Token 失效→引导刷新;权限不足→提示检查;频率限制→稍后重试;5xx→服务暂不可用) |
| 5 |
[NETWORK_ERROR] | 网络失败 | 展示错误信息,建议检查网络/代理 |
4. 复杂问题的多轮迭代
复杂问题不要试图一次调用给出最终答案。以用户最终目标为导向,多轮调用逐步收敛:
- 1. 拆解目标:确定每个子目标对应的 Agent 及调用顺序
- 逐轮推理:每轮调用后先分析结果,信息不充分则继续。简单问题 1 轮,复杂问题 3-5 轮
- 综合总结:按「结果展示规范」输出各轮结果,综合多轮信息给出整合分析和行动建议
典型组合:
| 用户问题 | 调用链路 |
|---|
| 账户效果不好,怎么回事? | INLINECODE32 → ACCOUNT_ANALYSE → 普通问答 |
| 广告不起量,什么原因? |
DIAGNOSE →
DATA_QUERY → 普通问答 |
| 分析账户 + 推荐创意 |
ACCOUNT_ANALYSE →
CREATIVE_INSPIRATION |
| 这条广告要不要关掉? |
DATA_QUERY →
DIAGNOSE |
| 广告审核不通过 + 优化投放 |
AUDIT(拒审分析 + 修复) →
DIAGNOSE(投放诊断) |
| 帮我看看这张图能不能过审 |
upload.js(上传素材) →
AUDIT +
attachments(预审检测) |
每步简要告知用户进展,已有充分信息的子目标不再重复调用。
5. 结果展示规范
API 返回内容已是 Markdown 格式,按以下规则展示:
- - 单轮结果:严格原样输出——保留全部 Markdown 格式与文字内容,不得改写、删减、补充或二次格式化,不加主观解读(除非用户要求)
- 多轮综合分析:允许适当润色与整合多个 API 结果,但须保证数据客观真实、关键信息(URL、指标、结论)不丢失、各部分来源清晰可辨,整体格式风格与 API 返回保持一致,输出的结果报告要求逻辑清晰、内容详实丰富、可读性强。
关键注意事项
- 1. 每日更新检查:每天首次使用本 SKILL 时,必须先执行步骤 0 的更新检查,确认无更新后再处理用户问题
- 脚本驱动一切:不要提前检查 Token 或 Node 环境、不要手动拼 HTTP 请求,一切由脚本退出码驱动后续动作
- Token 安全:不得在输出中明文展示完整 Token
- 参数完整性:发起调用前确保必填参数已获取,缺失时先从上下文推断,再尝试用
DATA_QUERY 自动补全(单个直接使用并告知,多个列出让用户选),仍缺失再追问用户。缺时间范围时默认最近 7 天(curr)+ 前 7 天(prev),输出时注明 - 结果展示:严格遵循「结果展示规范」——单轮原样输出,多轮可适度整合但不得篡改数据或丢失关键信息
- 用户友好:无需用户了解技术概念,只需粘贴 Token 即可
妙问 AI 营销助手
概述
本技能通过腾讯广告「妙问」平台的开放 API(https://miaowen.qq.com/)提供 AI 问答服务。
| 问答模式 | 说明 | agenttype |
|---|
| 普通知识库问答 | 开户流程、审核规则、素材规范等通用知识 | 不传 |
| 数据查询 |
账户信息、广告报表数据(天/小时/人群画像等) | DATAQUERY |
|
账户深度分析 | 指定账户和时间段的投放深度分析,含时间对比 | ACCOUNT_ANALYSE |
|
广告诊断 | 指定广告 ID 进行问题诊断(不起量、掉量等) | DIAGNOSE |
|
创意灵感 | 平台 Top 优秀创意,支持按行业/版位/素材类型/关键词筛选 | CREATIVE_INSPIRATION |
|
素材审核 | 广告素材审核服务:规则咨询、预审检测、状态查询、拒审分析、素材修复 | AUDIT |
引用文件
references/ 存放补充参考资料,正常使用时无需主动阅读:
| 文件 | 查阅时机 |
|---|
| references/miaowenopenapispec.md | 脚本执行失败需排查根因,或需自行拼 HTTP 请求 |
运行环境
脚本依赖 Node.js ≥ 18(内置 fetch,无需 npm 包)。不要主动检测环境,直接执行脚本,失败时再运行 node --version 排查并按需安装。
Token 管理
不要主动检查 Token,直接执行脚本即可。脚本自动检测 Token 状态,缺失或为空时通过退出码 2/3 告知,届时再引导用户获取并配置。
Token 获取指引
当退出码为 2 或 3 时,展示以下指引:
🔑 需要先获取妙问 API KEY(Access Token)才能使用。
获取步骤:
- 1. 打开 妙问官网 并登录
- 在左侧导航栏点击【Skill 社区】,弹出「skill」操作页
- 在弹出的页面中可以看到「你的 API KEY」,格式为 sk-mw-xxxxx
- 点击 API KEY 右侧的「刷新」按钮获取新 Token,点击「复制」按钮复制
- 将复制的 Token 粘贴给我
操作示意图:

Token 保存
用户提供 Token 后执行:
bash
node scripts/setuptoken.js VALUE>
保存后即可立即使用,无需重启终端或配置环境变量。
工作流程
0. SKILL 更新检查(每天首次使用时必须执行)
每天第一次调用本 SKILL 时,必须先执行更新检查,再处理用户问题。 当天已检查过则跳过。
- 1. 读取本文件顶部 frontmatter 中的 version 字段
- 执行脚本检查更新:
bash
node scripts/checkupdate.js {currentskillversion:<当前版本>,aiclientsoftware:<客户端名称>,operatingsystem_type:<操作系统>}
- 3. 根据返回的 instruction 字段判断是否需要更新,需要则按其指引执行;检查失败时忽略,不阻塞后续流程
1. 判断意图与补全信息
先从对话上下文和历史消息中提取补充信息(账户 ID、广告名称、时间范围等),能从语境推断的无需再问。
仍然含糊时,追问补齐关键上下文:产品、环节、对象、报错信息。给出 2~3 个选项让用户选,最多追问 1 轮。方向明确只缺细节时直接执行。
2. 构造请求体并执行脚本
根据意图确定 agent_type,构造 JSON 请求体后直接执行:
bash
node scripts/chat.js
JSON 请求体用单引号包裹,避免 shell 转义问题。
请求体格式
普通知识库问答(不传 agent_type):
json
{query: <用户的问题>}
DATA_QUERY:
json
{
query: <自然语言描述要查询的数据>,
agenttype: DATAQUERY
}
query 中带上账户 ID、时间范围等关键信息。简单查询直写,不必过度包装。API 仅支持历史数据查询。
ACCOUNT_ANALYSE:
json
{
query: 分析账户ID:{账户ID} 最近X天的投放情况,
agenttype: ACCOUNTANALYSE,
agent_params: {
account_id: <账户ID>,
currstartdatetime: YYYY-MM-DD 00:00:00,
currenddatetime: YYYY-MM-DD 23:59:59,
prevstartdatetime: YYYY-MM-DD 00:00:00,
prevenddatetime: YYYY-MM-DD 23:59:59
}
}
curr 为当前分析时间段,prev 为对比时间段。用户未指定对比周期时,默认前一个等长周期,未指定当前分析时间段时,默认最近 7 天。
DIAGNOSE:
json
{
query: 广告 {广告ID} 的投放建议,
agent_type: DIAGNOSE,
agent_params: {
account_id: <账户ID>,
adgroup_id: <广告ID>
}
}
CREATIVE_INSPIRATION:
json
{
query: <筛选条件:行业、版位、素材类型、关键词>,
agenttype: CREATIVEINSPIRATION
}
适用场景:用户需要查看平台上的优秀创意案例,获取创意灵感。query 中带上筛选条件,如 行业:电商,版位:微信朋友圈,素材类型:图片,可以适当放宽条件,如:查询最近大盘TOP创意
AUDIT:
json
{
query: <用自然语言描述审核相关的问题或需求>,
agent_type: AUDIT
}
适用场景:广告素材审核服务,涵盖:
- - 规则咨询:某类素材能否投放、行业审核限制、表述合规性判断
- 预审检测:投放前预判素材是否可能被拒审,识别风险点
- 状态查询:查询广告/素材的审核状态与进度
- 拒审分析:素材被拒后定位违规点,分析具体拒审原因
- 素材修复:针对拒审原因给出修改建议,指导素材调整方向
query 中尽量包含素材内容描述、广告 ID、拒审原因、所属行业等信息,以获得更精准的回答。
AUDIT 带附件预审——当用户需要对本地图片/素材进行预审时,按以下步骤操作:
- 1. 上传文件:通过 upload.js 将本地文件上传至远程,获取 URL:
bash
node scripts/upload.js <本地文件路径>
脚本自动处理 Token 鉴权,退出码规范与 chat.js 一致。上传成功后从返回 JSON 的 data.file_url 取得远程 URL。
- 2. 构造带 attachments 的请求体,通过 chat.js 发起预审:
json
{
query: <描述预审需求,如:帮我预审一下这张素材>,
agent_type: AUDIT,
attachments: [
{
content_type: IMAGE,
url:
}
]
}
content_type 为附件类型(图片用 IMAGE),支持传多个附件。
路由判断原则
- - 出现我的帮我查帮我分析等指向用户自身数据的表述 → 选对应 Agent
- 明确涉及账户 ID、广告 ID、消耗数据、投放效果 → 选对应 Agent
- 涉及素材审核、拒审、预审、审核状态、素材合规、素材修复等表述 → AUDIT
- 仅涉及平台规则、操作指引、通用知识 → 普通知识库问答
- 简单即简单:纯数据查询 → DATA_QUERY 一步完成,不做多步拆分
- 拿不准时优先普通问答,结尾提示用户可提供更多信息获取深度分析
3. 处理退出码
按「结果