AutoTerminal/README.md
wds-a5000 9870926054 feat: 自动添加上下文
自动添加历史命令记录以及当前文件夹下面的内容为上下文
2025-08-23 20:25:42 +08:00

116 lines
2.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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