v0.2.5 — Arsenal 工具管理 + TUI 重设计 + 命令接口统一 + PTY 平台整合
新增 Arsenal(crtm)安全工具包管理器;Playwright 新增 -s 全局 session flag;TUI verbose 渲染全面重设计;命令接口统一为全局 OutputWriter;4 平台 PTY 文件整合为单一 go-pty wrapper。
Arsenal — crtm 安全工具包管理器
arsenal install/update/remove:幂等操作,manifest 瞬时版本查询- bash pseudo-command 执行模型,安装后自动注入
$PATH
!arsenal list # 查看所有工具 + 安装状态
!arsenal search subdomain # 关键词搜索
!arsenal install httpx # 安装(自动下载 + PATH 注入)
!arsenal install nuclei --version v3.3.0 # 指定版本
!httpx -l targets.txt -silent # 安装后立即可用
!arsenal update httpx # 更新到最新
!arsenal add projectdiscovery/subfinder # 添加第三方仓库Playwright — -s 全局 session flag
所有子命令支持 -s=<name> 指定目标 session,对齐 playwright-cli 习惯:
playwright -s=mySession click "button"
playwright -s=s1 gotoTUI — verbose 渲染重设计
- ▸/✓/✗ 标记替代 ⎿/│ 盒线,结构化 key-value 参数展示
- turn 统计新增 cache hit ratio、耗时颜色编码、并行 tool 标记
- agent 结束汇总 tool 调用统计,eval verdict 结构化展示
-vv禁用输出截断,显示完整 tool result
Architecture
- 命令接口统一:
Command.Execute移除io.Writer参数,全局OutputWriter+ exec hooks - PTY 平台整合:4 平台文件 → 单一
go-ptywrapper,finishSession()去重 - IOA 简化:8 个导出函数 → 4 个(统一 writer 参数)
FetchToolwrapper 移除,死代码清理
Robustness
- Agent retry 覆盖 HTTP 406 等瞬态错误
Bug Fixes
- 修复 pseudo-command 输出丢失(缺少 SetExecHooks)
- 修复
go.mod本地 replace 路径导致 CI 失败 - 解决全部 golangci-lint 错误
- DirectScanner 数据竞争修复
Breaking Changes
Command.Execute签名:Execute(ctx, args) error(移除io.Writer参数)FetchTool移除,fetch改为普通 Command
Full Changelog: v0.2.3...v0.2.5