- openclaw_daily/apps.py ready(): monkey-patch admin.site.get_urls() to add
daily/ and daily-reports/ URLs under admin namespace (admin: prefix)
- admin_custom_site.py: simplified (no custom site needed)
- Revert urls.py to use default admin.site
- URL now correctly resolves as admin:openclaw_daily_report_detail
- urls.py: add daily/ and daily-reports/ URL patterns directly
- admin_new_views.py: use admin.site.each_context for full admin context
- openclaw_daily apps.py: monkey-patch admin.site.get_app_list to inject
Daily Reports item into sidebar app list (no circular import issues)
- Create openclaw_daily app (no models, just app config)
- Override get_app_list() in OpenClawAdminSite to inject Daily Reports item
- Use get_app_list approach (not nav-sidebar template override)
- Inject at top of app list for visibility
- Create OpenClawAdminSite (openclaw_admin) with Daily Reports menu in sidebar
- Re-register Session/Message/ToolCall with custom site
- Add daily/daily-reports URLs at AdminSite level
- Override admin/index.html template for sidebar item
- Use self.admin_view (not admin.site.admin_view) for site-aware view wrapping
- Clean up admin.py: remove inline URLs from SessionAdmin (now at site level)
- New daily_report_list_view at /admin/openclaw/session/daily-reports/
- Shows (agent, date) combos with message/session counts
- Filter by agent name and date range
- Click date to enter detail page
- New daily_report_detail_view at /admin/openclaw/session/daily-reports/<agent>/<date>/
- Shows all messages for that agent on that date
- Full message content, tool calls, arguments, results
- Session metadata header per session
- Added django.contrib.humanize for intcomma template filter
- Message list now shows agent_name via get_agent_name method
- New scripts/export_agent_daily.py for agent daily message export
- Accepts --agent and --date (YYYY-MM-DD) arguments
- Focuses on messages within target date (session may span multiple days)
- Outputs Markdown with session info, messages, tool calls
Add hypertable migration that only runs on PostgreSQL (no-op for SQLite dev/tests).
Update README with architecture, quick start, and client sync instructions.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>