wjx-cli 0.1.18 → 0.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,208 +1,176 @@
1
- ---
2
- name: wjx-cli-use
3
- description: "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, manage contacts/departments/sub-accounts. Covers all 69 subcommands across 15 modules."
4
- ---
5
-
6
- # wjx-cli 使用指南
7
-
8
- wjx-cli 是问卷星 OpenAPI 的命令行工具。命令格式:`wjx <模块> <操作> [选项]`。
9
-
10
- 全局选项:`--api-key <key>` 覆盖凭据,`--table` 表格输出,`--dry-run` 预览请求不发送,`--stdin` 从管道读 JSON 参数。
11
-
12
- ## AI Agent 行为准则(必读)
13
-
14
- ### 规则 1:一个需求 = 一个问卷
15
-
16
- 无论用户要求多少种题型,**必须在一次 create-by-text 调用中包含所有题目**。
17
-
18
- - 正确:用户说"包含单选、多选、填空、量表" 一个 DSL 文本包含所有题目 → 调用一次
19
- - 错误:为每种题型分别调用 create-by-text → 产生多个问卷
20
-
21
- 一个问卷可以包含任意数量、任意类型的题目。没有"一种问卷只能包含一种题型"的限制。
22
-
23
- ### 规则 2:问卷类型 ≠ 题目类型
24
-
25
- "投票问卷"、"考试问卷"、"调查问卷"是**问卷类型**(atype),通过 `--type` 参数设置。题目仍然使用普通的题型标签。
26
-
27
- | 用户说 | 正确做法 | 错误做法 |
28
- |--------|---------|---------|
29
- | "投票单选" | `--type 3` + `[单选题]` | 寻找"投票单选"标签 |
30
- | "投票多选" | `--type 3` + `[多选题]` | 寻找"投票多选"标签 |
31
- | "考试填空" | `--type 6` + `[填空题]` | 寻找"考试填空"标签 |
32
-
33
- 不存在 `[投票单选题]`、`[投票多选题]` 这样的题型标签。"投票"描述的是问卷用途,不是题目类型。
34
-
35
- ### 规则 3:不支持的题型要明确告知
36
-
37
- 以下功能**不在 DSL/API 支持范围内**,遇到时应告知用户,不要反复尝试或创建替代问卷:
38
-
39
- | 不支持的题型 | 替代方案 |
40
- |-------------|---------|
41
- | 签名题 | `[绘图题]` 近似替代 |
42
- | 地区题/省市区选择 | API 不支持,建议用 `[多级下拉题]` 或网页端手动添加 |
43
- | NPS 专用题 | `[量表题]` + `0~10` 实现相同效果 |
44
- | 自动每题一页 | DSL 支持 `=== 分页 ===` 手动分页 |
45
-
46
- 遇到不支持的题型时,正确做法:
47
- 1. 告诉用户该题型不被支持,并建议替代方案
48
- 2. 继续创建问卷中其他可支持的题目
49
- 3. **不要**反复调用创建命令尝试不同方式,**不要**为不同题型分别创建多个问卷
50
-
51
- ### 规则 4:面向用户说自然语言,不说 CLI 命令
52
-
53
- 用户不需要知道 `wjx` 命令的存在。CLI 是你(AI)在后台执行的工具,**不要**在回复中展示 CLI 命令或命令行用法。
54
-
55
- - 正确:「问卷已创建,这是填写链接:https://...」
56
- - 错误:「你可以运行 `wjx survey list` 查看问卷列表」
57
-
58
- 唯一例外:用户明确问"怎么用命令行"或要求看具体命令时,可以展示。
59
-
60
- ## 快速路由
61
-
62
- | 用户意图 | 命令 |
63
- |---------|------|
64
- | 做调查/问卷 | `wjx survey create-by-text --text "..."` |
65
- | 做考试/测验 | `wjx survey create-by-text --text "..." --type 6` |
66
- | 做投票 | `wjx survey create-by-text --text "..." --type 3` |
67
- | 做表单/报名表 | `wjx survey create-by-text --text "..." --type 7` |
68
- | 看问卷结果 | 先 `wjx survey list` 找 vid,再 `wjx response report --vid <vid>` |
69
- | 导出答卷数据 | `wjx response download --vid <vid>` |
70
- | 分析 NPS | `wjx analytics nps --scores "[9,10,7,3]"` |
71
- | 导入联系人 | `wjx contacts add --users '[...]'`(需 `WJX_CORP_ID`) |
72
- | 查看问卷链接 | `wjx survey url --mode edit --activity <vid>` |
73
-
74
- ## 安装与配置
75
-
76
- 首次使用时按以下步骤执行。AI 应直接执行命令,不要求用户去终端操作。
77
-
78
- ### 步骤 1:检查并安装 Node.js 和 wjx-cli
79
-
80
- ```bash
81
- node --version
82
- ```
83
-
84
- 如果 Node.js 未安装或版本 < 20,需要先安装 Node.js。参见 [Node.js 安装指南](../wjx-cli/docs/install-nodejs.md),根据用户操作系统选择安装方式(优先使用 fnm 或 nvm)。
85
-
86
- Node.js 就绪后,安装 wjx-cli:
87
-
88
- ```bash
89
- npm install -g wjx-cli
90
- wjx --version
91
- ```
92
-
93
- ### 步骤 2:获取并配置 API Key
94
-
95
- API Key 需要用户手动获取(无法自动化)。
96
-
97
- **确定域名**:默认域名为 `www.wjx.cn`。如果用户使用自定义域名(如 `xxx.sojump.cn`),需替换下方链接中的域名。可先询问用户,或检查已有的 `~/.wjxrc` 配置中的 `base_url`。
98
-
99
- 1. 告诉用户打开以下链接,用微信扫码登录(将 `<域名>` 替换为实际域名):
100
- `https://<域名>/weixinlogin.aspx?redirecturl=%2Fnewwjx%2Fmanage%2Fuserinfo.aspx%3FshowApiKey%3D1`
101
- 默认:`https://www.wjx.cn/weixinlogin.aspx?redirecturl=%2Fnewwjx%2Fmanage%2Fuserinfo.aspx%3FshowApiKey%3D1`
102
- 2. 登录后页面会显示 API Key,让用户复制粘贴给你
103
- 3. 拿到 Key 后,直接执行(非交互模式):
104
-
105
- ```bash
106
- wjx init --api-key <用户提供的key>
107
- ```
108
-
109
- 如果用户使用自定义域名,追加 `--base-url`:
110
-
111
- ```bash
112
- wjx init --api-key <key> --base-url https://<域名>
113
- ```
114
-
115
- 凭据优先级:`--api-key` 参数 > `WJX_API_KEY` 环境变量 > `~/.wjxrc` 配置文件。通讯录操作另需 `WJX_CORP_ID`。
116
-
117
- ### 步骤 3:验证
118
-
119
- 配置完成后**必须执行** doctor 确认环境和连接正常:
120
-
121
- ```bash
122
- wjx doctor
123
- ```
124
-
125
- 所有检查项应为 ok。如果 API 连接失败,根据错误信息排查(参见下方"常见错误与处理")。
126
-
127
- ### 安装完成后的回复(重要)
128
-
129
- 验证通过后,**必须**向用户展示以下自然语言使用示例。**不要**向用户展示 CLI 命令——CLI 是你(AI)在后台使用的工具,用户只需要用自然语言告诉你需求。
130
-
131
- 请向用户回复:
132
-
133
- ```
134
- 安装完成!你现在可以直接告诉我你想做什么,比如:
135
- - 「帮我做一份客户满意度调查,包含 NPS 评分题」
136
- - 「出一套 JavaScript 基础测验,10 道选择题」
137
- - 「查看我的问卷列表」
138
- - 「分析一下这组 NPS 评分:9,10,7,3,8,10,6」
139
- - 「把问卷 12345 的答卷数据导出为 CSV」
140
- - 「帮我提交一份问卷的答案」
141
- - 「帮我把这批联系人导入到通讯录」
142
- ```
143
-
144
- ## 命令总览
145
-
146
- | 模块 | 命令 | 说明 |
147
- |------|------|------|
148
- | `survey` | list, get, create, create-by-text, delete, status, settings, update-settings, upload, export-text, url | 问卷增删改查与配置 |
149
- | `response` | query, realtime, download, submit, modify, clear, report, count | 答卷数据操作 |
150
- | `contacts` | query, add, delete | 联系人管理(需 WJX_CORP_ID) |
151
- | `department` | list, add, modify, delete | 部门管理 |
152
- | `admin` | add, delete, restore | 管理员管理 |
153
- | `tag` | list, add, modify, delete | 标签管理 |
154
- | `account` | list, add, modify, delete, restore | 子账号管理 |
155
- | `sso` | subaccount-url, user-system-url, partner-url | SSO 链接生成 |
156
- | `analytics` | decode, nps, csat, anomalies, compare, decode-push | 本地分析(无需 API Key) |
157
- | `init` / `doctor` / `whoami` | — | 配置 / 诊断 / 验证 |
158
-
159
- ## 核心工作流
160
-
161
- ### 创建问卷(DSL 文本格式)
162
-
163
- > **重要**:必须执行 `wjx survey create-by-text` 命令来创建问卷。只生成 DSL 文本而不执行命令,问卷不会被创建到问卷星平台上。
164
-
165
- ```bash
166
- wjx survey create-by-text --text "问卷标题
167
-
168
- 可选描述
169
-
170
- 1. 题目文本[单选题]
171
- 选项A
172
- 选项B
173
-
174
- 2. 另一个题目[填空题]"
175
- ```
176
-
177
- 问卷类型:`--type 1` 调查(默认),`3` 投票,`6` 考试,`7` 表单。
178
-
179
- **注意**:考试问卷的正确答案和每题分值**无法**通过 API 设置。创建考试后,应提供编辑链接 `wjx survey url --mode edit --activity <vid>`,指引用户在网页端手动配置答案与评分。
180
-
181
- 完整 DSL 语法(含 28 种题型标签)见 [references/dsl-syntax.md](references/dsl-syntax.md)。
182
-
183
- ### 答卷与分析
184
-
185
- 答卷操作需要先获取 vid(`wjx survey list`),再使用 `wjx response` 子命令。下载格式:`--suffix 0` CSV,`1` SAV,`2` Word。详见 [references/response-commands.md](references/response-commands.md)。
186
-
187
- ### 通讯录与账号
188
-
189
- 子账号角色:1=系统管理员, 2=问卷管理员, 3=统计查看, 4=完整查看。详见 [references/contacts-commands.md](references/contacts-commands.md)。
190
-
191
- ## 常见错误与处理
192
-
193
- | 错误信息 | 原因 | 解决方案 |
194
- |---------|------|---------|
195
- | `API Key is required` | 未配置 API Key | 执行 `wjx init --api-key <key>` |
196
- | `Invalid API Key` | API Key 错误或过期 | 重新获取 API Key(见安装步骤 2) |
197
- | `vid is required` | 未指定问卷 ID | 先 `wjx survey list` 获取 vid |
198
- | `Corp ID is required` | 通讯录操作需企业 ID | 执行 `wjx init`,配置 `WJX_CORP_ID` |
199
- | `Network Error` | 网络连接问题 | 检查网络,或用 `--dry-run` 预览请求 |
200
-
201
- ## 参考文件(按需读取)
202
-
203
- - [DSL 语法](references/dsl-syntax.md) — create-by-text 的完整 DSL 格式,28 种题型标签
204
- - [问卷命令](references/survey-commands.md) — survey 模块全部子命令参数、JSON 创建格式、设置
205
- - [答卷命令](references/response-commands.md) — 查询筛选、submitdata 格式、下载选项
206
- - [通讯录命令](references/contacts-commands.md) — 联系人、部门、管理员、标签、子账号、SSO
207
- - [分析命令](references/analytics-commands.md) — NPS/CSAT/CES 公式、异常检测、数据解码
208
- - [题型编码](references/question-types.md) — 完整 q_type/q_subtype 映射表
1
+ ---
2
+ name: wjx-cli-use
3
+ description: "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, manage contacts/departments/sub-accounts. Covers all 69 subcommands across 15 modules."
4
+ ---
5
+
6
+ # wjx-cli 使用指南
7
+
8
+ wjx-cli 是问卷星 OpenAPI 的命令行工具。命令格式:`wjx <模块> <操作> [选项]`。
9
+
10
+ 全局选项:`--api-key <key>` 覆盖凭据,`--table` 表格输出,`--dry-run` 预览请求不发送,`--stdin` 从管道读 JSON 参数。
11
+
12
+ ## AI Agent 行为准则(必读)
13
+
14
+ ### 规则 1:一个需求 = 一个问卷
15
+
16
+ 无论用户要求多少种题型,**必须在一次 `create-by-text` 调用中包含所有题目**。一个问卷可包含任意数量、任意类型的题目。
17
+
18
+ ### 规则 2:问卷类型 题目类型
19
+
20
+ "投票/考试/调查"是**问卷类型**(`--type` 参数),不是题型标签。`--type 3` + `[单选题]` = 投票单选,不存在 `[投票单选题]` 标签。
21
+
22
+ ### 规则 3:不支持的题型要明确告知
23
+
24
+ 签名题(用 `[绘图题]` 替代)、地区题(用 `[多级下拉题]` 或网页端添加)、NPS 专用题(用 `[量表题]` + `0~10`)不在 DSL 支持范围内。告知用户替代方案,继续创建其他题目,**不要**反复尝试或拆分多个问卷。
25
+
26
+ ### 规则 4:面向用户说自然语言,不说 CLI 命令
27
+
28
+ CLI 是你(AI)在后台执行的工具,**不要**在回复中展示命令或命令行用法。唯一例外:用户明确要求看命令时。
29
+
30
+ - 正确:「问卷已创建,这是填写链接:https://...」
31
+ - 错误:「你可以运行 `wjx survey list` 查看问卷列表」
32
+
33
+ ## 快速路由
34
+
35
+ | 用户意图 | 命令 |
36
+ |---------|------|
37
+ | 做调查/问卷 | `wjx survey create-by-text --text "..."` |
38
+ | 做考试/测验 | `wjx survey create-by-text --text "..." --type 6` |
39
+ | 做投票 | `wjx survey create-by-text --text "..." --type 3` |
40
+ | 做表单/报名表 | `wjx survey create-by-text --text "..." --type 7` |
41
+ | 看问卷结果 | `wjx survey list` vid,再 `wjx response report --vid <vid>` |
42
+ | 导出答卷数据 | `wjx response download --vid <vid>` |
43
+ | 分析 NPS | `wjx analytics nps --scores "[9,10,7,3]"` |
44
+ | 导入联系人 | `wjx contacts add --users '[...]'`(需 `WJX_CORP_ID`) |
45
+ | 查看问卷链接 | `wjx survey url --mode edit --activity <vid>` |
46
+
47
+ ## 安装与配置
48
+
49
+ 首次使用时按以下步骤执行。AI 应直接执行命令,不要求用户去终端操作。
50
+
51
+ ### 步骤 1:检查并安装 Node.js 和 wjx-cli
52
+
53
+ ```bash
54
+ node --version
55
+ ```
56
+
57
+ 如果 Node.js 未安装或版本 < 20,需要先安装。参见 [references/install-nodejs.md](references/install-nodejs.md),根据操作系统选择安装方式。
58
+
59
+ Node.js 就绪后:
60
+
61
+ ```bash
62
+ npm install -g wjx-cli
63
+ wjx --version
64
+ ```
65
+
66
+ ### 步骤 2:获取并配置 API Key
67
+
68
+ API Key 需要用户手动获取(无法自动化)。
69
+
70
+ **确定域名**:默认 `www.wjx.cn`。如果用户使用自定义域名(如 `xxx.sojump.cn`),替换下方链接中的域名。
71
+
72
+ 1. 让用户打开(`<域名>` 替换为实际域名,默认 `www.wjx.cn`):
73
+ `https://<域名>/weixinlogin.aspx?redirecturl=%2Fnewwjx%2Fmanage%2Fuserinfo.aspx%3FshowApiKey%3D1`
74
+ 2. 微信扫码登录后复制 API Key
75
+ 3. 拿到 Key 后执行:
76
+
77
+ ```bash
78
+ wjx init --api-key <用户提供的key>
79
+ ```
80
+
81
+ 自定义域名追加 `--base-url`:
82
+
83
+ ```bash
84
+ wjx init --api-key <key> --base-url https://<域名>
85
+ ```
86
+
87
+ 凭据优先级:`--api-key` 参数 > `WJX_API_KEY` 环境变量 > `~/.wjxrc` 配置文件。通讯录操作另需 `WJX_CORP_ID`。
88
+
89
+ ### 步骤 3:验证
90
+
91
+ ```bash
92
+ wjx doctor
93
+ ```
94
+
95
+ 所有检查项应为 ok。失败时参见下方"常见错误与处理"。
96
+
97
+ ### 安装完成后的回复(重要)
98
+
99
+ 验证通过后,**必须**向用户展示自然语言使用示例,**不要**展示 CLI 命令:
100
+
101
+ ```
102
+ 安装完成!你现在可以直接告诉我你想做什么,比如:
103
+ - 「帮我做一份客户满意度调查,包含 NPS 评分题」
104
+ - 「出一套 JavaScript 基础测验,10 道选择题」
105
+ - 「查看我的问卷列表」
106
+ - 「分析一下这组 NPS 评分:9,10,7,3,8,10,6」
107
+ - 「把问卷 12345 的答卷数据导出为 CSV」
108
+ - 「帮我提交一份问卷的答案」
109
+ - 「帮我把这批联系人导入到通讯录」
110
+ ```
111
+
112
+ ## 命令总览
113
+
114
+ | 模块 | 命令 | 说明 |
115
+ |------|------|------|
116
+ | `survey` | list, get, create, create-by-text, delete, status, settings, update-settings, upload, export-text, url | 问卷增删改查与配置 |
117
+ | `response` | query, realtime, download, submit, modify, clear, report, count | 答卷数据操作 |
118
+ | `contacts` | query, add, delete | 联系人管理(需 WJX_CORP_ID) |
119
+ | `department` | list, add, modify, delete | 部门管理 |
120
+ | `admin` | add, delete, restore | 管理员管理 |
121
+ | `tag` | list, add, modify, delete | 标签管理 |
122
+ | `account` | list, add, modify, delete, restore | 子账号管理 |
123
+ | `sso` | subaccount-url, user-system-url, partner-url | SSO 链接生成 |
124
+ | `analytics` | decode, nps, csat, anomalies, compare, decode-push | 本地分析(无需 API Key) |
125
+ | `init` / `doctor` / `whoami` | — | 配置 / 诊断 / 验证 |
126
+
127
+ ## 核心工作流
128
+
129
+ ### 创建问卷(DSL 文本格式)
130
+
131
+ > **重要**:必须执行 `wjx survey create-by-text` 命令来创建问卷。只生成 DSL 文本而不执行命令,问卷不会被创建到问卷星平台上。
132
+
133
+ ```bash
134
+ wjx survey create-by-text --text "问卷标题
135
+
136
+ 1. 题目文本[单选题]
137
+ 选项A
138
+ 选项B
139
+
140
+ 2. 另一个题目[填空题]"
141
+ ```
142
+
143
+ 问卷类型:`--type 1` 调查(默认),`3` 投票,`6` 考试,`7` 表单。
144
+
145
+ **考试问卷注意**:正确答案和每题分值**无法**通过 API 设置。创建后应提供编辑链接 `wjx survey url --mode edit --activity <vid>`,指引用户在网页端配置。
146
+
147
+ 完整 DSL 语法(含 28 种题型标签)见 [references/dsl-syntax.md](references/dsl-syntax.md)。
148
+
149
+ ### 答卷与分析
150
+
151
+ 先获取 vid(`wjx survey list`),再用 `wjx response` 子命令。下载格式:`--suffix 0` CSV,`1` SAV,`2` Word。详见 [references/response-commands.md](references/response-commands.md)。
152
+
153
+ ### 通讯录与账号
154
+
155
+ 角色:1=系统管理员, 2=问卷管理员, 3=统计查看, 4=完整查看。详见 [references/contacts-commands.md](references/contacts-commands.md)。
156
+
157
+ ## 常见错误与处理
158
+
159
+ | 错误信息 | 原因 | 解决方案 |
160
+ |---------|------|---------|
161
+ | `API Key is required` | 未配置 API Key | `wjx init --api-key <key>` |
162
+ | `Invalid API Key` / "appkey error" | Key 错误或过期 | 重新获取(见步骤 2) |
163
+ | `vid is required` | 未指定问卷 ID | 先 `wjx survey list` 获取 vid |
164
+ | `Corp ID is required` | 通讯录操作需企业 ID | `wjx init` 配置 `WJX_CORP_ID` |
165
+ | `Network Error` / 超时 | 网络不通或 base_url 错误 | `wjx doctor` 检查,`--dry-run` 预览 |
166
+ | 创建问卷题目丢失 | DSL 格式错误 | 检查题号 + [题型标签],选项各占一行 |
167
+
168
+ ## 参考文件(按需读取)
169
+
170
+ - [DSL 语法](references/dsl-syntax.md) — create-by-text 的完整 DSL 格式,28 种题型标签
171
+ - [问卷命令](references/survey-commands.md) — survey 模块全部子命令参数、JSON 创建格式、设置
172
+ - [答卷命令](references/response-commands.md) — 查询筛选、submitdata 格式、下载选项
173
+ - [通讯录命令](references/contacts-commands.md) — 联系人、部门、管理员、标签、子账号、SSO
174
+ - [分析命令](references/analytics-commands.md) — NPS/CSAT/CES 公式、异常检测、数据解码
175
+ - [题型编码](references/question-types.md) — 完整 q_type/q_subtype 映射表
176
+ - [安装 Node.js](references/install-nodejs.md) — 各平台 Node.js 安装方式
@@ -0,0 +1,36 @@
1
+ # 安装 Node.js
2
+
3
+ > wjx-cli 需要 Node.js **20 或更高版本**。
4
+
5
+ ## 检查是否已安装
6
+
7
+ ```bash
8
+ node --version
9
+ ```
10
+
11
+ 看到 `v20.x` 或更高即可。如果提示 "command not found" 或版本 < 20,按下面的方式安装。
12
+
13
+ ## macOS
14
+
15
+ ```bash
16
+ # 方式 1:使用 Homebrew(推荐)
17
+ brew install node@20
18
+
19
+ # 方式 2:使用 nvm(Node 版本管理器)
20
+ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
21
+ source ~/.bashrc # 或 source ~/.zshrc
22
+ nvm install 20
23
+ ```
24
+
25
+ ## Windows
26
+
27
+ 访问 https://nodejs.org/ ,下载 LTS 版本,双击安装,一路"下一步"即可。
28
+
29
+ 安装完成后**关闭并重新打开终端**,再次运行 `node --version` 确认。
30
+
31
+ ## Linux (Ubuntu/Debian)
32
+
33
+ ```bash
34
+ curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
35
+ sudo apt-get install -y nodejs
36
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wjx-cli",
3
- "version": "0.1.18",
3
+ "version": "0.1.19",
4
4
  "description": "问卷星 (Wenjuanxing) CLI — AI Agent 原生命令行工具",
5
5
  "main": "dist/index.js",
6
6
  "bin": {