Asd:一款用Go编写的快速、AI原生的cat替代工具
asd是一款面向现代终端的智能通用文件查看器,通过自动检测文件类型并提供美观的渲染效果,替代传统的cat命令。它支持代码高亮、结构化数据格式化、表格展示、Markdown渲染、归档文件浏览、办公文档与PDF解析、媒体元数据查看、安全证书解析、Git集成、日志尾随、侧边对比等功能,并可通过智能管道输入自动识别内容类型。
asd 是一款由 Go 语言编写的 AI 原生文件查看器,旨在取代传统的 cat 命令,提供智能、美观的终端文件浏览体验。它利用 magic bytes 自动检测文件类型(并在必要时回退至扩展名识别),并以丰富的格式渲染文件内容:代码和文本带有基于 Chroma 的语法高亮、行号及主题支持;JSON、YAML、TOML 等结构化数据经过格式化并验证语法;CSV 和 TSV 文件被转换为自动调整大小的终端表格;Markdown 文件则通过 Glamour 引擎完全渲染样式。
除了常规文本与代码,asd 还能处理多种特殊文件格式。它可以直接浏览 zip、tar、tar.gz、7z 和 rar 等归档文件,并以交互式目录树显示未压缩的统计信息。对于 Office 文档(如 DOCX、XLSX、PPTX、ODT)和 PDF,asd 能自动提取并解析文本内容,无需手动解压。音频和视频文件可显示轨道元数据、编码和时长,而图像则在现代终端(如 iTerm2、WezTerm、Ghostty)中原生渲染,或在标准终端中以真彩色 ANSI 块优雅显示。安全方面,它支持 X.509 证书(PEM/CRT)和 SSH 密钥参数的自动解析。
asd 还包含许多高级功能:内置的 Git 差异显示可即时展示新增、修改和删除的行;使用 -F 标志可以实时尾随流式日志并保持语法高亮;智能的日志格式化能动态解析时间戳和日志级别并着色;--diff 模式提供漂亮的终端侧边对比视图;Tail/Follow 模式可实时跟踪日志文件。此外,用户可以通过 --clean 隐藏头部和行号以便干净复制,或使用 --no-pager 禁用自动分页。管道输入时,asd 自动识别内容类型并对输出进行高亮。
安装方面,asd 支持 Homebrew(macOS/Linux)、Go 安装(需要 Go 1.23 或更高版本)以及预编译二进制下载。用户可以通过全局配置文件 ~/.config/asd/config.toml 进行持久化自定义,例如设置默认的 Chroma 主题。项目采用 MIT 许可证开源,包含完整的开发与测试支持。