Initial commit: AI Shell v0.1.0

- 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
This commit is contained in:
2025-07-12 22:06:15 +08:00
commit 644071850a
21 changed files with 3252 additions and 0 deletions

157
修改完成总结.md Normal file
View File

@ -0,0 +1,157 @@
# AI Shell 项目修改完成总结
## ✅ 已完成的修改
### 1. 模型接口更换
- **原来**: Gemini AI (Google)
- **现在**: DeepSeek V3 (通过 OpenAI 兼容接口)
### 2. API 配置更新
```python
# 新的配置
API_KEY = "f8370a60-fe0a-455f-9167-411d476123d2"
BASE_URL = "https://ark.cn-beijing.volces.com/api/v3/"
MODEL = "deepseek-v3-250324"
```
### 3. 依赖包更新
- **移除**: `google-genai`
- **添加**: `openai` (用于 OpenAI 兼容接口)
### 4. 代码修改详情
#### 主要变更:
1. **导入模块**:
```python
# 原来
from pydantic_ai.models.gemini import GeminiModel
# 现在
from pydantic_ai.models.openai import OpenAIModel
```
2. **模型初始化**:
```python
# 原来
model = GeminiModel("gemini-2.0-flash")
# 现在
os.environ["OPENAI_API_KEY"] = API_KEY
os.environ["OPENAI_BASE_URL"] = BASE_URL
model = OpenAIModel("deepseek-v3-250324")
```
3. **修复弃用警告**:
```python
# 原来
result_type=Answer
resp.data
# 现在
output_type=Answer
resp.output
```
## 🧪 测试结果
### 功能测试
✅ **英文命令**: `"list files in current directory"` → `ls`
✅ **中文命令**: `"创建一个新目录叫test"` → `mkdir test`
✅ **复杂命令**: `"show disk usage"` → `df -h`
### 性能表现
- ✅ 响应速度快
- ✅ 命令准确性高
- ✅ 支持中英文交互
- ✅ 思考过程清晰
## 📁 最终项目结构
```
ai-shell/
├── ai.py # ✅ 主程序(已更新为 DeepSeek V3
├── pyproject.toml # ✅ 项目配置(已更新依赖)
├── uv.toml # ✅ UV 配置(国内镜像源)
├── uv.lock # ✅ 依赖锁定文件(已更新)
├── .python-version # ✅ Python 版本文件
├── .venv/ # ✅ 虚拟环境
├── README.md # ✅ 项目说明(已更新)
├── 配置总结.md # ✅ 配置总结
├── 项目配置说明.md # ✅ 详细配置说明(已更新)
└── 修改完成总结.md # ✅ 本文件
```
## 🚀 使用方法
### 基本命令
```bash
# 英文命令
uv run python ai.py "list all Python files"
uv run python ai.py "show current directory size"
uv run python ai.py "find files modified today"
# 中文命令
uv run python ai.py "显示当前目录下的所有文件"
uv run python ai.py "查看磁盘使用情况"
uv run python ai.py "创建一个名为backup的目录"
```
### 交互流程
1. **AI 思考**: 显示推理过程
2. **AI 回答**: 提供具体命令
3. **用户确认**: `[Y/n]` 选择是否执行
- **Enter 键** 或 **y/yes**: 执行命令
- **n/no**: 取消执行
4. **自动执行**: 确认后自动运行命令
## 🎯 核心优势
### 1. 模型优势
- **DeepSeek V3**: 最新的开源大模型,性能优异
- **中文友好**: 对中文指令理解更准确
- **成本效益**: 通过 Volces API 使用,性价比高
### 2. 技术优势
- **OpenAI 兼容**: 标准接口,易于维护
- **快速部署**: 国内镜像源,依赖安装快速
- **环境隔离**: UV 虚拟环境,避免冲突
### 3. 用户体验
- **双语支持**: 中英文命令都能准确理解
- **安全确认**: 执行前需要用户确认
- **便捷操作**: 直接按 Enter 键即可执行(默认为 Y
- **思考透明**: 显示 AI 的推理过程
## 📋 配置验证
### 检查配置是否正确
```bash
# 1. 检查依赖
uv pip list | grep -E "(pydantic-ai|openai)"
# 2. 测试连接
uv run python ai.py "echo hello"
# 3. 验证中文支持
uv run python ai.py "显示当前时间"
```
## 🔧 故障排除
### 常见问题
1. **API 连接失败**: 检查网络连接和 API 密钥
2. **模型不响应**: 确认 BASE_URL 和模型名称正确
3. **依赖问题**: 运行 `uv sync` 重新同步依赖
### 调试方法
```bash
# 查看详细错误信息
uv run python ai.py "test command" 2>&1
# 检查环境变量
uv run python -c "import os; print(os.environ.get('OPENAI_BASE_URL'))"
```
---
🎉 **修改完成!** 现在您可以使用 DeepSeek V3 模型通过 Volces API 来生成 shell 命令了!