Repository navigation
Conversation
lehuaner
force-pushed
the
plugin/saz-parser
branch
from
October 4, 2026 08:24
a015aff to
3b33248
Compare
lehuaner
marked this pull request as ready for review
October 4, 2026 08:34
- feat: saz-parser v0.2.4 - feat: saz-parser v0.2.4(同步 v0.5.8 发布记录到公开文档)
lehuaner
force-pushed
the
plugin/saz-parser
branch
from
October 4, 2026 14:04
3b33248 to
bc238dc
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
插件信息
_w.txt,原解析脚本未处理),按 L0–L3 四档生成体积可控(可设 token 预算、自动分卷)的分析包,含接口清单、字段结构、鉴权链与跨会话参数传递摘要;同时保留与原解析脚本同构的目录树导出。隐私字段默认完整保留,纯本地处理不联网、不调用任何模型。一句话定位:把几千条报文变成能交给 AI 分析、体积可控、且每条都能回溯到原始字节的素材。运行时零第三方依赖(解压/gzip/brotli/zstd 全走宿主内嵌 Node 的
zlib),不联网、不调用任何模型。下面每个数字都是本机 50 个真实
.saz归档(合计 793.4MB)上跑出来的实测结果,不是估算、不是预期。它解决什么问题
trimLog,每条都能回溯原始bodyRefraw/<sid>_w.txtTransfer-Encoding: chunked的分块框架没剥,正文混着长度行、压缩流必然解压失败JSON.parse失败,AI 拿到一坨未拆分文本data:实测 19 会话 / 5,030 事件 / 5,023 个data为合法 JSON;单会话最大 2,587 事件text/event-stream但正文没有data:前缀的会话,此前只交出"1 个空事件"fellBackFrom)。实测全包 21 条声明该头的会话命中 3 条,3/3 救回text/html)完全不处理detectedBy:'content'):实测 3,125 条候选命中 1 条,JS/CSS/HTML 假阳性 0本次变更(v0.2.4)
新增
saz_query的条件对象新增transferEncoding[]、chunkedOnly、eventStreamOnly(只读索引期响应头,零正文 IO;false是补集而非关闭)。data(复用已有返回体,不二次请求);被上游截断时明确提示"这里给的不是全文"。maxStreamEventsInFile(200) /maxWsFramesInFile(120) /streamMaxEvents(5000) /streamMaxValues(2000) /streamMaxDataChars(200000) 进入默认配置与导出面板。上限只控制逐条展开的行数,计数始终是全量。修复
text/event-stream但无data:)此前只交出"1 个事件、data 为空",三份 JSON 全堆在控制字段里。现自动回退为顶层多值拆分并留痕。实测 21 条声明该头的会话命中 3 条,3/3 救回。变更
{或["。依据实测成本:放宽到任意 JSON 值开头会让扫描从 39 次膨胀到 6,271 次(1,955 次被硬判据拒绝)而收益 0 条。verify60 → 74、verify-legacy18 → 24、verify-preload203 → 210;当前全量 74 / 56 / 24 / 210 / 20 共 384 条断言全绿,vue-tsc0 错。截图 / 演示
三张均为开发态假数据界面(域名
*.example.com、正文写DEV 事件、值形如demo-*),不含任何一条真实抓包内容:MCP 工具(5 个)
saz_parse(索引+概览,只读头部,秒级)、saz_query(条件取数,含传输层维度)、saz_body(已解码正文,隐私值原样返回、附 dechunk 留痕)、saz_ws(WebSocket 逐帧)、saz_stream(事件流/多值正文分页)。宿主不支持tools时,同一套能力仍可通过分析包文件与条件对象使用,功能不打折。自检清单
plugins/saz-parser/目录逐条依据(都可复核):
name=saz-parser(小写连字符)、title=SAZ 抓包解析、version=0.2.4、author=乐幻,2 个 feature 的code/cmds齐备,5 个工具名为小写 snake_case。preload/是未打包、未混淆的 CommonJS 源码,可直接审阅;无.env、无密钥、无嵌套 zip、无node_modules。plugins/saz-parser/下。~/.ztools/plugins/saz-parser并在 ZTools 3.x(Electron 41 / Chromium 146)跑通:索引、三档过滤、详情懒加载、事件流、WebSocket 帧、分析包导出、兼容层导出;5 个 MCP 工具已被宿主注册并调用过。LICENSE(MIT)。构建与打包说明
plugins/saz-parser/就是安装后的 1:1 内容:目录内没有build脚本,CI 侧npm install(无依赖)后直接打包本目录即可,产物与本地安装件等价(28 条目 / 499,259 字节,已用宿主自带的 adm-zip 与 Windows 解压做交叉验证,逐条目解压字节与源相等)。package.json只用于把preload/*.js钉在 CommonJS 语义上(Electron preload 的硬要求)。数据保真原则与已知限制
trimLog/90-anomalies.md/manifest.json),不静默丢数据;隐私字段只标注类型、值完整保留(默认不脱敏,因为它们是分析对象本身)。_导出清单.md的"有意不一致"里;chunked 场景另做了与历史产物逐条对拍的登记(该场景不能用"逐字节相等"对齐,因为原算法以文本模式写盘会改写\n)。.proto时 protobuf 正文只能保留原始字节(子协议名已记录在会话字段)。文档
plugins/saz-parser/docs/内是完整的《设计与开发文档》(1,139 行:需求与缺陷清单、决策记录、每条实测数字的取证口径、里程碑状态)。真实归档名与被抓包业务域名/业务名已替换为样本-NN/域名-NN/业务-NN/协议-NN别名,本机路径替换为占位符,所有数字原样保留,因此结论仍可逐条核对。此 PR 由 ztools-plugin-cli 自动管理:每次
ztools publish基于最新主仓库重建发布分支;打开的 PR 链接保持不变。