AutoTerminal/README.md

116 lines
2.8 KiB
Markdown
Raw Permalink Normal View History

2025-08-23 19:18:29 +08:00
# AutoTerminal - 智能终端工具
AutoTerminal 是一个基于大语言模型的智能终端工具,可以将自然语言转换为终端命令,提高工作效率。
## 功能特点
- 🧠 基于LLM的智能命令生成
- 🔐 安全的命令执行机制(需要用户确认)
- ⚙️ 灵活的配置管理
- 🌍 中文支持
- 🔄 支持多种LLM模型
- 📚 命令历史记录和上下文感知
- 📁 当前目录内容上下文感知
2025-08-23 19:18:29 +08:00
## 安装
### 方法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
2025-08-23 19:18:29 +08:00
## 使用方法
### 方法1使用uv run
```bash
uv run python autoterminal/main.py "查看当前目录下的所有文件"
```
### 方法2安装后使用at命令
```bash
uv pip install -e .
at "查看当前目录下的所有文件"
```
### 使用历史命令上下文
```bash
at --history-count 5 "基于前面的命令,删除所有.txt文件"
```
2025-08-23 19:18:29 +08:00
程序会生成终端命令并显示提示,用户按回车后程序会直接执行该命令。
## 示例
```
$ 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 # 历史命令管理器
2025-08-23 19:18:29 +08:00
├── utils/ # 工具函数
│ ├── __init__.py # 包初始化文件
│ └── helpers.py # 辅助函数
├── pyproject.toml # 项目配置
├── config.json # 用户配置文件
├── .gitignore
└── README.md