# AutoTerminal - 智能终端工具 AutoTerminal 是一个基于大语言模型的智能终端工具,可以将自然语言转换为终端命令,提高工作效率。 ## 功能特点 - 🧠 基于LLM的智能命令生成 - 🔐 安全的命令执行机制(需要用户确认) - ⚙️ 灵活的配置管理 - 🌍 中文支持 - 🔄 支持多种LLM模型 - 📚 命令历史记录和上下文感知 - 📁 当前目录内容上下文感知 ## 安装 ### 方法1:使用uv(开发模式) 确保已安装 `uv` 工具,然后运行: ```bash uv sync ``` ### 方法2:使用pip安装到用户目录(推荐给最终用户) ```bash pip install --user . ``` 安装后可以直接使用 `at` 命令: ```bash at "查看当前目录" ``` ### 卸载 ```bash pip uninstall autoterminal ``` ### 全局安装(需要管理员权限) ```bash sudo pip install . ``` ## 配置 首次运行时,程序会引导您完成配置: 1. API密钥 2. Base URL 3. 模型名称 配置信息会保存在 `config.json` 文件中。 ### 配置选项 - `max_history`: 历史命令记录数量(默认:10) ## 使用方法 ### 方法1:使用uv run ```bash uv run python autoterminal/main.py "查看当前目录下的所有文件" ``` ### 方法2:安装后使用at命令 ```bash uv pip install -e . at "查看当前目录下的所有文件" ``` ### 使用历史命令上下文 ```bash at --history-count 5 "基于前面的命令,删除所有.txt文件" ``` 程序会生成终端命令并显示提示,用户按回车后程序会直接执行该命令。 ## 示例 ``` $ at "列出当前目录下的所有文件" $ ls -a Press Enter to execute... . .. autoterminal config.json .git .gitignore pyproject.toml .python-version README.md uv.lock ``` ## 支持的LLM - OpenAI GPT系列 - 兼容OpenAI API的其他模型(如阿里云、腾讯云等) ## 项目结构 ``` autoterminal/ ├── __init__.py # 包初始化文件 ├── main.py # 主程序入口 ├── config/ # 配置管理模块 │ ├── __init__.py # 包初始化文件 │ ├── loader.py # 配置加载器 │ └── manager.py # 配置管理器 ├── llm/ # LLM相关模块 │ ├── __init__.py # 包初始化文件 │ └── client.py # LLM客户端 ├── history/ # 历史命令管理模块 │ ├── __init__.py # 包初始化文件 │ └── history.py # 历史命令管理器 ├── utils/ # 工具函数 │ ├── __init__.py # 包初始化文件 │ └── helpers.py # 辅助函数 ├── pyproject.toml # 项目配置 ├── config.json # 用户配置文件 ├── .gitignore └── README.md