- AI-powered shell command generator using DeepSeek V3 - Support for natural language to shell command conversion - Secure configuration management with .env files - Package structure with uv tool installation support - Chinese and English language support - Configuration validation and error handling
4.8 KiB
4.8 KiB
AI Shell 项目配置说明
📁 项目结构
ai-shell/
├── ai.py # 主程序文件
├── pyproject.toml # 项目配置文件
├── uv.toml # UV 包管理器配置文件
├── uv.lock # 依赖锁定文件(自动生成)
├── .python-version # Python 版本固定文件(自动生成)
├── .venv/ # 虚拟环境目录(自动生成)
├── README.md # 项目说明文档
├── 配置总结.md # 配置总结文档
└── 项目配置说明.md # 本文件
🔧 核心配置文件详解
1. ai.py
- 主程序文件
作用:AI 驱动的 shell 命令生成器 功能:
- 使用 Gemini AI 模型生成 shell 命令
- 支持多语言提示和响应
- 交互式执行确认
关键配置:
# OpenAI 兼容接口配置
API_KEY = "f8370a60-fe0a-455f-9167-411d476123d2"
BASE_URL = "https://ark.cn-beijing.volces.com/api/v3/"
# 使用 DeepSeek V3 模型
model = OpenAIModel("deepseek-v3-250324")
2. pyproject.toml
- 项目配置文件
作用:定义项目元数据和依赖关系 内容解析:
[project]
name = "ai-shell" # 项目名称
version = "0.1.0" # 版本号
description = "AI-powered shell command generator" # 项目描述
requires-python = ">=3.12" # Python 版本要求
dependencies = [ # 项目依赖
"pydantic-ai", # AI 框架
"openai", # OpenAI 兼容 API 客户端
"requests>=2.32.4", # HTTP 请求库
]
3. uv.toml
- UV 包管理器配置文件 ⭐
作用:配置 UV 包管理器的行为和镜像源 重要性:这是加速包下载的核心配置文件
详细配置解析:
# PyPI 镜像源配置
index-url = "https://pypi.tuna.tsinghua.edu.cn/simple" # 主镜像源(清华大学)
extra-index-url = [ # 备用镜像源
"https://mirrors.aliyun.com/pypi/simple/", # 阿里云镜像
"https://mirrors.cloud.tencent.com/pypi/simple/", # 腾讯云镜像
]
# 性能优化配置
index-strategy = "unsafe-best-match" # 允许从所有镜像源选择最佳版本
concurrent-downloads = 10 # 并发下载数量
cache-dir = "~/.cache/uv" # 缓存目录
# Python 解释器镜像源(已注释,使用默认源)
# python-install-mirror = "镜像源URL"
4. uv.lock
- 依赖锁定文件(自动生成)
作用:锁定所有依赖的精确版本 特点:
- 自动生成,不需要手动编辑
- 确保在不同环境中安装相同版本的依赖
- 包含所有传递依赖的版本信息
5. .python-version
- Python 版本固定文件(自动生成)
作用:指定项目使用的 Python 版本
内容:3.12
用途:确保项目在正确的 Python 版本下运行
6. .venv/
- 虚拟环境目录(自动生成)
作用:隔离的 Python 环境 包含:
- 项目特定的 Python 解释器
- 安装的所有依赖包
- 环境配置文件
🚀 配置优势
1. 国内镜像源加速
- 主源:清华大学镜像(教育网友好)
- 备源:阿里云、腾讯云(商业网络友好)
- 效果:包下载速度从几十秒降到秒级
2. 智能版本选择
index-strategy = "unsafe-best-match"
- 从所有镜像源中选择最佳版本
- 避免版本冲突和依赖问题
3. 性能优化
- 10 个并发下载
- 本地缓存机制
- 快速依赖解析
📋 使用指南
基本命令
# 安装/更新依赖
uv sync
# 添加新依赖
uv add package-name
# 运行程序
uv run python ai.py "your command description"
# 激活虚拟环境
uv shell
环境管理
# 查看 Python 版本
uv python pin
# 查看已安装包
uv pip list
# 清理缓存
uv cache clean
⚠️ 注意事项
- 配置优先级:
uv.toml
>pyproject.toml
中的[tool.uv]
配置 - 镜像源策略:使用
unsafe-best-match
可能有安全风险,但提供更好的包选择 - Python 解释器:下载新 Python 版本仍然较慢,建议使用系统包管理器
- API 配置:已内置 Volces (ByteDance) API 配置,使用 DeepSeek V3 模型
🔍 故障排除
常见问题
- 包下载慢:检查网络连接,尝试切换镜像源
- 版本冲突:运行
uv sync
重新解析依赖 - 缓存问题:运行
uv cache clean
清理缓存
验证配置
# 测试依赖解析速度
time uv sync --dry-run
# 检查镜像源连通性
curl -I https://pypi.tuna.tsinghua.edu.cn/simple/
🎯 总结:这个配置实现了 Python 包的快速下载和管理,同时保持了项目的可移植性和稳定性。