04/23 Enhance app functionalities 2
This commit is contained in:
@@ -222,7 +222,7 @@ Password strength: PW_MIN_LENGTH=8, requires upper + digit + special char
|
||||
- last_sent_date in-memory (resets on restart)
|
||||
- start() / stop() called from app.py on login/logout (admin only)
|
||||
|
||||
### views/ai_summary_view.py *(NEW)*
|
||||
### views/ai_summary_view.py
|
||||
AI-powered document analysis panel. Accessible from the sidebar for both admin and user roles.
|
||||
|
||||
Key internals:
|
||||
@@ -238,6 +238,15 @@ Key internals:
|
||||
Key Deadlines & Action Items
|
||||
- Groq API key stored DPAPI-encrypted in config.ini [groq] section
|
||||
- max_tokens=4096; temperature=0.2; MAX_CHARS_PER_FILE=14,000
|
||||
- **Evaluation Criteria panel** (collapsible): admin can add/edit/delete criteria;
|
||||
users see read-only list. Active criteria are appended to the AI prompt as an
|
||||
alignment evaluation section. The AI outputs RECOMMENDATION: PURSUE/PASS/UNCLEAR
|
||||
which is parsed and displayed as a colour-coded verdict banner.
|
||||
- **History tab**: every analysis is saved to ai_analysis_log (with verdict + criteria
|
||||
snapshot). History treeview is filterable by verdict. Double-click restores full
|
||||
output in the Analyze tab. Admins see all users; regular users see only their own.
|
||||
- CriterionDialog has a live character counter with 500-char soft limit guidance.
|
||||
- URL open and health-check probe both guarded by _validate_and_normalise_url.
|
||||
|
||||
.doc reading (legacy binary Word format) — 3-tier fallback:
|
||||
1. win32com (Word COM automation — requires MS Word installed)
|
||||
@@ -335,6 +344,10 @@ Websites and Shifts: is_active=0. Users: hard-delete (admin can deactivate first
|
||||
| utils/crypto.py | _ITERATIONS | 100,000 |
|
||||
| ai_summary_view.py | MAX_CHARS_PER_FILE | 14,000 |
|
||||
| ai_summary_view.py | _OFFICE_ADDRESS | "2815 Hartland Road, Falls Church, VA 22043, USA" |
|
||||
| ai_summary_view.py | CriterionDialog._DESC_SOFT_LIMIT | 500 (chars, soft guidance only) |
|
||||
| app.py | App._IDLE_THROTTLE_S | 5.0 (seconds between Motion-event timer resets) |
|
||||
| admin_users_view.py | _PasswordResetDialog._AUTO_CLOSE_S | 120 (seconds before auto-close) |
|
||||
| admin_users_view.py | _PasswordResetDialog._CLIP_CLEAR_S | 30 (seconds before clipboard wipe) |
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user