- 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.1 KiB
4.1 KiB
AI Shell 项目修改完成总结
✅ 已完成的修改
1. 模型接口更换
- 原来: Gemini AI (Google)
- 现在: DeepSeek V3 (通过 OpenAI 兼容接口)
2. API 配置更新
# 新的配置
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. 代码修改详情
主要变更:
-
导入模块:
# 原来 from pydantic_ai.models.gemini import GeminiModel # 现在 from pydantic_ai.models.openai import OpenAIModel
-
模型初始化:
# 原来 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")
-
修复弃用警告:
# 原来 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 # ✅ 本文件
🚀 使用方法
基本命令
# 英文命令
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的目录"
交互流程
- AI 思考: 显示推理过程
- AI 回答: 提供具体命令
- 用户确认:
[Y/n]
选择是否执行- Enter 键 或 y/yes: 执行命令
- n/no: 取消执行
- 自动执行: 确认后自动运行命令
🎯 核心优势
1. 模型优势
- DeepSeek V3: 最新的开源大模型,性能优异
- 中文友好: 对中文指令理解更准确
- 成本效益: 通过 Volces API 使用,性价比高
2. 技术优势
- OpenAI 兼容: 标准接口,易于维护
- 快速部署: 国内镜像源,依赖安装快速
- 环境隔离: UV 虚拟环境,避免冲突
3. 用户体验
- 双语支持: 中英文命令都能准确理解
- 安全确认: 执行前需要用户确认
- 便捷操作: 直接按 Enter 键即可执行(默认为 Y)
- 思考透明: 显示 AI 的推理过程
📋 配置验证
检查配置是否正确
# 1. 检查依赖
uv pip list | grep -E "(pydantic-ai|openai)"
# 2. 测试连接
uv run python ai.py "echo hello"
# 3. 验证中文支持
uv run python ai.py "显示当前时间"
🔧 故障排除
常见问题
- API 连接失败: 检查网络连接和 API 密钥
- 模型不响应: 确认 BASE_URL 和模型名称正确
- 依赖问题: 运行
uv sync
重新同步依赖
调试方法
# 查看详细错误信息
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 命令了!