Data & analysis

wjx-cli-use

Try it

Guide for using wjx-cli (Wenjuanxing CLI) to create surveys, query responses, and analyze data. Use when the user mentions: 问卷, 调查, 收集, 表单, 投票, 考试, 测评, 满意度, NPS, 问卷星, wjx, survey, questionnaire, or wants to create surveys, view responses, export data, analyze NPS/CSAT, or manage contacts, department

What it does

Guide for using wjx-cli (Wenjuanxing CLI) to create surveys, query responses, and analyze data. Use when the user mentions: 问卷, 调查, 收集, 表单, 投票, 考试, 测评, 满意度, NPS, 问卷星, wjx, survey, questionnaire, or wants to create surveys, view responses, export data, analyze NPS/CSAT, or manage contacts, departments, and sub-accounts.

The skill document

wjx-cli 使用指南

wjx-cli 是问卷星 OpenAPI 的命令行工具。命令格式:wjx <模块> <操作> [选项]

全局选项:--api-key 覆盖凭据,--table 表格输出,--dry-run 预览请求不发送,--stdin 从管道读 JSON 参数。

AI Agent 行为准则(必读)

规则 0:创建问卷只用 create-by-json(强制)

禁止使用 wjx survey create-by-text——除非用户用"DSL"、"文本格式"等字眼明确要求。原因:

  • DSL 文本格式覆盖题型不全(70+ 题型 vs DSL 27 种)
  • DSL 容易被 shell 转义破坏(PowerShell 的 $1/$2 会被识别为变量丢失)
  • create-by-text 已弃用,CLI 入口会打印弃用警告

正确做法:把题目写成 JSONL(每行一个 JSON 对象,首行 qtype:"问卷基础信息" 元数据),调用 wjx survey create-by-json --file .jsonl。所有题型、投票、考试、表单都走这一条路径。

规则 1:一个需求 = 一个问卷

无论用户要求多少种题型,必须在一次 create-by-json 调用中包含所有题目。一个问卷可包含任意数量、任意类型的题目。

规则 2:问卷类型 ≠ 题目类型

"投票/考试/调查"是问卷类型--type 参数)。JSONL 创建投票时使用 qtype:"投票单选" / qtype:"投票多选",并显式传 --type 3;只有旧 DSL 文本格式才使用普通 [单选题] / [多选题],不存在 [投票单选题] 标签。

规则 3:不支持的题型要明确告知

签名题(用 [绘图题] 替代)、地区题(用 [多级下拉题] 或网页端添加)、NPS 专用题(用 [量表题] + 0~10)不在 DSL 支持范围内。告知用户替代方案,继续创建其他题目,不要反复尝试或拆分多个问卷。

规则 4:面向用户说自然语言,不说 CLI 命令

CLI 是你(AI)在后台执行的工具,不要在回复中展示命令或命令行用法。唯一例外:用户明确要求看命令时。

  • 正确:「问卷已创建,这是填写链接:https://...」
  • 错误:「你可以运行 wjx survey list 查看问卷列表」

规则 5:未配置或返回 API Key 错误时先提醒配置

在安装/初始化流程、用户明确要求检查配置,或命令实际返回 API Key 相关错误时,引导用户处理 API Key。

  • 未配置 API Key:如果命令返回未配置错误,停止当前业务操作,提醒用户先获取并配置 API Key,不要继续尝试创建、查询、导出等需要鉴权的命令
  • Key 错误或过期:提醒用户重新获取 API Key,并在配置成功后继续原任务
  • 已返回 API Key 相关错误:如果命令返回 API Key is requiredInvalid API Keyappkey error 或类似鉴权错误,必须立刻向用户说明需要处理 API Key,并给出获取/重新配置 API Key 的下一步;不要只复述错误信息
  • 获取 API Key:让用户访问 https://<域名>/weixinlogin.aspx?redirecturl=%2Fnewwjx%2Fmanage%2Fuserinfo.aspx%3FshowApiKey%3D1,默认域名为 www.wjx.cn
  • 配置方式:用户提供 Key 后,由 AI 在后台执行 wjx init --api-key ;不要让用户自己敲命令,除非用户明确要求

收到 API Key 相关错误后的用户提醒应使用自然语言,例如:

刚才的操作返回了 API Key 相关错误,说明当前还没有配置 API Key,或者 Key 已失效。请先打开下面的链接获取/重新获取 API Key,拿到后发给我,我再继续帮你完成后续操作:
https://www.wjx.cn/weixinlogin.aspx?redirecturl=%2Fnewwjx%2Fmanage%2Fuserinfo.aspx%3FshowApiKey%3D1

