7.2 KiB
7.2 KiB
Light Sleep
- Candidate: Reflections: Theme:
追加kept surfacing across 59 memories.; confidence: 0.83; evidence: memory/2026-04-12.md:35-36, memory/2026-04-12.md:38-40, memory/2026-04-12.md:44-46; note: reflection- confidence: 0.00
- evidence: memory/2026-04-16.md:128-131
- recalls: 0
- status: staged
- Candidate: Possible Lasting Truths: No strong candidate truths surfaced.
- confidence: 0.00
- evidence: memory/2026-04-16.md:134-134
- recalls: 0
- status: staged
- Candidate: 背景: 用户确认在现有
fquiz系统内先落地 AI 聊天功能(先方案确认,再开发),要求最小改动闭环。- confidence: 0.00
- evidence: memory/2026-04-13.md:5-5
- recalls: 0
- status: staged
- Candidate: 改动: 后端新增聊天域(FastAPI + SQLAlchemy):; 新增模型:
api/app/models/chat.py;chat_sessions;chat_messages- confidence: 0.00
- evidence: memory/2026-04-13.md:9-12
- recalls: 0
- status: staged
- Candidate: 改动: 新增 Schema:
api/app/schemas/chat.py- confidence: 0.00
- evidence: memory/2026-04-13.md:13-13
- recalls: 0
- status: staged
- Candidate: 改动:
api/app/services/chat_service.py(会话/消息读写与发送主流程);api/app/services/llm_gateway.py(模型路由解析 + OpenAI-compatible 调用); 新增路由:api/app/api/v1/chat.py;GET /api/v1/chat/sessions- confidence: 0.00
- evidence: memory/2026-04-13.md:15-18
- recalls: 0
- status: staged
- Candidate: 改动:
POST /api/v1/chat/sessions;GET /api/v1/chat/sessions/{session_id}/messages;POST /api/v1/chat/sessions/{session_id}/messages- confidence: 0.00
- evidence: memory/2026-04-13.md:19-21
- recalls: 0
- status: staged
- Candidate: 改动:
api/app/api/router.py挂载chat路由;api/app/models/__init__.py、api/app/core/database.py注册聊天模型确保create_all生效- confidence: 0.00
- evidence: memory/2026-04-13.md:23-24
- recalls: 0
- status: staged
- Candidate: 改动: 聊天模型与密钥策略:; 复用模型管理路由规则,解析顺序:;
CAPABILITY: chat.default;GLOBAL: __global__- confidence: 0.00
- evidence: memory/2026-04-13.md:26-29
- recalls: 0
- status: staged
- Candidate: 改动: 仅命中
ENABLED且存在激活密钥记录的模型。; 运行时 key 从环境变量读取,不反解库内 hash:;LLM_PROVIDER_API_KEYS(openai=sk-...或 JSON)。- confidence: 0.00
- evidence: memory/2026-04-13.md:30-32
- recalls: 0
- status: staged
- Candidate: 改动: 配置与部署模板:;
api/app/core/config.py新增:;llm_provider_api_keys;llm_request_timeout_seconds- confidence: 0.00
- evidence: memory/2026-04-13.md:34-37
- recalls: 0
- status: staged
- Candidate: 改动:
chat_context_message_limit;chat_default_system_prompt;.env.example、docker-compose.yml、.github/workflows/main.yml同步新增上述变量透传。;api/requirements.txt新增httpx==0.28.1。- confidence: 0.00
- evidence: memory/2026-04-13.md:38-41
- recalls: 0
- status: staged
- Candidate: 背景: GitHub Actions 构建 API 镜像时,
pip install -r requirements.txt多次出现ReadTimeoutError(files.pythonhosted.org/pypi.org)。- confidence: 0.00
- evidence: memory/2026-04-12.md:5-5
- recalls: 0
- status: staged
- Candidate: 改动: 更新
api/Dockerfile:; 新增构建参数PIP_INDEX_URL(默认https://pypi.org/simple)。; 新增构建参数PIP_DEFAULT_TIMEOUT(默认120)。;pip install增加--retries 8 --timeout "${PIP_DEFAULT_TIMEOUT}" -i "${PIP_INDEX_URL}"。- confidence: 0.00
- evidence: memory/2026-04-12.md:9-12
- recalls: 0
- status: staged
- Candidate: 改动: 设置
PIP_DISABLE_PIP_VERSION_CHECK=1。; 更新.github/workflows/main.yml:; API 镜像构建新增build-args:;PIP_INDEX_URL=${{ secrets.PIP_INDEX_URL || vars.PIP_INDEX_URL || 'https://pypi.org/simple' }}- confidence: 0.00
- evidence: memory/2026-04-12.md:13-16
- recalls: 0
- status: staged
- Candidate: 改动:
PIP_DEFAULT_TIMEOUT=${{ vars.PIP_DEFAULT_TIMEOUT || '120' }}; 更新api/requirements.txt:; 从宽范围约束改为精确版本,减少 pip 解析回溯与重复下载。- confidence: 0.00
- evidence: memory/2026-04-12.md:17-19
- recalls: 0
- status: staged
- Candidate: 验证: 本地触发
docker build -f api/Dockerfile api --build-arg PIP_INDEX_URL=https://pypi.org/simple --build-arg PIP_DEFAULT_TIMEOUT=120。- confidence: 0.00
- evidence: memory/2026-04-12.md:23-23
- recalls: 0
- status: staged
- Candidate: 验证: 新的
pip install参数生效。; 发生网络超时时会触发Retry(total=...)重试逻辑,而非首次超时直接失败。- confidence: 0.00
- evidence: memory/2026-04-12.md:25-26
- recalls: 0
- status: staged
- Candidate: 风险与备注: 受网络质量影响,构建时长可能显著增加。; 若目标环境访问
pypi.org不稳定,需在 GitHub Secrets/Variables 配置更近的PIP_INDEX_URL。- confidence: 0.00
- evidence: memory/2026-04-12.md:30-31
- recalls: 0
- status: staged
- Candidate: 追加修正(同日): 触发问题:
No matching distribution found for websockets>=10.4; extra == "standard"。; 原因:uvicorn[standard]会强依赖websockets;在当前包源下解析失败。- confidence: 0.00
- evidence: memory/2026-04-12.md:35-36
- recalls: 0
- status: staged
- Candidate: 追加修正(同日):
api/requirements.txt将uvicorn[standard]==0.44.0改为uvicorn==0.44.0,并新增wsproto==1.3.2。;api/Dockerfile启动命令追加--ws wsproto,明确 WebSocket 协议实现。; 结果:构建日志不再出现websockets>=10.4依赖链,改为安装wsproto。- confidence: 0.00
- evidence: memory/2026-04-12.md:38-40
- recalls: 0
- status: staged
- Candidate: 追加修正(部署脚本 YAML 解析): 触发问题:部署阶段
docker compose报错yaml: line 2: mapping values are not allowed in this context,并伴随DRONE_SSH_PREV_COMMAND_EXIT_CODE变量告警。; 原因:appleboy/ssh-action在script_stop: true下会插入额外控制逻辑,和脚本中的 heredoc 组合后可能污染生成文件。; 处理:移除 workflow 中 `appleboy/ssh-acti- confidence: 0.00
- evidence: memory/2026-04-12.md:44-46
- recalls: 0
- status: staged
- Candidate: Reflections: Theme:
追加kept surfacing across 57 memories.; confidence: 0.83; evidence: memory/2026-04-12.md:35-36, memory/2026-04-12.md:38-40, memory/2026-04-12.md:44-46; note: reflection- confidence: 0.00
- evidence: memory/2026-04-14.md:503-506
- recalls: 0
- status: staged
- Candidate: Possible Lasting Truths: No strong candidate truths surfaced.
- confidence: 0.00
- evidence: memory/2026-04-14.md:509-509
- recalls: 0
- status: staged
REM Sleep
Reflections
- Theme:
追加kept surfacing across 59 memories.- confidence: 0.83
- evidence: memory/2026-04-12.md:35-36, memory/2026-04-12.md:38-40, memory/2026-04-12.md:44-46
- note: reflection
Possible Lasting Truths
- No strong candidate truths surfaced.