Backend changes:
- Add LOCATION configuration option to Settings
- Add /api/system/config endpoint to expose public config
- Implement location priority: config > geolocation > default
Frontend changes:
- Install and integrate weather-icons npm package (Erik Flowers)
- Redesign calendar header with date/time on left, weather/location on right
- Display weather icon using CSS classes instead of SVG components
- Fetch location from backend API on component mount
- Use configured location name (from .env) instead of geocoded result
Layout:
- Left: month/year + current time
- Right: city name + weather description + weather icon
- M.2: ForgettingCurve, MemoryDecay, MemoryReinforcement (selective forgetting)
- M.3: DailyDigestGenerator, ReminderScheduler, ProactiveInformer (proactive reminders)
- M.4: MemoryExtractor with LLM-based memory extraction from conversations
- M.5: MemoryRecallInjector with token budget control for prompt injection
- All phases include comprehensive unit tests (109 tests passing)
- Updated checklist.md to mark all tasks complete
Add Day 1 agent runtime foundations with task and event schemas, verifier support, capability metadata, graph event tracing, and regression coverage while preserving the direct execution path.
Align the L3 graph, agent service, and sync tool shims on one canonical continuity contract so clarification resumes and persisted snapshots behave consistently. Add targeted regressions and hardening notes covering system-message coalescing, async bridge usage, and continuity rehydration.
Persist streaming chat state during generator cleanup, close the SSE inner stream safely, and reject cross-user conversation access while locking the behavior with focused regressions.
Make the project start more reliably in the current Windows bash setup, add a safe root .env.example for onboarding, and lower the backend Python floor to 3.11 to match the validated local environment.
Add sub-commander orchestration updates, align frontend integrations, and refine knowledge view behavior without including local data artifacts.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Refresh the agent graph state and prompt wiring so the newer backend and
frontend orchestration features share the same execution model. This
keeps the remaining agent-side changes aligned with the rest of the
batch.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Capture the current local data snapshot and planning artifacts alongside
this development batch so the workspace state matches the code changes.
This preserves the reference materials and generated files that were
kept in the working tree.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Introduce the backend pieces for brain memory ingestion, routing, and
system telemetry so the new knowledge workflows can project data into a
brain view. The supporting tests lock in the new behavior and keep the
expanded backend surface stable.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Normalize uploaded documents into structured markdown, add clearer parser
errors for missing dependencies, and cover the ingestion flow with
backend tests. This also replaces deprecated UTC timestamp helpers in
the touched backend paths so the knowledge pipeline stays warning-free.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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>