规则 6:发布与提交答卷的几个易错点

  • 发布问卷状态参数:用 wjx survey status --vid --state 1(1=发布、2=暂停、3=删除)。--status 是兼容别名,但默认参数名是 --state
  • 提交答卷必须带版本号:问卷被发布/编辑后 version 自增,提交时不带最新 jpmversion 会被服务端拒绝并报"问卷已被修改请刷新"。wjx response submit 默认会自动获取最新版本注入,请不要--no-auto-version,也不需要手动算版本号。
  • submitdata 题号一律用 submit-template 返回的 q_index:问卷星服务端严格按 getSurvey 返回的原始 q_index 校验提交的题号("问卷基础信息"元数据占 q_index=1,真实题目从 2 开始编号)。手算很容易搞错——直接跑 wjx response submit-template --vid <问卷ID>,每题的 placeholder 就是正确格式,改成真实答案即可。选项序号仍然是 1-based(从 1 数到 N)。
  • 避开 shell $ 转义陷阱:submitdata 含 $ 分隔符,PowerShell 双引号会把 $1/$3 当变量吞掉。首选 --submitdata-file (从文件读,彻底绕开 shell);其次用 PowerShell 单引号 --submitdata '1$1}2$3'。CLI 会在提交前做 $ sanity check:一个 $ 都没有时立刻报 INPUT_ERROR。
  • 矩阵题可复制示例:行号!列号,多行用 ,,多列用 |
    • 矩阵单选 3×4:6$1!1,2!3,3!2
    • 矩阵多选 3 行:7$1!1|2,2!3,3!1|4
    • 矩阵量表 3 行:8$1!5,2!4,3!3

快速路由

