unbash 是一个用 TypeScript 写的零依赖 Bash 解析器,能把 Shell 源码转成带类型和源码位置的抽象语法树。命令、管道等语法都能覆盖,并且能够容忍错误和不完整的语法。
点评:这类工具以前几乎被 tree-sitter 垄断,但 tree-sitter 要带原生插件或者 WASM 运行时,在浏览器和 Serverless 环境里部署起来很别扭,unbash 使用纯 TypeScript 同步实现绕开了这个包袱。Agent 现在会大量生成和执行 Shell 命令,要在执行前做静态审计、判断某条命令会不会有风险、会调用哪些可执行文件,就需要一个轻量的解析层。