核心功能
问卷网 Skill 是一套基于 Node.js 的本地化问卷管理工具,深度集成问卷网(wenjuan.com)官方 API,支持完整的问卷生命周期管理:
创建与发布:通过 workflow_create_and_publish.js 一键完成登录 → 创建 → 导入题目 → 发布 → 轮询审核全流程。支持四类项目:调研(survey)、测评/考试(assess)、投票/评选(vote)、表单/报名(form),需按类型传 --type 参数,不可混用。题目来源灵活:默认模板、本地 JSON 文件(-f/--text-file)、网络链接(--url)、标准输入(--stdin);Word/Excel/PDF 设计稿须先转为 JSON 再导入。
编辑管理:list_projects 列出现有问卷,fetch_project 获取完整结构,update_project 修改标题/欢迎语/结束语,edit_question.js/create_question.js/delete_question.js 进行题目级编辑。重要:编辑前会自动执行「停止收集 + 项目归档」保护机制,避免数据污染。
数据洞察:overview_stats 即时获取答卷数、浏览量、完成率等核心指标;get_report(open_report.js)默认自动浏览器打开可视化报表页 /report/topic/{project_id},支持 --no-open 仅输出链接;export_data 下载原始答卷数据。
显著优点
- 官方深度集成:直接调用问卷网核心 API,非爬虫方案,稳定性与数据准确性有保障
- 本地安全运行:Node.js 18+ 环境,凭证存储于本地
~/.wenjuan/(可自定义WENJUAN_TOKEN_DIR),敏感操作自主可控 - 智能工作流:新建问卷全自动处理登录、发布、审核轮询;编辑时强制「停收+归档」保护数据完整性
- 多场景覆盖:调研、测评(含趣味测试计分)、投票、表单四类型原生支持,题型与后台能力精准匹配
- 灵活导入:支持 JSON/txt/docx/xlsx/pdf 多种稿件格式转换,stdin/url 管道化输入适配自动化场景
局限与注意事项
- 登录依赖:需扫码登录获取 JWT Token,Token 过期(错误码 20055/401 等)需重新扫码;WorkerBuddy 等无头环境需配合
last_wenjuan_login_url.txt在本机浏览器完成授权 - 手机号绑定:首次发布强制要求绑定手机号,未绑定将报错
NOT_BIND_MOBILE - 编辑中断性:编辑操作前自动停止收集,完成后不会自动恢复,需手动重新发布
- 环境限制:纯 Node.js 方案,无图形界面时需额外处理浏览器授权流程;Windows/macOS/Linux 全支持但需 Bash 环境执行
setup.sh - 签名时效:报表下载与数据概况接口使用 MD5 签名,有效期较短需实时生成
适合人群
- 高频问卷用户:企业HR、市场研究员、高校教师、社群运营者等需批量创建、定期追踪数据的场景
- 自动化需求者:希望通过脚本/定时任务管理问卷、集成 CI/CD 发布流程的技术用户
- 数据敏感型用户:偏好本地凭证存储、不愿依赖纯 SaaS 网页操作的安全意识较强者
- 多类型项目管理者:同时运营调研、测评、投票、表单等多种业务线的综合用户
常规风险
| 风险类型 | 说明 | 缓释措施 |
|---------|------|---------|
| Token 泄露 | 本地 `token.json` 若被窃取可操作用户问卷 | 设置 `WENJUAN_TOKEN_DIR` 指向受限目录,定期清理过期凭证 |
| 误编辑生产数据 | 编辑前自动停收但不会自动恢复,可能中断数据收集 | 编辑前确认业务低峰期,完成后手动 `publish_survey(action=publish)` 恢复 |
| 版本滞后 | 未主动检查更新可能错过 API 变更适配 | 每日首次使用自动检查,或手动 `node scripts/check_version.js` |
| 扫码钓鱼风险 | WorkerBuddy 环境需本机浏览器打开二维码链接 | 严格核对域名 `wenjuan.com`,拒绝非官方来源的登录链接 |
| 签名参数暴露 | 调试日志可能打印含 `secret` 的签名过程 | 生产环境关闭 debug 模式,避免 `--json` 暴露完整响应 |