# 现代化命令替代功能说明 ## 🎯 功能概述 AI Shell v0.2.0 新增了现代化命令替代功能,可以让 AI 优先推荐更现代、更高效的命令行工具,提升用户体验和工作效率。 ## ✨ 主要特性 - 🔧 **智能检测**: 自动检测系统中已安装的现代化工具 - ⚙️ **灵活配置**: 支持自定义命令替代映射 - 🎯 **AI 优化**: 将现代化命令偏好集成到 AI 提示词中 - 📊 **状态显示**: 通过 `ai --config` 查看当前配置状态 - 🔄 **动态更新**: 支持环境变量实时配置 ## 📋 默认支持的现代化工具 ### 文件操作 - `ls` → `eza` - 现代化的 ls 替代品,支持图标和颜色 - `cat` → `bat` - 带语法高亮的 cat - `find` → `fd` - 更快更友好的 find - `tree` → `tree` - 保持原样(已经很现代) ### 文本处理 - `grep` → `rg` (ripgrep) - 更快的文本搜索 - `sed` → `sd` - 更简单的 sed 替代 - `awk` → `choose` - 人性化的 awk 替代 - `cut` → `choose` - cut 的替代 - `diff` → `delta` - 带语法高亮的 diff - `less`/`more` → `bat` - 用于分页显示 ### 系统监控 - `ps` → `procs` - 现代化的进程查看器 - `top` → `htop` - 交互式进程监控 - `du` → `ncdu` - 交互式磁盘使用分析 - `df` → `duf` - 更好的磁盘空间显示 ### 网络工具 - `ping` → `gping` - 带图形的 ping - `curl` → `httpie` - 更友好的 HTTP 客户端 - `wget` → `aria2c` - 多连接下载器 ### 编辑器 - `vim` → `nvim` - 现代化的 vim - `nano` → `micro` - 现代化的 nano 替代 ### 其他工具 - `cd` → `zoxide` - 智能目录跳转 - `rm` → `trash` - 安全删除(移到回收站) - `tar`/`zip`/`unzip` → `ouch` - 通用压缩工具 - `npm`/`yarn` → `pnpm` - 更快的包管理器 ## ⚙️ 配置方法 ### 1. 查看当前配置 ```bash ai --config ``` ### 2. 使用环境变量配置 ```bash # 设置自定义替代 export AI_SHELL_MODERN_COMMANDS="ls:eza,cat:bat,find:fd,grep:rg" # 查看效果 ai --config ``` ### 3. 在 .env 文件中配置 编辑 `.env` 文件: ```bash # 现代化命令替代配置 AI_SHELL_MODERN_COMMANDS="ls:eza,cat:bat,find:fd,grep:rg,du:ncdu" ``` ### 4. 配置格式说明 ```bash # 格式: "旧命令:新命令,旧命令2:新命令2" AI_SHELL_MODERN_COMMANDS="old1:new1,old2:new2,old3:new3" # 示例 AI_SHELL_MODERN_COMMANDS="ls:eza,cat:bat,find:fd" ``` ## 🔍 工作原理 1. **系统检测**: 启动时检测系统中已安装的现代化工具 2. **配置合并**: 合并默认配置和用户自定义配置 3. **提示词生成**: 将可用的现代化命令添加到 AI 提示词中 4. **AI 优化**: AI 在生成命令时优先考虑现代化替代 ## 📊 配置示例 ### 基础配置 ```bash export AI_SHELL_MODERN_COMMANDS="ls:eza,cat:bat" ``` ### 完整配置 ```bash export AI_SHELL_MODERN_COMMANDS="ls:eza,cat:bat,find:fd,grep:rg,du:ncdu,df:duf,ps:procs,top:htop,ping:gping,vim:nvim" ``` ### 开发者配置 ```bash export AI_SHELL_MODERN_COMMANDS="ls:eza,cat:bat,find:fd,grep:rg,npm:pnpm,yarn:pnpm,curl:httpie" ``` ## 🧪 测试功能 ### 1. 测试脚本 ```bash # 运行测试脚本 uv run python scripts/test_modern_commands.py ``` ### 2. 实际使用测试 ```bash # 设置配置 export AI_SHELL_MODERN_COMMANDS="ls:eza,find:fd" # 测试命令生成 ai "列出当前目录文件" ai "查找 Python 文件" ``` ## 🎯 使用效果 ### 传统命令 ```bash # AI 可能生成 ls -la find . -name "*.py" ``` ### 现代化命令 ```bash # AI 会优先生成 eza -la fd "*.py" ``` ## 🔧 故障排除 ### 1. 命令未生效 ```bash # 检查配置 ai --config # 确认环境变量 echo $AI_SHELL_MODERN_COMMANDS ``` ### 2. 工具未安装 ```bash # 检查工具是否安装 which eza which bat which fd ``` ### 3. 配置格式错误 ```bash # 正确格式 AI_SHELL_MODERN_COMMANDS="ls:eza,cat:bat" # 错误格式 AI_SHELL_MODERN_COMMANDS="ls=eza;cat=bat" # 错误 ``` ## 📈 版本历史 - **v0.2.0**: 新增现代化命令替代功能 - 支持 44 种默认命令映射 - 自动系统检测 - 环境变量配置 - AI 提示词集成 ## 🚀 未来计划 - [ ] 支持配置文件管理 - [ ] 添加更多现代化工具 - [ ] 工具安装建议 - [ ] 性能基准测试 - [ ] 社区配置分享 --- 💡 **提示**: 这个功能让 AI 更倾向于推荐现代化、高效的命令行工具,提升您的命令行体验!