# 2026-03-21 工作日志

## 完成的任务

### 1. OpenCode 权限问题修复
- 问题：OpenCode 无法读取/写入项目文件，权限被自动拒绝
- 解决：修改 `~/.config/opencode/opencode.json`，添加正确的 permission 配置：
  ```json
  "permission": {
    "read": "allow",
    "write": "allow",
    "edit": "allow",
    "bash": "allow"
  }
  ```

### 2. n8n 环境变量配置优化
- 路径：`~/Git/smart-trip-quote/`
- 将 n8n 相关配置提取到 `.env` 文件：
  - `N8N_HOST=n8n.ishenwei.online`
  - `N8N_PROTOCOL=https`
  - `WEBHOOK_URL=http://127.0.0.1:62000/`
  - `NODE_ENV=production`
  - `N8N_SECURE_COOKIE=false`
- 修改 `docker-compose.yml` 使用环境变量引用

### 3. Docker 网络配置
- 在 `docker-compose.yml` 的 web 服务中添加：
  - `N8N_ITINERARY_OPTIMIZATION_WEBHOOK_URL`
  - `N8N_API_KEY`
- 将 webhook URL 改为 Docker 内部地址：`http://stq-n8n:5678`

### 4. 日期格式兼容问题修复
- 文件：`apps/api/serializers/webhook_serializers.py`
- 添加 `FlexibleDateField` 和 `FlexibleDateTimeField` 类
- 支持更多日期格式：%Y-%m-%d, %Y/%m/%d, ISO8601 等

### 5. 行程优化 webhook 调试
- 在 `apps/admin/views.py` 添加调试日志
- 确认 webhook 调用成功

## 知识点

- OpenCode 配置路径：`~/.config/opencode/opencode.json`
- Docker 内部网络：容器间通过服务名通信
- Django REST framework 序列化器：可自定义日期字段处理多种格式

## 待处理

- [ ] 清理调试日志