用户意图命令
做调查/问卷wjx survey create-by-json --file survey.jsonl
做考试/测验wjx survey create-by-json --file exam.jsonl --type 6
做投票wjx survey create-by-json --file vote.jsonl --type 3
做表单/报名表wjx survey create-by-json --file form.jsonl --type 7
看问卷结果wjx survey list 找 vid,再 wjx response report --vid
导出答卷数据wjx response download --vid
分析 NPSwjx analytics nps --scores "[9,10,7,3]"
导入联系人wjx contacts add --users '[...]'(需 WJX_CORP_ID
查看问卷链接wjx survey url --mode edit --activity

安装与配置

首次使用时按以下步骤执行。AI 应直接执行命令,不要求用户去终端操作。

步骤 1:检查并安装 Node.js 和 wjx-cli

node --version

如果 Node.js 未安装或版本 < 20,需要先安装。参见 references/install-nodejs.md,根据操作系统选择安装方式。

Node.js 就绪后:

npm install -g wjx-cli
wjx --version

步骤 2:获取并配置 API Key

API Key 需要用户手动获取(无法自动化)。

确定域名:默认 www.wjx.cn。如果用户使用自定义域名(如 xxx.sojump.cn),替换下方链接中的域名。

  1. 让用户打开(<域名> 替换为实际域名,默认 www.wjx.cn): https://<域名>/weixinlogin.aspx?redirecturl=%2Fnewwjx%2Fmanage%2Fuserinfo.aspx%3FshowApiKey%3D1
  2. 微信扫码登录后复制 API Key
  3. 拿到 Key 后执行:
wjx init --api-key <用户提供的key>

自定义域名追加 --base-url

wjx init --api-key  --base-url https://<域名>

凭据优先级:--api-key 参数 > WJX_API_KEY 环境变量 > ~/.wjxrc 配置文件。通讯录操作另需 WJX_CORP_ID

步骤 3:验证

wjx doctor

所有检查项应为 ok。失败时参见下方"常见错误与处理"。

安装完成后的回复(重要)

验证通过后,必须向用户展示自然语言使用示例,不要展示 CLI 命令:

安装完成!你现在可以直接告诉我你想做什么,比如:
- 「帮我做一份客户满意度调查,包含 NPS 评分题」
- 「出一套 JavaScript 基础测验,10 道选择题」
- 「查看我的问卷列表」
- 「分析一下这组 NPS 评分:9,10,7,3,8,10,6」
- 「把问卷 12345 的答卷数据导出为 CSV」
- 「帮我提交一份问卷的答案」
- 「帮我把这批联系人导入到通讯录」

命令总览

模块命令说明
surveylist, get, create, create-by-text, create-by-json, delete, status, settings, update-settings, upload, export-text, url问卷增删改查与配置
responsequery, realtime, download, submit, modify, clear, report, count答卷数据操作
contactsquery, add, delete联系人管理(需 WJX_CORP_ID)
departmentlist, add, modify, delete部门管理
adminadd, delete, restore管理员管理
taglist, add, modify, delete标签管理
accountlist, add, modify, delete, restore子账号管理
ssosubaccount-url, user-system-url, partner-urlSSO 链接生成
analyticsdecode, nps, csat, anomalies, compare, decode-push本地分析(无需 API Key)
init / doctor / whoami配置 / 诊断 / 验证

核心工作流

创建问卷(统一使用 JSONL 格式)

重要:必须执行 wjx survey create-by-json 命令来创建问卷。只生成 JSONL 文本而不执行命令,问卷不会被创建到问卷星平台上。

wjx survey create-by-json --file survey.jsonl
# 或直接传字符串
wjx survey create-by-json --jsonl "$(cat survey.jsonl)"

JSONL 每行一道题(首行可放 {"_meta":{"title":"...","description":"..."}}),字段命名见 references/question-types.md 的 q_type/q_subtype 映射表,覆盖 70+ 题型(含矩阵/比重/滑块/文件上传/排序)。题目 title 只写正文,不写题目类型;表格组合标准写法为 rowtitle + types + selects,投票题标准写法为 qtype:"投票单选" / qtype:"投票多选" + select

问卷类型:--type 1 调查(默认),3 投票,6 考试,7 表单。

考试问卷注意:正确答案和每题分值无法通过 API 设置。创建后应提供编辑链接 wjx survey url --mode edit --activity ,指引用户在网页端配置。

已弃用命令wjx survey create-by-text(DSL 文本)和 wjx survey create --questions(老 JSON 数组)仅为兼容保留,新项目一律使用 create-by-json。DSL 语法仍可见 references/dsl-syntax.md 供历史代码参考。

答卷与分析

先获取 vid(wjx survey list),再用 wjx response 子命令。下载格式:--suffix 0 CSV,1 SAV,2 Word。详见 references/response-commands.md

通讯录与账号

角色:1=系统管理员, 2=问卷管理员, 3=统计查看, 4=完整查看。详见 references/contacts-commands.md

常见错误与处理

错误信息原因解决方案
API Key is required未配置 API Key停止当前业务操作,明确提醒用户去获取并配置 API Key;用户提供后执行 wjx init --api-key
Invalid API Key / "appkey error"Key 错误或过期明确提醒用户重新获取 API Key(见步骤 2),配置成功后继续原任务
vid is required未指定问卷 IDwjx survey list 获取 vid
Corp ID is required通讯录操作需企业 IDwjx init 配置 WJX_CORP_ID
Network Error / 超时网络不通或 base_url 错误wjx doctor 检查,--dry-run 预览
创建问卷题目丢失DSL 格式错误检查题号 + [题型标签],选项各占一行

参考文件(按需读取)

  • DSL 语法 — 旧 create-by-text 的 DSL 格式(已弃用,仅供历史代码参考)
  • 问卷命令 — survey 模块全部子命令参数、JSON 创建格式、设置
  • 答卷命令 — 查询筛选、submitdata 格式、下载选项
  • 通讯录命令 — 联系人、部门、管理员、标签、子账号、SSO
  • 分析命令 — NPS/CSAT/CES 公式、异常检测、数据解码
  • 题型编码 — 完整 q_type/q_subtype 映射表
  • 安装 Node.js — 各平台 Node.js 安装方式

Related skills

Create Wenjuanxing surveys, polls, exams, and forms through MCP, with response queries, exports, and NPS analysis.

21 installs

Create, edit, publish, and analyze surveys on wenjuan.com through CLI-driven workflows with four project types.

33 installs4 stars

Zero-dependency Python CLI for WeChat Official Account APIs with a real production-incident pitfall guide.

102 installs1 stars

macOS WeChat CLI + local HTTP bridge + Wechaty Puppet gRPC gateway — send messages, query sessions / contacts / chat history / images / favorites, and expose...

基于Playwright的浏览器自动化CLI,支持签到、填表、截图与信息抓取,适合个人用户。Use when 需要提升效率、自动化流程、批量处理、工作流优化时使用。不适用于需要人工创意判断的任务。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。

2 installs

Use when the user wants help with Qiguan campus bus tickets using the local qg CLI, including listing schedules, choosing Zhuhai/South/East campus routes, ge...

13 installs