Make runtime log queries support request correlation and date-range diagnostics with shared filtering semantics so the log page can use one consistent contract.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Implemented a complete log system for tracking:
- Agent logs:智能体调用
- System logs: 系统运行
- Chat logs: 问答对话
Backend:
- Log model with type, level, user_id, message, source, duration_ms
- LogService with methods for logging and querying
- API endpoints: GET /api/logs, GET /api/logs/stats, GET /api/logs/recent
Frontend:
- LogView.vue with filters, stats, pagination, auto-refresh
- log.ts API client with TypeScript interfaces
- Added "运行日志" nav item to sidebar
SQLAlchemy wasn't detecting changes when we modified the dict in place
and re-assigned the same object reference. Using deep copy ensures
the ORM sees the update.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When test passes, props.model.enabled is updated but editingModel wasn't
synced, causing save button to remain disabled.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove old card-based model list UI
- Add LLM config state management (expandedRow, editingSnapshot)
- Implement addModel/removeModel with embedding/rerank constraints
- Implement updateModel, testModel, saveModel, toggleRow, cancelEdit
- Add showRequiredWarning computed property
- Rewrite template with 4 LLM type sections using LLMTableRow
- Add styles for llm-type-section, warning-bar, etc.
- Update loadSettings to initialize with empty arrays
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>