核心用法
strawpoll-cli 是 StrawPoll API v3 的官方命令行客户端,提供三类投票管理能力:
多选投票 (Multiple-Choice):创建标准投票、设置多选限制/防刷规则/截止时间、管理选项与结果查看
会议投票 (Meeting):基于日期或时间段创建可用性调研,支持多时区与地点设置
排序投票 (Ranking):Borda 计数法的优先级投票,适合决策排序场景
工具采用 Go 开发,支持 Homebrew 安装与 Go 直接安装。认证通过 API Key 完成,支持系统密钥环或环境变量注入。
显著优点
- 全功能覆盖:完整支持三种投票类型的创建、查看、更新、删除、重置
- 开发者友好:提供 JSON/Plain/Table 三种输出格式,支持 jq 管道处理与自动化脚本
- 交互体验:终端 TTY 环境下自动启动向导模式,降低使用门槛
- 配置持久化:支持默认参数配置,避免重复输入
- 安全存储:API Key 优先使用系统密钥环,非明文存储
- Shell 补全:原生支持 Bash/Zsh/Fish 自动补全
潜在局限
- 无投票功能:仅支持管理端操作,实际投票必须通过浏览器完成
- 依赖外部服务:完全依赖 StrawPoll 云服务,无离线或自建选项
- 选项数量限制:单投票最多 30 个选项
- 速率限制未明:文档未提及 API 调用配额
适合人群
- 技术团队需要快速发起内部投票/会议协调
- DevOps/SRE 需在 CI/CD 或运维脚本中集成投票工作流
- 远程团队进行异步决策与可用性收集
常规风险
- API Key 泄露:环境变量方式存在被进程窥探或日志泄露风险,建议优先使用密钥环
- 误删数据:
delete/reset命令默认有确认保护,但--force标志可绕过,需谨慎使用 - 时区处理:会议投票依赖 IANA 时区字符串,配置错误可能导致时间歧义