MIT 开源 · 作者 zhengkanghua。 · MIT · Tauri + Vue

ZapCmd

强调速度、安全基线与可重复工作流的桌面命令启动器。

搜索 → 参数 → 暂存 → 执行。行为可追踪、可测试。

Search → Param → Staging → Execute 安全护栏 i18n 会话恢复

作者: zhengkanghua / 提交问题

ZapCmd 图标

浏览器内预览

交互 Demo(模拟)

体验搜索、参数、暂存队列与安全护栏 —— 不会执行任何命令。

搜索

分词 AND · 排序 · 高亮

安全护栏

高危确认 · 注入拦截

暂存队列

暂存后批量执行

用户命令

JSON 文件 · id 覆盖

# 示例模板
git log --oneline --max-count {count}
docker stop {container}
docker system prune -f  # RISKY

工作流

为开发者日常操作设计的一套清晰、可重复的流程。

01

搜索

输入关键词,按标签快速过滤。

02

参数

执行前在 UI 填参数,降低误操作。

03

暂存

把多条命令暂存成队列,批量执行。

04

执行

在系统终端执行,并提供安全护栏。

功能亮点

信息密度足够高,但不会变成“巨型设置面板”。

安全基线

高危命令确认 + 参数注入拦截。

暂存队列

多命令暂存,支持批量执行。

运行时加载

内置 + 用户命令文件,来源清晰可追踪。

命令管理

启停、来源文件筛选、覆盖标记。

多语言(运行时切换)

zh-CN + en-US,支持持久化。

会话恢复

重启后恢复暂存队列。

交互演示

在浏览器里体验完整流程:演示为模拟,不会执行任何命令。

命令 Schema →
交互 Demo(模拟)

搜索 → 参数 → 暂存 → 执行

输入关键词筛选命令,填写参数,加入队列,然后执行。

结果 · 0

空格 = 分词 AND

当前命令

模板

参数

预览

这是模拟演示,不会执行任何命令。

暂存队列

暂存多条命令,然后一键批量执行。

输出

执行仅为演示模拟,便于展示。

用户命令(JSON 文件)

把 JSON 文件放到 ~/.zapcmd/commands;若 id 冲突,用户命令会覆盖内置命令。

{
  "commands": [
    {
      "id": "custom-hello-win",
      "name": "Custom Hello",
      "tags": ["custom", "hello"],
      "category": "custom",
      "platform": "win",
      "template": "Write-Output \"hello from user commands\"",
      "shell": "powershell",
      "adminRequired": false
    }
  ]
}

搜索与安全基线

为日常操作的速度而设计,同时保证行为可控、可追踪。

  • 1. 大小写不敏感的包含匹配(title/description/preview)。
  • 2. 空格分词后使用 AND(所有 token 都需匹配)。
  • 3. 高危命令确认 + 参数注入拦截。
  • 4. 暂存多条命令,在系统终端一键批量执行。
# 护栏示例
rm -rf /           # 需要确认
docker system prune -f  # 需要确认
echo hi && whoami  # 拦截(注入)

安装与运行

从 GitHub Releases 下载,校验完整性,然后开始提速。

  • 1. 下载对应系统的安装包。
  • 2. 使用 Release 附带的 SHA256SUMS 校验。
  • 3. macOS 安装包当前未签名/未公证,首次启动可能需要手动放行。

从源码运行(开发)

需要 Node.js + Rust 工具链 + 系统对应的 Tauri 依赖。

npm install
npm run tauri:dev
# 工程门禁
npm run check:all

更快交付,更少误操作。

ZapCmd 免费开源。欢迎 Star、提 Issue 或提交 PR —— 小步迭代,真实收益。