为 AI 智能体打造的 CLI · Windows · Linux · macOS
10 条命令,
一击搞定。
你的 AI 智能体在临时拼凑 shell 命令上浪费轮次:这里查 Git,那里读清单文件,还有 DNS、TLS、HTTP、磁盘扫描、查找重复文件——而且每个操作系统写法都不一样。QZX 用一条跨平台命令完成这些工作,并返回可直接行动的答案。对你清晰易读,对智能体是结构化 JSON。
- 工具调用
- 21 → 3少 18 次往返
- 智能体需编写的 shell
- 减少 28×664 → 24 个 token
- 速度提升
- 1.9×26.4 s → 13.6 s
QZX / 记录示例
$qzx diagnoseProject . --json
下一步检查pytest · ruff已配置 · 未运行
查看 JSON { }
{
"success": true,
"details": {
"technologies": [
"Python"
],
"dependencies": {
"unique_declared_package_count": 1,
"unique_packages": [
"httpx"
]
},
"version_control": {
"status": "not_repository"
},
"file_scan": {
"scanned_file_count": 3,
"scan_complete": true
},
"summary": {
"issue_count": 1,
"verification": {
"release_readiness": "not_assessed"
}
},
"validation": {
"tests": {
"status": "configured_not_run"
},
"lint": {
"status": "configured_not_run"
}
}
}
}
记录样本:project-doctor。从真实结果中选取的字段。
$qzx diagnoseStorage . --min-file-size 1KB --max-files 10 --duplicate-min-size-kb 1 --max-depth 2 --json
✓ 只读诊断,未删除任何文件。
查看 JSON { }
{
"success": true,
"read_only": true,
"partial": false,
"scan_scope": {
"max_depth": 2,
"large_file_min_size": "1KB"
},
"assessment": {
"capacity_status": "critical",
"percent_used": 99.4,
"free_readable": "19.85 GB",
"duplicate_groups": 1,
"confirmed_reclaimable_bytes": 9984,
"reclaimable_space_basis": "logical_content_bytes",
"physical_reclaimable_bytes": null
}
}
记录样本:storage-triage,深度 2,文件 ≥1 KB。容量来自已记录的主机。
$qzx checkUrlStatus <url> 10 --json
可据以行动的 HTTP 响应
请求成功了,页面却没有。
HTTP404页面未找到
✓检查已完成success: true
!页面不可用is_online: false
下一步:检查 URL 和服务器路由。
查看 JSON { }
{
"success": true,
"is_online": false,
"status_code": 404
}
受控的本地 HTTP 404 示例。此处不会实时检查你的网站。
文档流水线记录的结果。JSON 为经审阅的摘录。 了解结果契约 ↗
安装、验证、就绪。Alpha 0.2.2.0.15
python -m pip install --upgrade qzx
qzx getCurrentDateTime --output-format iso --json
想要隔离安装?
使用 pipx 让 QZX 与项目的 Python 依赖相互隔离。
免费开源 · 无需账号 · Alejandro Sánchez
实测,而非想象
同样的证据,
一条命令。
我们在同一台机器上用两种方式运行每项诊断:一种是智能体逐次工具调用输入的原生命令,另一种是单条 QZX 命令。选择一项任务,观看它们的对决。
不用 QZX · PowerShell10 条命令 · 10.3 s
git -C '.' status --short --branchgit -C '.' log --oneline -5git -C '.' remote -vGet-ChildItem '.' -Recurse -File | Where-Object FullName -notmatch '\\.git\\' | Group-Object Extension | Sort-Object Count -Descending | Select-Object -First 10 Name,CountGet-ChildItem '.' -File | Where-Object Name -in 'pyproject.toml','setup.py','setup.cfg','requirements.txt','package.json','Cargo.toml','go.mod','composer.json' | Select-Object NameGet-Content './pyproject.toml'Get-ChildItem '.' -File | Where-Object Name -in 'pytest.ini','tox.ini','ruff.toml','.ruff.toml','Makefile','noxfile.py' | Select-Object Namepython --versionGet-ChildItem '.' -Recurse -File | Where-Object FullName -notmatch '\\.git\\' | Sort-Object Length -Descending | Select-Object -First 10 FullName,LengthGet-ChildItem '.' -Recurse -File -Include *.py | Select-String -Pattern 'TODO|FIXME' | Measure-Object | Select-Object Count
……而 Linux (10) 和 macOS (10) 上写法又各不相同
Linux
git status --short --branchgit log --oneline -5git remote -vfind . -type f -not -path './.git/*' | sed -n 's/.*\.//p' | sort | uniq -c | sort -rn | headls pyproject.toml setup.py setup.cfg requirements.txt package.json Cargo.toml go.mod 2>/dev/nullcat pyproject.tomlls pytest.ini tox.ini ruff.toml .ruff.toml Makefile noxfile.py 2>/dev/nullpython3 --versionfind . -type f -not -path './.git/*' -printf '%s %p\n' | sort -rn | headgrep -rIn --include='*.py' -E 'TODO|FIXME' . | wc -l
macOS
git status --short --branchgit log --oneline -5git remote -vfind . -type f -not -path './.git/*' | sed -n 's/.*\.//p' | sort | uniq -c | sort -rn | headls pyproject.toml setup.py setup.cfg requirements.txt package.json Cargo.toml go.mod 2>/dev/nullcat pyproject.tomlls pytest.ini tox.ini ruff.toml .ruff.toml Makefile noxfile.py 2>/dev/nullpython3 --versionfind . -type f -not -path './.git/*' -exec stat -f '%z %N' {} + | sort -rn | headgrep -rIn --include='*.py' -E 'TODO|FIXME' . | wc -l
10 个片段,要在第一次修改前拼凑起来。
使用 QZX · 任意系统1 条命令 · 8.0 s
$qzx diagnoseProject .
- 技术栈
- 依赖
- 环境
- 测试与 lint
- Git 状态
- 源码分析
- 大文件
- 发现
1.3× 更快。 一份简报,包含发现的问题和下一步检查。
不用 QZX · PowerShell8 条命令 · 11.9 s
Resolve-DnsName example.com -Type AResolve-DnsName example.com -Type AAAAResolve-DnsName example.com -Type CNAMEResolve-DnsName example.com -Type MXResolve-DnsName example.com -Type TXTResolve-DnsName example.com -Type NS$c = [Net.Sockets.TcpClient]::new('example.com', 443); $s = [Net.Security.SslStream]::new($c.GetStream(), $false, { $true }); $s.AuthenticateAsClient('example.com'); $x = [Security.Cryptography.X509Certificates.X509Certificate2]$s.RemoteCertificate; $ch = [Security.Cryptography.X509Certificates.X509Chain]::new(); [pscustomobject]@{ Subject = $x.Subject; Issuer = $x.Issuer; NotAfter = $x.NotAfter; Trusted = $ch.Build($x); Protocol = $s.SslProtocol; Cipher = $s.NegotiatedCipherSuite }; $c.Close()$t = Measure-Command { $r = Invoke-WebRequest 'https://example.com' -Method Head -UseBasicParsing }; [pscustomobject]@{ Status = $r.StatusCode; Ms = $t.TotalMilliseconds; Server = $r.Headers.Server }
……而 Linux (8) 和 macOS (8) 上写法又各不相同
Linux
dig +short A example.comdig +short AAAA example.comdig +short CNAME example.comdig +short MX example.comdig +short TXT example.comdig +short NS example.comecho | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -subject -issuer -dates -ext subjectAltNamecurl -sS -o /dev/null -I -w '%{http_code} %{time_total}\n' https://example.com
macOS
dig +short A example.comdig +short AAAA example.comdig +short CNAME example.comdig +short MX example.comdig +short TXT example.comdig +short NS example.comecho | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -subject -issuer -dates -ext subjectAltNamecurl -sS -o /dev/null -I -w '%{http_code} %{time_total}\n' https://example.com
其中还有一行在紧急时刻没人记得住的 .NET TLS 命令。
使用 QZX · 任意系统1 条命令 · 3.9 s
$qzx diagnoseWebsite https://example.com
- DNS 记录
- TLS 证书
- 证书链信任
- 主机名匹配
- HTTP 状态
- 响应时间
- 故障层
- 下一步
3.0× 更快。 直接告诉你哪一层出了问题。
不用 QZX · PowerShell3 条命令 · 4.2 s
Get-PSDrive -Name ((Resolve-Path '.').Drive.Name) | Select-Object Used,FreeGet-ChildItem '.' -Recurse -File -Depth 6 | Where-Object Length -ge 100MB | Sort-Object Length -Descending | Select-Object -First 20 FullName,LengthGet-ChildItem '.' -Recurse -File -Depth 6 | Where-Object Length -ge 10MB | Group-Object Length | Where-Object Count -gt 1 | ForEach-Object { $_.Group | Get-FileHash -Algorithm SHA256 } | Group-Object Hash | Where-Object Count -gt 1 | Select-Object Count,@{n='Files';e={$_.Group.Path}}
……而 Linux (3) 和 macOS (3) 上写法又各不相同
Linux
df -h .find . -maxdepth 6 -type f -size +100M -printf '%s %p\n' | sort -rn | head -n 20find . -maxdepth 6 -type f -size +10M -exec sha256sum {} + | sort | uniq -w64 -D
macOS
df -h .find . -maxdepth 6 -type f -size +100M -exec stat -f '%z %N' {} + | sort -rn | head -n 20find . -maxdepth 6 -type f -size +10M -exec shasum -a 256 {} + | sort | uniq -w64 -D
冗长的管道,重复文件也只靠哈希比对。
使用 QZX · 任意系统1 条命令 · 1.7 s
$qzx diagnoseStorage .
2.5× 更快。 只读:不会删除任何文件。
测量方法:于 2026-10-08,在 Windows 11 10.0.26200 上使用 QZX 0.2.2.0.14。每条原生命令都在新的 PowerShell 7 进程中运行,相当于智能体的一次独立工具调用,并采用精简的列选择以偏向原生一方。token 使用 tiktoken o200k_base 统计。Linux 与 macOS 写法仅供参考,未计时。QZX 的结果还附带结论——评分、故障层、建议——而原生输出则需要智能体自行推理。
工作原理
智能体只需请求一次,平台差异交给 QZX。
QZX 是一个开源的 Python 命令行工具。你或你的智能体调用一条有文档的命令,QZX 负责处理 Windows、Linux 或 macOS 上的平台细节,并在任何地方以相同的结构作答:给人看的可读摘要,或通过 --json 给程序的结构化 JSON。
- 1
安装
用 pip 或 pipx 从 PyPI 安装一个包。无需账号、服务器或后台进程。
- 2
说出任务
按名称调用命令,例如 qzx inspectPort 3000。在所有受支持的系统上写法都一样。
- 3
阅读或解析
人看摘要。智能体加上 --json,检查 success,读取 message,并使用带类型的证据。
一条有文档的命令可以在多台主机上完成受支持的工作,同时让结果的共享核心保持可预测。平台限制和命令特有的证据都会明确列出。
十二项日常任务
一条 QZX 命令,对应三种不同的原生写法。
每张卡片都列出了没有 QZX 时你或你的智能体需要输入的命令(Windows、Linux 和 macOS 各不相同),以及完成同一任务的那一条 QZX 命令。下面所有 QZX 命令都是只读的,并且在制作本页时实际运行过。
系统
谁占用了 3000 端口?
空闲还是被占用,以及所属进程——只检查,绝不结束进程。
不用 QZX
WindowsGet-NetTCPConnection -LocalPort 3000 -State Listen | % { Get-Process -Id $_.OwningProcess }
Linuxss -ltnp 'sport = :3000'
macOSlsof -nP -iTCP:3000 -sTCP:LISTEN
使用 QZX
qzx inspectPort 3000
命令文档 ↗
网络
这个 TLS 证书正常吗?
有效期、证书链信任、主机名覆盖、TLS 版本和剩余天数,全部以字段返回。
不用 QZX
Windows默认没有 OpenSSL:需要自己写一个 .NET SslStream 脚本
Linux · macOSopenssl s_client -connect example.com:443 -servername example.com </dev/null | openssl x509 -noout -dates -subject -ext subjectAltName
使用 QZX
qzx checkSslCertificate example.com
命令文档 ↗
网络
DNS 记录是什么情况?
A、AAAA、MX、TXT、NS 和 CNAME,一次调用,一个结果。
不用 QZX
Windows'A','AAAA','MX','TXT','NS','CNAME' | % { Resolve-DnsName example.com -Type $_ }
Linux · macOSfor t in A AAAA MX TXT NS CNAME; do dig +short example.com $t; done
使用 QZX
qzx checkDns example.com
命令文档 ↗
文件
哪些文件完全重复?
先比大小和 SHA-256,再逐字节确认。不会删除任何文件。
不用 QZX
WindowsGet-ChildItem Pictures -Recurse -File | Get-FileHash | Group-Object Hash | ? Count -gt 1
Linuxfind Pictures -type f -exec sha256sum {} + | sort | uniq -w64 -D
macOSfind Pictures -type f -exec shasum -a 256 {} + | sort | awk 'seen[$1]++'
使用 QZX
qzx findDuplicateFiles Pictures
命令文档 ↗
文件
这里最大的文件是哪些?
按大小和日期筛选、排序并限制数量,每个文件都附带结构化元数据。
不用 QZX
WindowsGet-ChildItem Downloads -Recurse -File | ? Length -gt 100MB | Sort-Object Length -Desc | Select-Object -First 20
Linuxfind Downloads -type f -size +100M -printf '%s %p\n' | sort -nr | head -20
macOSfind Downloads -type f -size +100M -exec stat -f '%z %N' {} + | sort -nr | head -20
使用 QZX
qzx findFiles Downloads "*" --min-size 100MiB --sort-by size --descending true --limit 20
命令文档 ↗
文件
这个下载和校验值一致吗?
默认 SHA-256,也可以要求 MD5 或 SHA-1——所有系统上都是同一个命令。
不用 QZX
WindowsGet-FileHash release.zip -Algorithm SHA256
Linuxsha256sum release.zip
macOSshasum -a 256 release.zip
使用 QZX
qzx calculateFileHash release.zip
命令文档 ↗
开发
这个仓库现在是什么状态?
分支、远程、待提交的更改和最近的提交,一份结构化快照。
不用 QZX
任何系统git branch --show-current; git remote -v; git status --porcelain; git log -5 --oneline
命令文档 ↗
开发
给我看看项目结构。
有深度限制的目录树:给你 ASCII,给智能体 JSON,不跟随符号链接。
不用 QZX
Windowstree /F src
Linuxtree -L 3 src
macOSbrew install tree && tree -L 3 src
使用 QZX
qzx getProjectTree src 3
命令文档 ↗
开发
这个环境变量在哪里被用到?
代码中的引用以及 .env 和 .env.example 模板,汇总在一份报告里。
不用 QZX
WindowsGet-ChildItem -Recurse -File -Include *.py,*.js,*.ts,.env* | Select-String DATABASE_URL
Linux · macOSgrep -rn DATABASE_URL --include='*.py' --include='*.js' --include='*.ts' --include='.env*' .
使用 QZX
qzx traceEnvVar DATABASE_URL
命令文档 ↗
开发
有没有循环导入?
递归追踪模块导入,并指出发现的每一个循环。
不用 QZX
任何系统没有内置等价功能:需要另装各语言专用的工具
使用 QZX
qzx traceCircularImports src
命令文档 ↗
系统
是什么在占用内存?
按内存排序的进程,在所有系统上字段都一样。
不用 QZX
WindowsGet-Process | Sort-Object WS -Descending | Select-Object -First 10
Linuxps aux --sort=-%mem | head -n 11
macOSps aux -m | head -n 11
使用 QZX
qzx listProcesses null memory 10
命令文档 ↗
系统
到底运行的是哪个 python?PATH 有没有问题?
列出 PATH 中所有匹配项,并标出失效和重复的条目。
不用 QZX
Windowswhere.exe python; $env:Path -split ';' | ? { $_ -and -not (Test-Path $_) }
Linux · macOSwhich -a python; echo "$PATH" | tr ':' '\n' | while read d; do [ -d "$d" ] || echo "$d"; done
使用 QZX
qzx checkSystemPath python
命令文档 ↗
浏览全部 89 条命令 ↗
开发者和团队为何转用 QZX
运行快速,使用舒适,能力充足。
⚡
更少轮次,更少 shell,更多成果
每次工具调用都意味着模型多一轮。QZX 把多步诊断合并为一步,智能体编写的 shell 减少 28×(664 → 24 个 token),少走 18 次往返,而且结论已经算好。
21 → 3
⏱
端到端更快
一个进程替代一连串 shell。在三项诊断中整体快 1.9×,排查网站故障时快 3.0×。
3.0×
🌍
一套命令,三大系统
不必再按操作系统给提示词分支。
Resolve-DnsNamedigopenssl s_clientqzx diagnoseWebsite
🧰
89 条已发布命令,持续增加
系统、网络、文件、Git、开发、存储和项目脚手架——一次安装全搞定。
探索工具集 ↗
🛡
默认安全
诊断均为只读。会做出更改的命令先预览,并保留备份与审批屏障。
安全与遥测 ↗
{ }
智能体可以信赖的契约
每个 --json 结果都带有明确的 success、有用的 message 以及带类型的证据。无需抓取表格,也不必靠退出码猜测。schema 公开且可下载。
了解结果契约 ↗
从真实问题开始
在下一次改动之前就派上用场。
选择手头的任务,先做只读诊断,再决定下一步。
⌘替代 10 条命令
让陌生项目变得熟悉。
在智能体开始修改之前,先了解技术栈、依赖、Git 状态和具体问题。
qzx diagnoseProject .
查看项目工作流 ↗
◫替代 3 条管道
找出占满磁盘的元凶。
检查容量、大文件和重复证据,删除任何东西之前先弄清选项。
qzx diagnoseStorage .
查看存储工作流 ↗
◎替代 8 条命令
不止于“网站挂了”。
一次检查 DNS、证书和 HTTP,顺着证据进行下一步检查。
qzx diagnoseWebsite <url>
查看网站工作流 ↗
任何人都能实现的开放契约
无需解析文字,智能体就能信任的答案
每个 JSON 结果都有明确的布尔值 success 和有用且非空的 message。随后每条命令再加上带类型的证据——这里是一次真实的证书检查——而不是一大段需要智能体去理解的文字。
{
"success": true,
"message": "SSL certificate diagnostic for 'example.com:443': …",
"host": "example.com",
"is_valid": true,
"chain_trusted": true,
"hostname_match": true,
"days_remaining": 78,
"ssl_version": "TLSv1.3",
"subject_alt_names": ["example.com", "*.example.com"],
"meta": { "command": "checkSslCertificate", "duration_ms": 216.817, "schema_version": 1 }
}
摘自 2026 年 10 月 8 日一次真实运行的 qzx checkSslCertificate example.com --json。
为键盘两端的人而打造
为终端前的开发者,也为管理机群的企业。
开发者
给智能体一条长期规则:优先使用 QZX。
- 支持 Codex、Claude Code、Gemini CLI 以及任何带终端的智能体。
- 同一条指令在 Windows 笔记本和 Linux 服务器上都能用。
- 你运行时输出清晰易读,智能体运行时输出严格的 JSON。
五分钟配置好你的 AI 智能体 ↗
企业
统一智能体检查机器的方式。
- 在 Windows、Linux 和 macOS 上统一、可审计的命令体系。
- 自动化可以记录、比对并据以行动的结构化证据。
- Apache-2.0,无需账号,无锁定。可由作者提供定制集成。
聊聊你的使用场景 ↗
了解边界,再选择 QZX
QZX 是一个本地命令接口,不是沙箱,也不保证与原生工具完全等价。当有文档的命令能覆盖你的操作、而一致的结果契约有帮助时,请优先使用它。对于 QZX 没有建模的能力,请使用原生 API 或 shell。
已在 PyPI 发布:QZX 0.2.2.0.15 · wheel 中包含 89 项能力 · Python >=3.11
从好奇到终端
让下一条命令成为 QZX 命令。
安装正式版本,运行第一次检查,让智能体用一次调用完成过去 10 次调用的工作。