| 组件 | 状态 |
|---|---|
| Docker Desktop | ✅ 已安装并运行 |
| PostgreSQL容器 | ✅ 已运行(sqlbot-pg) |
| uv(包管理器) | ✅ 已安装 |
| Python依赖 | ✅ 已同步到虚拟环境 |
| sqlbot_xpack |
sqlbot_xpack模块尝试创建/opt/sqlbot/data/file目录,但Mac上没有权限。
解决方案:修改sqlbot_xpack的源码,让它使用本地目录。
步骤:
-
找到sqlbot_xpack的file_utils.py
find /Users/guchuan/codespace/SQLBot-ClaudeCode/backend/.venv -name "file_utils.py" | grep sqlbot_xpack
-
修改文件(添加本地目录检查)
# 在os.mkdir(self, mode)之前添加: if not os.path.exists(self.parent): # 使用本地目录 import tempfile local_dir = tempfile.gettempdir() self.parent.mkdir(parents=True, exist_ok=True)
-
启动SQLBot
cd /Users/guchuan/codespace/SQLBot-ClaudeCode/backend python3 main.py
手动执行:
cd /Users/guchuan/codespace/SQLBot-ClaudeCode
./create-sqlbot-dirs.sh脚本内容:
#!/bin/bash
echo "创建/opt/sqlbot目录..."
sudo mkdir -p /opt/sqlbot/data/file
sudo mkdir -p /opt/sqlbot/data/excel
sudo mkdir -p /opt/sqlbot/images
sudo mkdir -p /opt/sqlbot/app/logs
sudo mkdir -p /opt/sqlbot/models
sudo mkdir -p /opt/sqlbot/scripts
echo "设置权限..."
sudo chown -R $USER:staff /opt/sqlbot
sudo chmod -R 755 /opt/sqlbot
echo "完成!"创建环境变量文件:
cd /Users/guchuan/codespace/SQLBot-ClaudeCode/backend
cat > .env.local << 'EOF'
BASE_DIR=/Users/guchuan/codespace/SQLBot-ClaudeCode
SCRIPT_DIR=/Users/guchuan/codespace/SQLBot-ClaudeCode/scripts
UPLOAD_DIR=/Users/guchuan/codespace/SQLBot-ClaudeCode/data/file
MCP_IMAGE_PATH=/Users/guchuan/codespace/SQLBot-ClaudeCode/images
EXCEL_PATH=/Users/guchuan/codespace/SQLBot-ClaudeCode/data/excel
LOCAL_MODEL_PATH=/Users/guchuan/codespace/SQLBot-ClaudeCode/models
EOF启动SQLBot:
cd /Users/guchuan/codespace/SQLBot-ClaudeCode/backend
source .env.local
python3 main.py**方案C(环境变量覆盖)**最简单:
- 运行以下命令:
cd /Users/guchuan/codespace/SQLBot-ClaudeCode/backend cat > .env.local << 'EOF'
BASE_DIR=/Users/guchuan/codespace/SQLBot-ClaudeCode SCRIPT_DIR=/Users/guchuan/codespace/SQLBot-ClaudeCode/scripts UPLOAD_DIR=/Users/guchuan/codespace/SQLBot-ClaudeCode/data/file MCP_IMAGE_PATH=/Users/guchuan/codespace/SQLBot-ClaudeCode/images EXCEL_PATH=/Users/guchuan/codespace/SQLBot-ClaudeCode/data/excel LOCAL_MODEL_PATH=/Users/guchuan/codespace/SQLBot-ClaudeCode/models EOF
2. 启动SQLBot:
```bash
python3 main.py
你想用哪个方案?
- 方案A:我帮你修改sqlbot_xpack源码
- 方案B:你手动执行创建系统目录的脚本(需要sudo密码)
- 方案C:我帮你创建环境变量文件(推荐)