wangwei
074800b741
feat: add history report switcher dropdown in report detail view
2026-06-17 10:35:56 +08:00
wangwei
3019390592
feat: add export-to-PDF via browser print with @media print CSS
2026-06-17 10:28:01 +08:00
wangwei
ca01e44ad2
feat(webapp): add session persistence via URL hash routing + sessionStorage
...
- app.js: hash-based router (#runs / #new / #profiles / #report/{runId})
- navigate() pushes history entries for back/forward support
- _restoreSession() reads hash on load and popstate
- sessionStorage fallback for same-tab refreshes
- run-card highlights selected run (.run-card.selected)
- runner.js: use App.navigate() for report redirect; persist lastRunId to sessionStorage
- index.html: report nav button starts disabled (enabled on run select/restore)
- app.css: .run-card.selected with petrol border + ring
Co-Authored-By: Claude <noreply@anthropic.com >
2026-06-16 17:55:07 +08:00
wangwei
1a2cc534b8
feat(webapp): add optimization advice section to report UI
...
- index.html: add section ⑤ advice block (hidden by default, shown when advice_markdown present)
- report.js: add renderAdvice() called in render(), simple Markdown→HTML converter
- app.js: add noise_sensitivity / factual_correctness / semantic_similarity to shortMetric map
- app.css: add .advice-panel, .advice-badge, .advice-md styles (purple left-border theme)
Co-Authored-By: Claude <noreply@anthropic.com >
2026-06-16 17:26:37 +08:00
wangwei
dc8baf8662
feat: add LLM配置 management page (profiles view)
2026-06-16 16:25:20 +08:00
wangwei
e89695e490
Add RAGAS evaluation web console (FastAPI + vanilla JS)
...
- webapp/: FastAPI backend with runs/scenarios/evaluations API routers;
services for run_reader, report_builder, scenario_scanner, task_manager
(lazy ragas import — server boots even without ragas); Pydantic models
- webapp/static/: single-page console (layout A: left-nav + main area);
report detail with metric cards, Chart.js distribution histogram,
grouping table, lowest-score sample review; trigger evaluation + log polling
- webmain.py: uvicorn entry point (alongside existing main.py CLI)
- start.bat: Windows one-click launcher with env checks and auto-browser open
- rag_eval/datasets/: implement missing loader + normalizer modules
(load_dataset_records, normalize_records) required by evaluator
- scripts/seed_sample_run.py: generate realistic demo run artifacts
- .gitignore: exclude datasets/ data files but keep rag_eval/datasets/ source
Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com >
2026-06-15 15:53:57 +08:00