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 許可證開源,包含完整的開發與測試支持。