核心用法
TriggerCMD Skill 是一款面向 TRIGGERcmd 平台的远程命令执行工具,允许用户通过 REST API 跨设备管理和触发已注册的计算机命令。其核心功能分为两大模块:
命令枚举(list_commands):检索账户下所有计算机的已配置命令清单,输出包含计算机名称、命令名称、语音触发词、是否允许参数及 MCP 工具描述等元数据。支持按计算机分组展示,便于用户快速定位目标设备。
远程执行(run_command):通过 POST 请求向指定计算机发送命令触发指令,支持可选参数传递。采用 jq 构建 JSON Payload,有效防范注入攻击。
显著优点
- 双轨认证机制:同时支持环境变量(
TRIGGERCMD_TOKEN)与本地令牌文件(~/.TRIGGERcmdData/token.tkn)两种认证方式,前者适合临时会话,后者适合长期配置,灵活性高。 - 安全设计到位:强制要求令牌文件权限为
600(仅所有者可读),明确禁止在日志或输出中暴露令牌值,API 调用采用标准 Bearer Token 认证。 - 防注入保护:使用
jq -n配合--arg参数构造请求体,避免字符串拼接导致的 JSON 注入风险。 - 人机双模输出:既支持结构化 JSON 输出供程序解析,也支持人类可读的格式化列表,适应不同使用场景。
潜在缺点与局限性
- 依赖外部服务:完全依赖 TRIGGERcmd 云服务的可用性,本地网络中断或平台维护时将无法执行。
- 权限粒度粗:令牌一旦获取即具备账户级权限,无法针对单台计算机或单个命令进行细粒度授权,泄露风险较高。
- 无本地回显确认:命令触发后仅返回队列状态,无法实时获取目标计算机上的执行结果或退出码,调试能力受限。
- 参数类型限制:
allowParams虽标记是否接受参数,但未对参数格式、长度或内容进行校验,需用户自行确保合法性。
适合人群
- 已部署 TRIGGERcmd Agent 的多设备用户,需要集中管理家庭服务器、IoT 网关或开发机。
- 智能家居自动化爱好者,希望通过统一接口触发跨平台的脚本与程序。
- 具备基础 shell 与 API 操作经验的进阶用户,能够正确配置环境变量与文件权限。
常规风险
| 风险类型 | 说明 |
|---------|------|
| 令牌泄露 | 令牌文件权限配置不当或环境变量被意外导出至子进程,可导致账户被完全接管。 |
| 命令误触发 | 目标计算机名称或命令名称输入错误,可能在非预期设备上执行操作。 |
| 副作用不可逆 | 若配置的命令包含删除、关机、网络配置变更等操作,触发后无法撤回。 |
| 依赖泄露 | `curl` 与 `jq` 的调用可能通过 shell 历史、进程列表泄露令牌或命令细节。 |
建议用户在首次使用前通过 list_commands 进行 Dry-run,确认目标计算机与命令映射关系,并优先在低权限账户下测试。