2025-08-23 20:25:42 +08:00
2025-08-23 19:18:29 +08:00
2025-08-23 19:18:29 +08:00
2025-08-23 20:29:00 +08:00
2025-08-23 20:25:42 +08:00
2025-08-23 20:29:00 +08:00

AutoTerminal - 智能终端工具

AutoTerminal 是一个基于大语言模型的智能终端工具,可以将自然语言转换为终端命令,提高工作效率。

功能特点

  • 🧠 基于LLM的智能命令生成
  • 🔐 安全的命令执行机制(需要用户确认)
  • ⚙️ 灵活的配置管理
  • 🌍 中文支持
  • 🔄 支持多种LLM模型
  • 📚 命令历史记录和上下文感知
  • 📁 当前目录内容上下文感知

安装

方法1使用uv开发模式

确保已安装 uv 工具,然后运行:

uv sync

方法2使用pip安装到用户目录推荐给最终用户

pip install --user .

安装后可以直接使用 at 命令:

at "查看当前目录"

卸载

pip uninstall autoterminal

全局安装(需要管理员权限)

sudo pip install .

配置

首次运行时,程序会引导您完成配置:

  1. API密钥
  2. Base URL
  3. 模型名称

配置信息会保存在 config.json 文件中。

配置选项

  • max_history: 历史命令记录数量默认10

使用方法

方法1使用uv run

uv run python autoterminal/main.py "查看当前目录下的所有文件"

方法2安装后使用at命令

uv pip install -e .
at "查看当前目录下的所有文件"

使用历史命令上下文

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
Description
No description provided
Readme 130 KiB
Languages
Python 100%