# aido **Repository Path**: yy_lan/aido ## Basic Information - **Project Name**: aido - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-02 - **Last Updated**: 2025-11-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AIDO - AI驱动的Linux命令助手 🤖 AIDO 是一个基于 AI 的 Linux 命令行助手,帮助用户通过自然语言描述快速找到并执行相应的 Linux 命令。 ## 功能特点 - 🌐 **多语言支持**:支持中文和英文输入,输出统一使用中文 - 🧠 **AI 驱动**:支持 DeepSeek-V3 和 ChatGLM-Flash 模型提供智能命令建议 - 🎯 **精准推荐**:每次提供 1-3 个最相关的命令选项 - ⚡ **安全执行**:内置风险评估,高风险命令需要额外确认 - 🔐 **权限支持**:支持 sudo 命令执行 - 💡 **详细说明**:每个命令都有中文解释和风险等级标识 - 🖥️ **系统感知**:自动检测系统类型,推荐适合的包管理器和命令 - ⚙️ **便捷配置**:支持快速编辑配置文件 - 🧠 **Agent模式**:支持连续对话和上下文记忆的智能助手模式 ## 安装 ### 前置要求 - Rust 1.70+ - DeepSeek API Key 或 ChatGLM API Key ### 方式一:一键安装(推荐) ```bash # 克隆项目 git clone cd aido # 一键安装 ./quick-install.sh ``` ### 方式二:使用部署脚本 ```bash # 安装 ./deploy.sh install # 更新 ./deploy.sh update # 卸载 ./deploy.sh uninstall # 查看状态 ./deploy.sh status ``` ### 方式三:手动编译 ```bash # 编译 cargo build --release # 手动复制到系统路径 cp target/release/aido ~/.local/bin/ ``` ## 配置 首次运行时,AIDO 会自动创建配置文件。你需要设置 AI 提供商和对应的 API Key: ```bash # 查看配置文件路径 aido --config-path # 快速编辑配置文件 aido --config-edit # 或手动编辑配置文件 # 配置文件通常位于 ~/.config/aido/config.toml ``` **注意**:如果 `aido` 命令不可用,请确保 `~/.local/bin` 在您的 PATH 中: ```bash # 添加到 ~/.bashrc 或 ~/.zshrc export PATH="$HOME/.local/bin:$PATH" # 重新加载配置 source ~/.bashrc ``` 配置文件示例: ```toml # 选择 AI 提供商: "deepseek" 或 "chatglm" ai_provider = "deepseek" # 系统类型 (自动检测,可手动修改) # 支持: ubuntu, debian, centos, rhel, fedora, arch, opensuse, linux system_type = "ubuntu" # DeepSeek API Key (当使用 deepseek 时) deepseek_api_key = "your-deepseek-api-key-here" # ChatGLM API Key (当使用 chatglm 时) chatglm_api_key = "your-chatglm-api-key-here" max_suggestions = 3 default_timeout = 30 ``` ## 使用方法 ### 直接命令行查询(推荐) ```bash # 直接在命令行中输入查询内容 aido 查看当前目录下的所有文件 aido 搜索目录下所有名称包含asd的文件 aido find all txt files aido 显示系统内存使用情况 aido 压缩文件夹 ``` ### 交互模式 ```bash # 启动交互模式 ./target/release/aido ``` 然后输入你想要执行的操作描述。 ### Agent模式(连续对话) ```bash # 启动Agent模式 aido --agent # 或 aido -a ``` Agent模式特点: - 🔄 **连续对话**:支持多轮对话,无需重复启动 - 🧠 **上下文记忆**:AI记住对话历史和命令执行结果 - 📊 **结果分析**:AI能分析命令执行结果并提供后续建议 - 🛠️ **特殊命令**:支持 `/help`、`/history`、`/clear`、`/stats`、`/exit` ### 单次查询模式(使用 -q 参数) ```bash # 使用 -q 参数查询 ./target/release/aido -q "查看磁盘使用情况" ``` ## 使用示例 ### 直接命令行查询示例 ```bash $ aido 查看当前目录下的所有文件 ⏳ 正在分析您的需求... 💡 AI推荐的命令: ──────────────────────────────────────────────────────────── 1. ls 📝 列出当前目录下的文件和目录 ✅ 低风险命令:此命令相对安全,主要用于查看信息。 2. ls -l 📝 以长格式列出当前目录下的文件和目录,显示详细信息 ✅ 低风险命令:此命令相对安全,主要用于查看信息。 3. ls -a 📝 列出当前目录下的所有文件和目录,包括隐藏文件 ✅ 低风险命令:此命令相对安全,主要用于查看信息。 请选择要执行的命令: [选择后自动执行] ``` ### Agent模式使用示例 ```bash $ aido --agent 🤖 AIDO Agent 模式 支持连续对话和上下文记忆的智能助手 Agent[0]: 我想查看当前目录的文件 🤖 建议的命令: 1. ls - 列出当前目录下的文件和子目录 2. ls -l - 以详细列表形式显示 3. ls -a - 显示所有文件,包括隐藏文件 选择命令 [1-3] (0=跳过): 1 shura@hostname:~/project$ ls file1.txt file2.txt src/ docs/ Agent[2]: 现在我想查看src目录里的内容 🤖 从之前的ls输出可以看到src是一个存在的目录,建议: 1. ls src - 查看src目录内容 2. ls -l src - 详细显示src目录内容 Agent[4]: /history # 查看对话历史 Agent[5]: /stats # 查看会话统计 Agent[6]: /exit # 退出Agent模式 ``` ### 更多示例 ```bash # 文件搜索 $ aido 搜索目录下所有名称包含asd的文件 # 系统信息 $ aido 显示系统内存使用情况 # 文件操作 $ aido 压缩当前目录为zip文件 # 网络操作 $ aido 测试网络连接到百度 # 进程管理 $ aido 查看占用CPU最多的进程 ``` ## 风险等级说明 - 🟢 **低风险**:查看、搜索、显示信息类命令(ls, cat, grep, ps等) - 🟡 **中风险**:文件操作、网络操作(cp, mv, wget, curl等) - 🔴 **高风险**:系统管理、删除操作、权限修改(rm, chmod, sudo等) 高风险命令需要输入 "YES" 进行额外确认。 ## 获取 API Key ### DeepSeek API Key 1. 访问 [DeepSeek 官网](https://platform.deepseek.com/) 2. 注册账号并登录 3. 在 API Keys 页面创建新的 API Key 4. 在配置文件中设置 `ai_provider = "deepseek"` 和对应的 API Key ### ChatGLM API Key 1. 访问 [智谱AI开放平台](https://open.bigmodel.cn/) 2. 注册账号并登录 3. 在 API Keys 页面创建新的 API Key 4. 在配置文件中设置 `ai_provider = "chatglm"` 和对应的 API Key ## 开发 ### 项目结构 ``` src/ ├── main.rs # 主程序入口 ├── lib.rs # 库入口 ├── ai_client.rs # AI 客户端模块 ├── command_executor.rs # 命令执行模块 ├── config.rs # 配置管理模块 ├── ui.rs # 用户界面模块 └── error.rs # 错误处理模块 ``` ### 运行测试 ```bash cargo test ``` ### 开发模式运行 ```bash cargo run ``` ## 贡献 欢迎提交 Issue 和 Pull Request! ## 许可证 MIT License ## 注意事项 - 请谨慎执行高风险命令 - 确保你的 API Key 安全,不要泄露给他人 - 建议在测试环境中先试用,熟悉后再在生产环境使用 - 对于重要操作,建议先备份相关数据